• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Проблема с разделителем строк

  • Автор темы Ash_Comp
  • Дата начала
A

Ash_Comp

Проблемка в следующем:
Работаю с INI-файлами, а там параметр записывается сплошной строкой. Нужно считывать текст в RichEdit и наоборот -- записывать в файл. Всё работает, но если текст многострочный, появляется потребность в разделителе строк. Поглумившись, было придумано следующее:
[codebox]i := Pos(#3, str);
while i > 0 do
begin
str:=#13;
i := Pos(#3, str);
end;
Form3.sRichEdit1.Text := str;[/codebox]
Т.е. код перевода строки #13 заменил на #3. При записи в файл -- обратная замена:
[codebox]ci := Pos(#13, buf);
while ci > 0 do
begin
buf[ci]:=#3;
Delete(buf,ci+1,1);
ci := Pos(#13, buf);
end;
[/codebox]
Встаёт проблема: при многократной записи в файл затираются символы от начала каждой строки, начиная со второй.
Какие будут советы? Ну очень не хочется переходить к БД, всё летает на INI-файлах <_<
 
Z

zubr

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

Ash_Comp

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

zubr

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

Ash_Comp

Благодарю, ознакомлюсь и с этим компонентом.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!