Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Delphi - Система _ Проблема с разделителем строк

Автор: Ash_Comp 23:03:2008, 14:16

Проблемка в следующем:
Работаю с INI-файлами, а там параметр записывается сплошной строкой. Нужно считывать текст в RichEdit и наоборот -- записывать в файл. Всё работает, но если текст многострочный, появляется потребность в разделителе строк. Поглумившись, было придумано следующее:

CODE
i := Pos(#3, str);
while i > 0 do
begin
str[i]:=#13;
i := Pos(#3, str);
end;
Form3.sRichEdit1.Text := str;

Т.е. код перевода строки #13 заменил на #3. При записи в файл -- обратная замена:
CODE
ci := Pos(#13, buf);
while ci > 0 do
begin
buf[ci]:=#3;
Delete(buf,ci+1,1);
ci := Pos(#13, buf);
end;

Встаёт проблема: при многократной записи в файл затираются символы от начала каждой строки, начиная со второй.
Какие будут советы? Ну очень не хочется переходить к БД, всё летает на INI-файлах rolleyes.gif

Автор: zubr 23:03:2008, 17:24

Вместо ini-файлов пользуй XML и не нужно будет этих извратов.

Автор: Ash_Comp 24:03:2008, 17:34

Тогда неплохо бы посоветовать литературу по использованию таких файлов, а то мне это немного HTML напомнило unsure.gif Подкините пример/ ссылку? А может ещё будут предложения?

Автор: zubr 24:03:2008, 18:18

Хмм... я в свое время по MSDN изучал. Могу посоветовать:
1. Импортировать библиотеку типов Microsoft XML
2. В msdn посмотреть описание и примеры с интерфейсами IXMLDOMDocument2, IXMLDOMNodeList, IXMLDOMNode и т. д.
3. Также рекомендую скачать DRKB http://www.drkb.ru/ - там думаю найдешь и пример использования MXML в Delphi.

Автор: Ash_Comp 24:03:2008, 20:06

Спасибо, попробую поковырять.

Автор: sax_ol 25:03:2008, 06:28

Ash_Comp
В стандартной поставке на страничке Internet есть TXMLDocument. На первое время вам "хватит за глаза".

Автор: Ash_Comp 25:03:2008, 13:16

Благодарю, ознакомлюсь и с этим компонентом.

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)