منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "Main";
الأرشيف الحالي: 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]

إلى 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)؛
الغاية؛
الغاية؛

بدأ
محاولة
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);
الغاية؛
الغاية؛



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];
CONST
S = "не могу прочитать файл";
بدأ
GetDir(0, sPath);
sIniFile := TIniFile.Create(FName);
Result := sIniFile.ReadString(ASection, AString, S);
sIniFile.Free;
الغاية؛



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

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



صفحات: 1 فرع كامل

المنتدى: "Main";
الأرشيف الحالي: 2002.01.08;
تنزيل: [xml.tar.bz2];

الطابق العلوي









الذاكرة: 0.61 ميغابايت
الوقت: 0.031 ج
4-22469
Zibaro
2001-11-01 19:38
2002.01.08
صورة في القائمة المنبثقة (من زر


3-21929
@ أندرو
2001-12-04 11:38
2002.01.08
مرحبا الجميع! أنا أصنع مجلة. أين المهمة ...


14-22337
الكسندر
2001-11-05 13:20
2002.01.08
خادم الطباعة DP-101 (D-Link) والطباعة من تحت DOS


3-21897
MaksB
2001-11-27 14:33
2002.01.08
DBMS ذاكرة التخزين المؤقت


1-22186
ShnurO.K.
2001-12-15 23:05
2002.01.08
كيف أخفي برنامجي عند الضغط على Alt + Ctrl + Del؟





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch أنجليزي الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский