Also eine einfache Methode ist die Suche mit
Pos:
Delphi-Quellcode:
// Überprüft, ob in "Item" irgendwo "aText" steht
function ItemHasText(Item: TListItem; const aText: string): boolean;
var i: integer;
begin
result := True;
if Pos(AnsiUpperCase(aText), AnsiUpperCase(Item.Caption)) > 0 then
exit;
for i:=0 to Item.SubItems.Count-1 do
if Pos(AnsiUpperCase(aText), AnsiUpperCase(Item.SubItems[i])) > 0 then
exit;
result := False;
end;
// Durchsucht "aListView" nach "aText"
function FindItemText(aListView: TListView; const aText: string): TListItem;
var i: integer;
begin
for i:=0 to aListView.Items.Count-1 do
begin
result := aListView.Items[i];
if ItemHasText(result, aText) then
exit;
end;
result := nil;
end;
Delphi-Quellcode:
// Aufruf:
procedure TForm1.Button1Click(Sender: TObject);
var FoundItem: TListItem;
begin
FoundItem := FindItemText(ListView1, Edit1.Text);
if not Assigned(FoundItem) then
ShowMessage('Text nicht gefunden')
else
FoundItem.Selected := True;
end;
Ungetestet, einfach mal so eingegeben