Entwickler-Ecke

Sonstiges (Delphi) - TListview and FindCaption


hibbert - Do 15.04.04 20:51
Titel: TListview and FindCaption
Hi,
wenn ich einen String in einer Listview suche, dann benutzt man ja am besten Findcaption, doch was gibt Findcaption aus, wenn ein resultat gefunden wurde?

Wenn kein resultat gefunden wurde gibt Findcaption nil aus.

thx hibbert


matze - Do 15.04.04 21:28

ja wenn die caption gefunden wurde wird das listitem zurückgegeben, dass auf die suchanfrage passt.


hibbert - Do 15.04.04 22:13

gut danke, aber ich kann damit leider nicht viel anfangen... :oops:

wie übertrage ich denn zb. das ergebnis in eine listbox ( also die Caption)?

thx hibbert


toms - Do 15.04.04 22:23


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
 ListItem: TListItem;
begin
  ListItem := FindCaption(0,'irgendwas',True, True, True);
  if ListItem <> nil then
    ListBox1.Items.Add(ListItem.Caption);
end;


hibbert - Do 15.04.04 23:57


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var 
 ListItem: TListItem; 
begin 
  ListItem :=Listview1.FindCaption(0,'irgendwas',True, True, True); 
  if ListItem <> nil then 
    ListBox1.Items.Add(ListItem.Caption); 
end;

musste ich noch korrigieren, aber funzt fast so wie ich das will.

Wenn ich Inclusive auf false setze, dann wird ja der Wert angezeigt, der den gesuchten String enthält, aber nicht der String ist, der gesucht ist.

zB.
gesucht: mauer

mauer
mauerblümchen
klagemauer
wecker

Inclusive = false --> mauerblümchen
Inclusive = true --> mauer

Nun möchte ich aber gerne alle Strings erhalten, die den String mauer enthalten.
Gibt es da noch ne Möglichkeit...?

thx hibbert


matze - Fr 16.04.04 10:51

geh alle items des listviews manuell in einer for schleife durch und schau selber nach, ob die caption passt.


hibbert - Fr 16.04.04 14:26

matze hat folgendes geschrieben:
geh alle items des listviews manuell in einer for schleife durch und schau selber nach, ob die caption passt.

also muss ich doch den umstänlichen weg gehen, ich dachte, dass es da noch einen einfacheren Weg mit Findcaption gibt.

aber dann mache ich das halt so.

thx für deine Hilfe.

Hibbert