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

Вниз

Как в TMemo1 удалять все строки начинающиеся с #   Найти похожие ветки 

 
OGR ©   (2002-01-28 00:13) [0]

Подскажите пожайлуста....
Как в TMemo1 удалять все строки начинающиеся с символа # ?
Спасибо.


 
Jano ©   (2002-01-28 02:51) [1]


I := 1;
while I <= Memo1.Count do begin
if Memo1.Lines.Strings[I][1] = "#" then
Memo1.Lines.Delete(I - 1)
else
Inc(I);
end;


 
panov ©   (2002-01-28 07:10) [2]

>Jano © (28.01.02 02:51)
Неправильно. В цикле возникнет ошибка (index of bound).
Правильно так:

for i := 0 to Memo1.Count-1 do
begin
if Memo1.Lines[i][1] ="#" then Memo1.Lines.Delete(i);
end;


 
Mbo ©   (2002-01-28 07:33) [3]

неправильно ;(

у panov © надо исправить первую строку
for i := Memo1.Count-1 DOWNTO 0 do

у Jano
I := 0;
while I < Memo1. Lines.Count do begin
if Memo1.Lines[I][1] = "#" then
Memo1.Lines.Delete(I)
else
Inc(I);
end;




 
Mbo ©   (2002-01-28 07:41) [4]

sorry, в варианте с for
for i := Memo1.Lines.Count-1 DOWNTO 0 do
...
причем этот способ несколько быстрее для больших списков
(меньшие количества памяти сдвигаются с помощью Move при Delete)


 
panov ©   (2002-01-28 07:44) [5]

Да уж, прошу прощения за море очепяток.
Спасибо Mbo за вовремя внесенные исправления:-)


 
Anatoly Podgoretsky ©   (2002-01-28 09:08) [6]

И все равно не совсем правильно, будет ошибка если Length(Memo1.Lines[I][1])<1
Надо или проверку длины или POS()=1



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
6-32312
Александр_1
2001-11-16 00:33
2002.02.11
Трафик


1-32212
Сержик
2002-01-25 09:26
2002.02.11
Как сделать чтобы


1-32265
Zuvom
2002-01-25 13:34
2002.02.11
Копирование из файла в файл


3-32115
Alex SW
2002-01-15 10:23
2002.02.11
Проблема с InterBase 6


1-32245
Sasha2
2002-01-27 00:12
2002.02.11
Как удалить выделенную запись из Tstringgrid?