Вниз
Скачать: 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
4-64886
socket
2002-03-15 22:11
2002.05.20
Хук на GETMESSAGE


1-64627
фл
2002-05-07 17:40
2002.05.20
Никак не получается в *.xls запихнуть гиперссылку


14-64805
Alexander Vasjuk
2002-04-10 19:57
2002.05.20
Помогите найти изображение Фемиды


1-64662
ASM
2002-05-05 14:43
2002.05.20
Вопрос по Splitter у


14-64827
SPeller
2002-04-11 01:36
2002.05.20
Библиотека RAR




   Наверх