![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение ListBox со сложными строками [D6, XP]
Pavelkq © (2008-03-21 14:24:00)Пытаюсь сохранить ListBox:
ListBox1.Items.SaveToFile(Filename);
Затем читаю:
ListBox1.Items.LoadFromFile(Filename);
Если в строке содержится обычный текст, то все работает корректно. Но у меня иногда бывают строки с символами переносом строки (типа: 'фыва#13фыва'). Тогда при чтении в листбокс попадает только первая часть переменной. Вторая часть попадает уже на следующий элемент. Как проще это устранить?
Jeer (2008-03-21 15:28:00) [1]
> {RASkov} © (21.03.08 15:18) [11]
:)))
но спустя .... тоже не подошла, вот тогда вставил текст книжечки "Война и мир" и проблем пока нет.
Palladin (2008-03-21 15:20:00) [2]ну я на это и намекал :)
{RASkov} (2008-03-21 15:18:00) [3]> [10] Palladin © (21.03.08 15:00)
Через пять лет:
"Ура! $A0 не прокатил, и #....# тоже, но последовательность спецсимволов ###!!!##!!#!#!!##!!!### (которая вряд ли встретится в текстовом файле) вполне подошла. Поюзал функцию StringREplace. Спасибо за идею!
"
Palladin (2008-03-21 15:00:00) [4]угу, а когда встретится, ты воскликнешь
"Ура! $A0 не прокатил, и #!# тоже, но последовательность спецсимволов #!!# (которая вряд ли встретится в текстовом файле) вполне подошла. Поюзал функцию StringREplace. Спасибо за идею!
"
Pavelkq (2008-03-21 14:51:00) [5]Ура! $A0 не прокатил, но последовательность спецсимволов #!# (которая вряд ли встретится в текстовом файле) вполне подошла. Поюзал функцию StringREplace. Спасибо за идею!
Сергей М. (2008-03-21 14:44:00) [6]Согласен)
Jeer (2008-03-21 14:40:00) [7]Как мы с тобой понимаем, путей, на самом-то деле, даже не два - намного больше, но проблема в штурмане.:)
Сергей М. (2008-03-21 14:36:00) [8]
> Jeer © (21.03.08 14:33) [5]
Бесспорно.
Но если уж вляпался и назад пути нет, то приходится как-то выкручиваться)
Jeer (2008-03-21 14:33:00) [9]Держать в стринге то, что на самом деле является multiline text - явно технологическая недоработка.
Pavelkq (2008-03-21 14:29:00) [10]Тогда при сопоставлении с исходным текстом совпадение не будет найдено.
Кстати, при чтении стандартными ReadLn(F,s) из сохраненного файла именно такая замена и происходит.
Сергей М. (2008-03-21 14:29:00) [11]
> Jeer © (21.03.08 14:26) [1]
Потом сложно (если вообще возможно) будет отличить настоящий пробел от "липового".
$A0 будет понадежней - он во многих фонтах выглядит как пробел, естественно таковым не являясь.
Сергей М. (2008-03-21 14:27:00) [12]
> Как проще это устранить?
Перед сохранением замени все CR в каждой строке списка на, например, символ с кодом $A0
После загрузки выполни обратную замену.
Jeer (2008-03-21 14:26:00) [13]Заменить CRLF на пробел в каждом item