Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

Lendo valores do arquivo ini Encontre agências semelhantes


ходячий вопросник   (2001-12-15 08:50) [0]

Доброе время суток...

ReadSectionValues: он читает значения ключей в секциях, или значения ключей в секциях вместе с ключами?

Если второе то как сотворить первое?...

Obrigado.



Anatoly Podgoretsky   (2001-12-15 11:59) [1]

есть стоячий вопросник, хелп называется, ходить не пробовал, сходи очень помогает.



ходячий вопросник   (2001-12-15 12:18) [2]

Толя, миленький, шибко умным себя считаете?!

1. Мож я не так вопрос задал... Перезадам: Что именно читает ReadSectionValues???

2. Выдержка из хелпа:

Reads the values from all keys within a section of an INI file into a string list.

procedure ReadSectionValues(const Section: string; Strings: TStrings); override;

Поясняю: Читает значения ВСЕХ КЛЮЧЕЙ в секции из файла типа INI в String List.

Так вот мне считывает значения С ключами, а мне надо БЕЗ ключей.



evgeg   (2001-12-15 12:24) [3]

А попробовать и посмотреть, что получится, слабо?



ходячий вопросник   (2001-12-15 12:32) [4]

evgeg в каком смысле?
Третий день пробую...



ходячий вопросник   (2001-12-15 14:41) [5]

Mestres!

Чего на такой вопрос ответить не можете?



Eduard   (2001-12-15 14:42) [6]

А я вот за 3 минуты попробовал, и сделал вывод, что ReadSectionValues читает значения вместе с ключами :)



ходячий вопросник   (2001-12-15 14:46) [7]

Eduard,что С КЛЮЧАМИ -говорю - третий день бьюсь, а БЕЗ КЛЮЧЕЙ???



ходячий вопросник   (2001-12-15 14:47) [8]

Просто глянь в мое цитирование HELP"a: там же черным по белому (в HELP"e) написано: значения ключей, а не строки секций???

Может другая функция есть?



Anatoly Podgoretsky   (2001-12-15 15:10) [9]

TStrings help (F1 ведь советовал же)
Names, Values

"Толя, миленький, шибко умным себя считаете?!" это потому что помню волшебную кнопку F1



ходячий вопросник   (2001-12-15 15:14) [10]

Анатолий, так получается, что я эту волшебную кнопку не помню?!
Функцию я где по-ващему вытащил?
Наверняка перлопатил пол-хелпа!



Anatoly Podgoretsky   (2001-12-15 15:43) [11]

Значит очень плохо смотрел, достаточно одной табулетки



evgeg   (2001-12-15 15:49) [12]

Aplica-se a

TIniFile object

Declaração

procedure ReadSectionValues(const Section: string; Strings: TStrings);

Descrição

The ReadSectionValues method reads all the variables and their values of an entire section of an .INI file into a string object. You can then use the Values property of string and string list objects to access a specific string in the list of strings.

Это выдержка из help-а для Дельфи 2. В ней содержатся ответы на все твои вопросы.
А у тебя какая версия Дельфи?



ходячий вопросник   (2001-12-15 17:47) [13]

para evgeg:
Вообще то обычно D5 Enterprise юзаю, редко D3.



stasev   (2001-12-16 11:29) [14]

Ne znay kak vse,a ia delay tak:


procedure CorrectStrings(var Data: TMemo);
começar
i:= 0;
while i < Data.Lines.Count do begin
Data.Lines[i]:= Data.Lines.Values[Data.Lines.Names[i]];
Inc (i);
end;
end;

começar
tentar
LogFile := TIniFile.Create(LogName);
with LogFile as TIniFile do begin
ReadSectionValues("Section Name", Memo1.Lines);
CorrectStrings(Memo1.Lines);
exceto
MessageDlg("Error reading MAP file !", mtError, [mbOk], 0);
end;
end;



stasev   (2001-12-16 11:32) [15]

v samom nachale zabil :)

procedure TfmMainEdit.OpenLog(LogName: string);
var
i, j: inteiro;
TempString: string;
DataStrings: TStrings;
//////////////////
a potom vse ostalnoe



Digitman   (2001-12-17 13:57) [16]

>ходячий вопросник

"Так вот мне считывает значения С ключами, а мне надо БЕЗ ключей."

структура INI-файла :

[seção]

Key1 = Value1
Key2 = Value2
...
KeyN = ValueN

слева от знака "=" - имена ключей, справа - значения ключей. Не будет знака "=" - получишь как раз то, что ты получаешь (имена ключей в секции и их значения считываются вместе). А иначе как системе определить, где кончается имя ключа и начинается строковое представление его значения ?
При соблюдении формата INI-файла ф-ция ReadSectionValues() ДОЛЖНА прочитать в заранее подготовленный объект TSringList ТОЛЬКО значения ключей в указанной секции ! А для чтения списка ключей в секции предусмотрена совсем другая ф-ция - ReadSection(). И, если нет разделителей между ключами и значениями, ReadSection() вернет тебе тот же "бред", что и при вызове ReadSectionValues()



Дмитрий Д.   (2001-12-17 14:42) [17]

готовое решение:
//пример использования
//edit1.Text:=ReadIni("my.ini","section 1", "value1");

function ReadIni(FName, ASection, AString: string): string;
var
sIniFile: TIniFile;
sPath: string[60];
const
S = "не могу прочитать файл";
começar
GetDir(0, sPath);
sIniFile := TIniFile.Create(FName);
Result := sIniFile.ReadString(ASection, AString, S);
sIniFile.Free;
end;



Digitman   (2001-12-17 15:01) [18]

Прошу прощения за искажение истины. ReadSectionValues() действительно читает строку "Key = Value" целиком. Для работы отдельно со значениями ключей можно воспользоваться объектом класса TMemo. Его метод Lines.Values() позаоляет получить значение ключа по его имени (т.е. TMemo реализует ф-цию простейшего парсера записей а-ля ключ INI-файла)



Страницы: 1 filial inteira

Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.87 MB
Hora: 0.054 c
1-22020
Leo ^ Sun
2001-12-18 07:08
2002.01.08
TMemo


6-22303
maxi
2001-10-11 18:03
2002.01.08
O cliente DCOM não vê o servidor DCOM em máquinas diferentes.


3-21988
Andrew
2001-11-29 22:16
2002.01.08
SQL


7-22430
AlexK
2001-09-21 12:28
2002.01.08
fechadura com chave


3-21939
SAN
2001-12-04 16:01
2002.01.08
MSSQL





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russa sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol