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

Вниз

Как удалить пустые строки из Memo?   Найти похожие ветки 

 
Roun   (2007-08-07 16:08) [0]

Сохраняю содержимое Memo в txt-файл.
Как сделать, чтобы при сохранении, пустые строки автоматически удалялись?

Строка_1
Строка_2
Строка_3
               <--удалить
Строка_5
Строка_6


 
Tack ©   (2007-08-07 16:18) [1]

Перебрать все строки (Memo1.Lines) с конца (for i := Memo1.Lines.Count - 1 downto 0 do ...). Если встречаем строку (Memo1.Lines[i]), которая пустая ( = "" ), то удаляем ее по Memo1.Lines.Delete(i)


 
tesseract ©   (2007-08-07 16:21) [2]

Вроде этого - набросано за пару секунд, может не работать.

count:=0;
repeat
if length(memo1.lines[count]) =0
 then memo1.lines.delete(count)
else
inc (count)
until (count<>memo1.lines.count);


 
Германн ©   (2007-08-07 16:35) [3]


> Roun   (07.08.07 16:08)
>
> Сохраняю содержимое Memo в txt-файл.
> Как сделать, чтобы при сохранении, пустые строки автоматически
> удалялись?
>

Не записывать пустые строки в txt-файл.


 
tesseract ©   (2007-08-07 16:38) [4]


> Не записывать пустые строки в txt-файл.


он через SaveTofile наверно пишет.


 
Германн ©   (2007-08-07 17:19) [5]


> он через SaveTofile наверно пишет.
>

Тогда сабж
> Как сделать, чтобы при сохранении, пустые строки автоматически
> удалялись?

решения не имеет.


 
Anatoly Podgoretsky ©   (2007-08-07 19:47) [6]


> repeat
> if length(memo1.lines[count]) =0

Так не надо делать, по сути три ошибки

1. memo1.lines.count может быть равно нулю, хорошо если повезет и вылетим по ошибке

2. Length для строки хотя бы с одним пробелом будет больше нуля

3. until (count<>memo1.lines.count); выполнится только один или два раза. А если поставить until (count = memo1.lines.count); то риск зацикливания приближается к единице при count = 0


 
Roun   (2007-08-07 21:19) [7]

Подводя итоги Вашим советам получается:
for i := Memo1.Lines.Count - 1 downto 0 do
 if Memo1.Lines[i]="" then Memo1.Lines.Delete(i);
if Memo1.Lines.Count>0 then

и дальше SaveTofile

Так получается?


 
Германн ©   (2007-08-07 21:43) [8]


> Так получается?
>

А самому проверить лень?


 
Roun   (2007-08-07 21:57) [9]

> А самому проверить лень?

Предлагаешь действовать методом тыка? По принципу: «работает – значит правильно»?
Обычно, любую задачу сначала решают на черновике (на листке бумаги), а только потом оформляют.


 
MetalFan ©   (2007-08-07 22:05) [10]


> Обычно, любую задачу сначала решают на черновике (на листке
> бумаги), а только потом оформляют.

ну так решай, кто тебе мешает?
если не можешь решить на бумаге, то остается методом тыка. и в этом нет ничего страшного имхо.


 
{RASkov} ©   (2007-08-08 00:29) [11]

> [7] Roun   (07.08.07 21:19)
> Так получается?

Если пробелы - это не "пустая строка", то так [7] или так:
while Pos(#13#10#13#10, Memo1.Text)>0 do
 Memo1.Text:=StringReplace(Memo1.Text, #13#10#13#10, #13#10, [rfReplaceAll]);


Иначе в [7] if Trim(Memo1.Lines[i])="" then...
Можно и еще как нибудь придумать.... этж программирование, как запрограммируешь так и будет.



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

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

Наверх




Память: 0.47 MB
Время: 0.034 c
15-1185554920
oxffff
2007-07-27 20:48
2007.09.02
Second Life, Second Chance for CodeGear


4-1173790118
cherrex
2007-03-13 15:48
2007.09.02
Show Window Content With Dragging Effect Enabled


2-1186414603
wazaaa
2007-08-06 19:36
2007.09.02
Как спрятать уже открытое окно ?


2-1186488500
Roun
2007-08-07 16:08
2007.09.02
Как удалить пустые строки из Memo?


2-1186744190
mfender
2007-08-10 15:09
2007.09.02
TADOQuery и его соедитение с БД





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