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

Вниз

как бы фильтр в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
3-49875
BlackGrin
2002-04-13 01:15
2002.05.16
Научите mysql +Delphi!


3-49829
aw
2002-04-17 18:42
2002.05.16
Если в SQL функции типа FloatFormat?


7-50138
AiY
2002-02-11 19:46
2002.05.16
вопросик возник


4-50158
Юля_Орлова
2002-03-14 12:29
2002.05.16
архивация в ходе работы программы


1-49913
snoup
2002-04-29 00:15
2002.05.16
Помогите пожалуйста, например я где-то в блокноте или в офисе пиш





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