Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

Сохранение ListBox со сложными строками   Найти похожие ветки 

 
Pavelkq   (2008-03-21 14:24) [0]

Пытаюсь сохранить ListBox:
ListBox1.Items.SaveToFile(Filename);
Затем читаю:
ListBox1.Items.LoadFromFile(Filename);
Если в строке содержится обычный текст, то все работает корректно. Но у меня иногда бывают строки с символами переносом строки (типа: "фыва#13фыва"). Тогда при чтении в листбокс попадает только первая часть переменной. Вторая часть попадает уже на следующий элемент. Как проще это устранить?


 
Jeer ©   (2008-03-21 14:26) [1]

Заменить CRLF на пробел в каждом item


 
Сергей М. ©   (2008-03-21 14:27) [2]


> Как проще это устранить?


Перед сохранением замени все CR в каждой строке списка на, например, символ с кодом $A0

После загрузки выполни обратную замену.


 
Pavelkq   (2008-03-21 14:29) [3]

Тогда при сопоставлении с исходным текстом совпадение не будет найдено.
Кстати, при чтении стандартными ReadLn(F,s) из сохраненного файла именно такая замена и происходит.


 
Сергей М. ©   (2008-03-21 14:29) [4]


> Jeer ©   (21.03.08 14:26) [1]


Потом сложно (если вообще возможно) будет отличить настоящий пробел от "липового".

$A0 будет понадежней - он во многих фонтах выглядит как пробел, естественно таковым не являясь.


 
Jeer ©   (2008-03-21 14:33) [5]

Держать в стринге то, что на самом деле является multiline text - явно технологическая недоработка.


 
Сергей М. ©   (2008-03-21 14:36) [6]


> Jeer ©   (21.03.08 14:33) [5]


Бесспорно.
Но если уж вляпался и назад пути нет, то приходится как-то выкручиваться)


 
Jeer ©   (2008-03-21 14:40) [7]

Как мы с тобой понимаем, путей, на самом-то деле, даже не два - намного больше, но проблема в штурмане.:)


 
Сергей М. ©   (2008-03-21 14:44) [8]

Согласен)


 
Pavelkq   (2008-03-21 14:51) [9]

Ура! $A0 не прокатил, но последовательность спецсимволов #!# (которая вряд ли встретится в текстовом файле) вполне подошла. Поюзал функцию StringREplace. Спасибо за идею!


 
Palladin ©   (2008-03-21 15:00) [10]

угу, а когда встретится, ты воскликнешь

"Ура! $A0 не прокатил, и #!# тоже, но последовательность спецсимволов #!!# (которая вряд ли встретится в текстовом файле) вполне подошла. Поюзал функцию StringREplace. Спасибо за идею!
"


 
{RASkov} ©   (2008-03-21 15:18) [11]

> [10] Palladin ©   (21.03.08 15:00)

Через пять лет:
"Ура! $A0 не прокатил, и #....# тоже, но последовательность спецсимволов ###!!!##!!#!#!!##!!!### (которая вряд ли встретится в текстовом файле) вполне подошла. Поюзал функцию StringREplace. Спасибо за идею!
"


 
Palladin ©   (2008-03-21 15:20) [12]

ну я на это и намекал :)


 
Jeer ©   (2008-03-21 15:28) [13]


> {RASkov} ©   (21.03.08 15:18) [11]


:)))
но спустя .... тоже не подошла, вот тогда вставил текст книжечки "Война и мир" и проблем пока нет.



Страницы: 1 вся ветка

Текущий архив: 2008.04.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
2-1206330334
Xmen
2008-03-24 06:45
2008.04.20
Запрос по соединению данных.


2-1206110551
Res
2008-03-21 17:42
2008.04.20
эмуляцие нажатия


2-1206621832
Азамат
2008-03-27 15:43
2008.04.20
Обработка событий


2-1206423702
ganda
2008-03-25 08:41
2008.04.20
Подскажите компонент который без проблем работает с dbf


15-1204885877
Юрий Лосев
2008-03-07 13:31
2008.04.20
Найти количество нулевых бит в строке