Головна сторінка
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.62 MB
Час: 0.029 c
1-22039
Yuri Btr
2001-12-18 10:46
2002.01.08
Форма


7-22421
Shen
2001-08-28 15:05
2002.01.08
Закачування даних через com порт


7-22450
FSP
2001-09-21 22:32
2002.01.08
СВоарчіваніе проги в систем трей.


1-22013
Цікавий
2001-12-17 12:53
2002.01.08
Запуск EXE з поточної програми.


3-21901
переможець
2001-12-06 09:46
2002.01.08
проблема з видаленням записів





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