|
#1
|
|||
|
|||
Цикл по ListBox
Здравствуйте, на форме три ListBox, нужно сделать так:
первая строка из ListBox1 ищется во всех строках ListBox2 и если находится совпадение, то совпавшая строка из ListBox2 копируется в ListBox3. И так проверяются все строки из ListBox1. Пробую так: Код:
For i:=0 to Lb1.Items.Count-1 do For i1:=0 to Lb2.Items.Count-1 do if pos(Lb1.Items[i],Lb2.Items.Strings[i1])>0 then Lb3.Items.Add(Lb2.Items.Strings[i1]); Всё работает, но только на компе, запускаю тоже самое на ноутбуке (и не на одном) и почти все строки из ListBox2 оказываются в ListBox3. Не могу понять в чем причина. Подскажите пожалуйста. |
#2
|
||||
|
||||
Используйте IndexOf(), достаточно будет одного цикла.
Код:
... for i:= 0 to ListBox1.Items.Count - 1 do if ListBox2.Items.IndexOf(ListBox1.Items.Strings[i] > -1) then ListBox3.Ints.Add(ListBox1.Items.Strings[i]); ... Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |