![]() |
|
|
|
|
#1
|
|||
|
|||
|
Здравствуйте, на форме три 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]);
... |