Вниз
Скачать: CL | DM;

Что-то вроде 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-64489
Filippov Stas
2002-04-21 00:27
2002.05.20
Функции в SQL.


1-64701
Ser_Kham1
2002-05-06 10:37
2002.05.20
математика


1-64582
kingdom
2002-05-07 13:29
2002.05.20
Как пользоваться TService ?


6-64764
Viksoft
2002-03-07 17:17
2002.05.20
Как узнать IP адрес Proxy сервера в локальной сети?


14-64840
phantom2040
2002-04-09 08:38
2002.05.20
Программа для создания инсталяций




   Наверх