Главная страница
    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.009 c
1-64711
IDL
2002-05-06 19:36
2002.05.20
Нужен элемент baloon


3-64484
Hamster
2002-04-21 08:28
2002.05.20
Максимальное кол-во user ов в IB....


6-64758
Landgraph
2002-02-01 13:11
2002.05.20
Прокся...


1-64683
Ivan Kohut
2002-05-06 11:56
2002.05.20
Вопрос о сервисах.


1-64645
Riko
2002-05-07 15:33
2002.05.20
Поочередное выполнение функций...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский