Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Читання значень з ini файлу Знайти схожі гілки


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

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

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

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

Спасибо.



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]

Майстри!

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



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]

Відноситься до

TIniFile object

Декларація

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

опис

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]

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



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

Ne znay kak vse,a ia delay tak:


procedure CorrectStrings(var Data: TMemo);
починати
i:= 0;
while i < Data.Lines.Count do begin
Data.Lines[i]:= Data.Lines.Values[Data.Lines.Names[i]];
Inc (i);
end;
end;

починати
намагатися
LogFile := TIniFile.Create(LogName);
with LogFile as TIniFile do begin
ReadSectionValues("Section Name", Memo1.Lines);
CorrectStrings(Memo1.Lines);
крім
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);
було
i, j: integer;
TempString: string;
DataStrings: TStrings;
//////////////////
a potom vse ostalnoe



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

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

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

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

[розділ]

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;
було
sIniFile: TIniFile;
sPath: string[60];
сопзЬ
S = "не могу прочитать файл";
починати
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 вся гілка

Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.87 MB
Час: 0.034 c
6-22312
Левіафан
2001-10-15 00:24
2002.01.08
Гей, хто розбирається в Indy? Потрібна допомога!


1-22207
Delphimun
2001-12-15 10:00
2002.01.08
Як вкомпільовані кілька файлів в один exe


1-22135
DerZky
2001-12-19 19:51
2002.01.08
Як перенести файл, що запускається в іншу папку?


6-22301
Китаєць Що За
2001-10-10 14:45
2002.01.08
Склерозік чи що?


14-22412
fishka
2001-11-12 14:50
2002.01.08
Компоненти і їх розташування для зручності оператора (Delphi 3)





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в&#39;єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська