Einzelnen Beitrag anzeigen

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