Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Suchen in Treeview (https://www.delphipraxis.net/113613-suchen-treeview.html)

Delphiturbo 11. Mai 2008 12:13


Suchen in Treeview
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

hier ist ein Demo von mir aber für einen ListBox
Ich möchte den gleichen Code in Treeview verwenden
hier ist der Code :
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
const
  indexStart = -1;
var
  search : array[0..128] of Char;
begin
  //make sure Length(Edit1.Text) <= 128
  StrPCopy(search, Edit1.Text) ;
  ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, indexStart, LongInt(@search)) ;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  search : array[0..128] of Char;
  indexactuell : integer;
begin
indexactuell := Listbox1.Itemindex;

  //make sure Length(Edit1.Text) <= 128
  StrPCopy(search, Edit1.Text) ;
  ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, indexactuell, LongInt(@search)) ;
  indexactuell := indexactuell + 1;
end;
Wie kann ich das in Treeview umsetzen ?
Ich habe ein Tutorial hier aber das das Problem
man muss den Satz komplet eingeben sonst erscheint eine Meldung "nicht gefunden!"
Tutorial

toms 11. Mai 2008 12:16

Re: Suchen in Treeview
 
In dieser Zeile wird ja die Überprüfung gemacht:
Delphi-Quellcode:
if UpperCase(NodeText) = UpperCase(AValue) then
Ersetze sie durch POS().

DeddyH 11. Mai 2008 12:18

Re: Suchen in Treeview
 
Schau doch einfach nach, ob der Text enthalten ist, statt einen Komplettvergleich zu machen(Pos, AnsiContainsText, etc.)

[edit] Ich bin zu langsam :stupid: [/edit]

Delphiturbo 11. Mai 2008 13:14

Re: Suchen in Treeview
 
:!:

Die Muhkuh 11. Mai 2008 13:20

Re: Suchen in Treeview
 
Was soll das jetzt aussagen?

Delphiturbo 11. Mai 2008 22:45

Re: Suchen in Treeview
 
Danke Toms
es funktioniert mit Pos()
Delphi-Quellcode:
if (Pos(UpperCase(AValue)....
ich möchte auch genau wie beim ListBox weitersuchen. also die nächste !

toms 12. Mai 2008 06:42

Re: Suchen in Treeview
 
Zitat:

Zitat von Delphiturbo
ich möchte auch genau wie beim ListBox weitersuchen. also die nächste !

Vorgang: Ermittle den markierten TreeNode.
Falls keiner markiert ist, fängt die Suche beim ersten TreeNode an. (so wie du es jetzt machst)
Sonst fängt die Suche je nach Suchrichtung beim nächsten resp. vorherigen TreeNode an.

(Zu ermitteln mit Treeview1.Selected.GetNext, Treeview1.Selected.GetPrev)

Nuclear-Ping 12. Mai 2008 09:23

Re: Suchen in Treeview
 
Warum sind manche Leute (in dem Fall "Delphiturbo") nur so extrem Begriffsstutzig und unselbständig? Ich kapiers echt nicht ...

Erstens hattest du das Thema bereits selbst schonmal angesprochen und genau das gleiche wie jetzt gesagt bekommen ...
- http://www.delphipraxis.net/internal...tfirst+getnext

... und zweitens hätte dich das Benutzen der [dp="treeview getfirst getnext"]Suchfunktion[/dp] zu genau dieser Lösung geführt. :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz