AGB  ·  Datenschutz  ·  Impressum  







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

vst - Suche nach Teilstring

Offene Frage von "ratloser"
Ein Thema von ratloser · begonnen am 9. Jan 2006 · letzter Beitrag vom 11. Jan 2006
Antwort Antwort
ratloser

Registriert seit: 4. Mai 2005
Ort: Linz
36 Beiträge
 
#1

vst - Suche nach Teilstring

  Alt 9. Jan 2006, 23:02
Noch ein kleines Problem bei der Suche:

Habe folgenden Code:

Delphi-Quellcode:
procedure TKalk.naechsteneintragsuchenClick(Sender: TObject);
var
  f ,run : PVirtualNode;
  suchobjekt: String;
begin
   suchobjekt := objauswsucherechnungsnummer.text;
   vst.selectednode := vst.getfirst;
// vst.setfocus;
  if assigned(vst.FocusedNode) then begin
    run := vst.FocusedNode;
    run := run.NextSibling;
    while Assigned(run) do begin
      f := vst.IterateSubTree(run,ausfuehren,Pointer(suchobjekt),[],true,false);
      if assigned(f) then begin
        vst.FocusedNode := f;
        vst.Selected[f] := true;
        break;
      end;
      run := run.NextSibling;
    end;
  end;
end;
Delphi-Quellcode:
procedure Tkalk.ausfuehren(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Data: Pointer; var Abort: Boolean);
begin
  Abort := vst.Text[Node,0] = objauswsucherechnungsnummer.Text;
end;
Nun meine Frage:

Die Nodes beinhalten Texte wie Namen und Arbeitsbeschreibungen

Die Suche funktioniert super - aber nur wenn ich den ganzen Text eingebe.

Wenn also ein Node 'Huber Martin' lautet, dann findet er es nur wenn ich 'Huber Martin' eingebe, aber nicht bei Huber.

Und noch ein kleiner Schönheitsfehler. Egal nach was ich suche, egal ob er es findet oder nicht, es wird immer der erste Node geöffnet.

Danke für Eure nochmalige Unterstützung bei diesem Thema

(ein wieder) Ratloser
Vielen Dank!

Konrad
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: vst - Suche nach Teilstring

  Alt 10. Jan 2006, 16:41
zu Problem 1 folgender Vorschlag

Delphi-Quellcode:
procedure Tkalk.ausfuehren(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Data: Pointer; var Abort: Boolean);
begin
  Abort := (Pos(objauswsucherechnungsnummer.Text,vst.Text[Node,0]) > 0);
end;
wegen dem 2. Problem mit dem selektierten Node. Welche vst-Version nutzt Du.

vst.selectednode := vst.getfirst; gibt es meines erachtens gar nicht mehr, wobei dies der Grund sein dürfte.
Sven Harazim
--
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#3

Re: vst - Suche nach Teilstring

  Alt 11. Jan 2006, 09:12
ich denke
vst.selectednode := vst.getfirst; sollte das hier sein (wie in dem anderen thread
vst.focusednode:= vst.getfirst;
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  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 06:49 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