Форум: "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