Главная страница
    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.053 c
2-1206488896
tim
2008-03-26 02:48
2008.04.20
потоки


2-1206100800
Oleg_teacher
2008-03-21 15:00
2008.04.20
RxRichedit+PopuMenu


15-1204520510
ryden
2008-03-03 08:01
2008.04.20
Помогите найти иконки для прграммы


2-1206252269
Igor23
2008-03-23 09:04
2008.04.20
Активные формы


15-1204562520
necromancer
2008-03-03 19:42
2008.04.20
Взятие информации о проигрываемой музыки





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