AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

im TreeView suchen

Ein Thema von sBorchert · begonnen am 16. Feb 2005 · letzter Beitrag vom 24. Feb 2005
Antwort Antwort
sBorchert

Registriert seit: 8. Feb 2005
Ort: Kusey
7 Beiträge
 
#1

im TreeView suchen

  Alt 16. Feb 2005, 16:08
Moin!
Wie kann ich denn in einem TreeView suchen? Speziell möchte ich alle Elemente mit einem bestimmten Text im Namen ausgeben (in eine Liste einfügen oder markieren, ist ganz egal). Und alle Elemente einzeln durchgehen ist ein wenig umständlich. Gibt es da keine eingebaute Funktion, also so etwas: treeview.FindItems('test*')?

schöne Grüsse,

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: im TreeView suchen

  Alt 16. Feb 2005, 16:13
ich kenn da keine funktion. Du wirst wohl nicht umhinn kommen dir selbst eine funktion zu schreiben. Da es sich um eine Baumstruktur handelt wäre da eine rekursive suche zu empfehlen.
Pseudo-Code
Code:
function SucheItems(ParentItem)
begin
  if ParentItem.Text = gesuchterText then
    ParentItem.Text zu Liste hinzufügen
  für Alle Unteritems
    SucheItems(UnterItem[UnteritemIndex]);
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
sBorchert

Registriert seit: 8. Feb 2005
Ort: Kusey
7 Beiträge
 
#3

Re: im TreeView suchen

  Alt 17. Feb 2005, 11:04
Zitat:
ich kenn da keine funktion.
Hm, schade. Ich dachte, da mal irgendetwas gesehen zu haben.
Zitat:
Du wirst wohl nicht umhinn kommen dir selbst eine funktion zu schreiben. Da es sich um eine Baumstruktur handelt wäre da eine rekursive suche zu empfehlen.
Danke. So in etwa hatte ich mir das schon gedacht.
Ich hatte mal (zu VB-Zeiten) eine Funktion, die das über SendMessage löst, allerdings wüsste ich jetzt nicht, wie ich den Suchbegriff in Delphi übergeben soll. Der musste nämlich als letzter Parameter übergeben werden und bei der "Delphiversion" ist der letzte Parameter ein integer.
Ausgesehen hat das in etwa so:
itmIndex = SendMessage(listview.hwnd, LVM_FindFirst, -1, "dingens") Naja, muss wohl die kleine Suchfunktion her.
Schöne Grüsse,

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: im TreeView suchen

  Alt 17. Feb 2005, 11:09
Hi,

Sage nur: Goolge suche benutzen: Bei Google suchentreeview find Delphi
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: im TreeView suchen

  Alt 17. Feb 2005, 11:10
Vermutlich musst du einfach nur einen PChar auf das Suchwort übergeben. Und da ein Integer erwaret wird musst du diesen wiederum zu einem Integer casten.
  sendmessage(listview.hwnd, LVM_FindFirst, -1, Integer(PChar('dingens'))); @toms: Deine funktion ist dann ja die welche ich nicht gepostet hab um den fragenden zu zwingen selbst das letzte stück zu denken (pseudocode war ja schon da).

Ansonsten für das was er aus VB-Hatte sollte übertragen nach Delphi das obere Codeschnippsel herauskommen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: im TreeView suchen

  Alt 17. Feb 2005, 11:28
Moin!

Wenn wir hier schon Lösungen posten, dann will ich auch noch meine rekursiven Beispiel Fkts von meiner HP reinstellen: TreeView rekursiv durchsuchen

MfG
Muetze1
  Mit Zitat antworten Zitat
sBorchert

Registriert seit: 8. Feb 2005
Ort: Kusey
7 Beiträge
 
#7

Re: im TreeView suchen

  Alt 23. Feb 2005, 16:29
@toms:
Zitat:
Sage nur: Goolge suche benutzen
Hatte ich schon. Mit dem Ergebnis, dass ich die Funktion, die ich mir schon zusammengebastelt hatte, wiedergefunden habe. Allerdings verwende ich zusätzlich noch Reguläre Ausdrücke.

@SirThornberry:
Danke für den Hinweis. Ich habe gerade auf einer Seite [1] eine Funktion gefunden, welche mit SendMessage arbeitet. Mal schauen, was die so bringt.

@Muetze1:
Deine Seite funktioniert leider irgendwie nicht ("Verbindung wurde zurückgesetzt") :-{

schöne Grüsse,

Stefan

[1] http://www.delphi-central.com/tutori...eViewNode.aspx
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: im TreeView suchen

  Alt 23. Feb 2005, 17:25
Moin!

Zitat von sBorchert:
@Muetze1:
Deine Seite funktioniert leider irgendwie nicht ("Verbindung wurde zurückgesetzt") :-{
Wer auch erst eine Woche später nachschaut...

Ich bin umgezogen und die domain ist beim denic schon neu eingetragen, es braucht noch bis zu 40 Stunden bis alle DNS Server die Änderung haben. Bei manchen Providern klappts schon.

MfG
Muetze1
  Mit Zitat antworten Zitat
sBorchert

Registriert seit: 8. Feb 2005
Ort: Kusey
7 Beiträge
 
#9

Re: im TreeView suchen

  Alt 24. Feb 2005, 18:48
Zitat von Muetze1:
Wer auch erst eine Woche später nachschaut...
Naja, Urlaub muss auch mal sein (oder sagen wir mal, ein wenig Rechnerabstinenz) :-)

Zitat von Muetze1:
Ich bin umgezogen und die domain ist beim denic schon neu eingetragen, es braucht noch bis zu 40 Stunden bis alle DNS Server die Änderung haben. Bei manchen Providern klappts schon.
Ok. Anpingen kann ich schon, nur aufrufen noch nicht.

schöne Grüsse,

Stefan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz