Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];

Вниз

Сохранение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.042 c
2-1206126773
smartleds
2008-03-21 22:12
2008.04.20
Как бы из Сендера индекс текущего компонента получить


3-1194961339
Kolan
2007-11-13 16:42
2008.04.20
Как узнать SQL запрос возвращает результат или нет?


2-1206682211
dumka
2008-03-28 08:30
2008.04.20
QReport


2-1206286250
GHT
2008-03-23 18:30
2008.04.20
Условие в SQL запросе: or <--> and


15-1205002553
2лекс
2008-03-08 21:55
2008.04.20
MD5Append





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