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

Вниз

как бы фильтр в ListBox e   Найти похожие ветки 

 
MisterBin ©   (2002-05-01 15:15) [0]

Нужно чтобы если Listbox содержит строки со значением "." и "..", то они оттуда удалялись, а все остальные оставались.


 
VID ©   (2002-05-01 15:30) [1]

...
Var SL:TStringList;
X:Integer;
Begin
SL:=TStringList.Create;
For X := 0 to ListBox1.Items.Count - 1 do
IF (POS (".", ListBox1.ITems.Strings [x])=0) and (POS ("..", ListBox1.ITems.Strings [x])=0) then SL.Add (ListBox1.Items.Strings[x]);

ListBox1.Items.Assign (SL);
SL.Free;
end;


 
Anatoly Podgoretsky ©   (2002-05-01 15:32) [2]

Listbox.Items[].Delete


 
VID ©   (2002-05-01 15:44) [3]

TO Anatoly Podgoretsky :
я тоже так думал, но потом одолели сомнения:
пусть дано:

for x := 0 to listbox1.items.count - 1 do
if listbox1.items.strings[x] = "." then listbox1.items.delete (x);

так вот не возникнет ли ошибки ? Ведь изменяется крайний предел цикла в теле самого цикла...

просто предпочёл указать более "безопасный" вариант...


 
Anatoly Podgoretsky ©   (2002-05-01 16:08) [4]

VID © (01.05.02 15:44)
Конечно возникнет, но кто же так пишет, верная дорога в могилу
Твой первый совет я не видел, но он тоже не хорош
Надо использовать обычный цикл вниз


 
Malder ©   (2002-05-01 16:29) [5]

Мне кажется вы не поняли вопроса. Если опираться на понятия фильтра, то я так себе представляю решение проблемы.
Нужно писать новый TListbox в котором будет событие типа OnAddItems, возникающее при добавлении строки. И в нем нужно проверять: если добавляемая строка "." или ".." то такая строка НЕ добавляется. То есть с помощью items.add и items.insert просто невозможно добавить строку с таким значением.

А если просто не добавлять в ListBox такие значения... то это и ежу понятно, как делать:

if (s<>".") and (s<>"..") then Listbox1.Items.Add(s);


 
Anatoly Podgoretsky ©   (2002-05-01 16:54) [6]

Просто противоречие между темой (фильтр) и объяснением (удаление)


 
VID ©   (2002-05-01 17:21) [7]

TO Song: насчёт "писать новый TListBox" - это перебор... достаточно контролировать добавляемую строку, в той процедуре которая этим и занимается.

А если Items заполняются из файла, то после метода LoadFromFile
вызвать процедуру по корректировке списка.



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
1-50006
Фантом
2002-04-30 18:34
2002.05.16
Как сделать доступными элементы под формой?


1-50038
Demon2000
2002-05-02 11:42
2002.05.16
построение синусоиды


14-50135
igorr
2002-03-30 03:21
2002.05.16
Где скачать Delphi 1?


6-50065
boomer
2002-03-03 10:01
2002.05.16
Sniffer(packet32.dll) получаю я пакеты ф-ей PacketReceivePacket , а как понять какой пакет пришел


1-49988
Дмитрий000
2002-04-30 10:07
2002.05.16
Передача параметров в DLL