Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

Что-то вроде Ini-файла   Найти похожие ветки 

 
GreySerg   (2002-03-18 17:49) [0]

Есть файл (созданный в любом текстовом редакторе)такого вида:



[Base]
Path=MyPath;
username=myusername;
password=mypassword;
[Query]
Text=Query
for my Base;




Он похож на ini-файл, только значение параметра м.б. на нескольких строчках, и разделяются они между собой ;.

Мне нужно просто читать значения из этого файла.

Подскажите, как лучше сделать, изменить структуру TIniFile или создать свой собственный класс или просто написать функцию для чтения такого файла.
Может быть у кого есть готовые решения - пожалуйста, помогите кодом . Время поджимает просто.


 
USAtyj   (2002-03-18 18:44) [1]

Работай как с ини-файлом, тока при записи данных многострочных символ перехода на новую строку заменяй на "|", например, а при считывании - обратно.

[Base]
Path=MyPath;
username=myusername;
password=mypassword;
[Query]
Text=Query|for my Base;


 
MAxiMum   (2002-03-18 19:23) [2]

А ты сам подумай. Нафиг тебе параметр Text. Чиатй сразу раздел Query и записывай туде соответственно с помощью Read/Write|Section.


 
GreySerg   (2002-03-19 12:34) [3]

> USAtyj ©
Такой вариант мне не подходит, так я могу сделать свой редактор и вообще обойтись без | (просто писать в одну строку и анализировать её при считывании)
> MAxiMum ©
при считывании всего раздела, считываются только строки вида
Parameter = Value , т.е. данный способ тоже не работает


 
Виктор Щербаков   (2002-03-19 12:39) [4]

ReadSectionValues


 
GreySerg   (2002-03-19 12:55) [5]

> Виктор Щербаков ©
Вообще-то ReadSectionValues не совсем то, что нужно (обязательно надо чтобы в секции была конструкция вида Parameter = Value, иначе ничего не считает), но подойдёт.
Спасибо.



 
GreySerg   (2002-03-19 13:12) [6]

Извините, сделал поспешные выводы, обязательно надо чтобы в секции на каждой строке была конструкция вида Parameter = Value , иначе строку не считает (мне это не нужно)
Придёться видно писать свой обработчик такого файла (((:


 
DieHard   (2002-03-19 16:17) [7]

А если попробовать считать файл в List:TStringList как есть, а затем преобразовать значения, разбитые на несколько строчек например так:
Text=Query;
for my Base
=>
TextCount=2
Text1=Query
Text2=for my Base

После этого создать объект
MemIni:=TMemIniFile.Create("");
И загрузить в него полученные строки
MemIni.SetStrings(List);
Далее работай, как с обычным Ini-файлом, считывая значение параметра Text в цикле от 1 до TextCount из параметров с именами Text1...TextN (N=TextCount)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
1-64624
Varg
2002-05-08 09:30
2002.05.20
Функция времени работы пользователя


14-64782
vopros
2002-04-05 17:01
2002.05.20
Как сделать ей предложение сегодня вечером?


1-64594
rem_
2002-05-07 17:58
2002.05.20
Отладка DLL


1-64723
BAHO
2002-05-04 04:20
2002.05.20
Помогите - ListView !!!


14-64799
Vovik
2002-04-10 15:37
2002.05.20
народ, помогите с ISQ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский