Was ich nicht verstehe: Einerseits schreibst du, du möchtest alle gefundenen Einträge, andererseits brichst du beim ersten gefundenen Eintrag ab in der while-Schleife...
Wie wärs einfach so (auch was die Einrückung angeht...):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var i: Integer; Suchwort: String; begin ListBox1.MultiSelect := true; ListBox2.Clear; Suchwort := InputBox('Suchen Sie nach einem Merkmal', 'Wonach soll gesucht werden ?', ''); if Suchwort <> '' then begin for i := 0 to ListBox1.Count - 1 do if Pos(Suchwort, ListBox1.Items[i]) > 0 then begin ListBox1.Selected[i] := true; ListBox2.Items.Add(ListBox1.Items[i]); end; if ListBox1.SelCount = 0 then ShowMessage('Suchwort nicht gefunden'); end; end; |