AGB  ·  Datenschutz  ·  Impressum  







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

VST / IncrementalSearch

Ein Thema von ucor · begonnen am 4. Jun 2005 · letzter Beitrag vom 6. Jun 2005
Antwort Antwort
ucor

Registriert seit: 19. Apr 2005
18 Beiträge
 
#1

VST / IncrementalSearch

  Alt 4. Jun 2005, 19:11
Hallo,

Irgendwie komme ich mit der IncrementalSearch des VST nicht weiter.
Die Daten bekommt der VST aus einer Datenbank. IncrementalSearch steht auf isAll. Folgendes Beispiel aus den Advaned Demos von M.Lischke habe ich mir auch schon angesehen, komme damit aber auch nicht weiter, weil die Daten dort voher definiert werden und nicht aus einer DB kommen.

Delphi-Quellcode:
procedure TfrmProperties.VST3IncrementalSearch(Sender: TBaseVirtualTree; Node: PVirtualNode; const Text: WideString;
  var Result: Integer);

var
  S, PropText: string;


begin
  // Note: This code requires a proper Unicode/WideString comparison routine which I did not want to link here for
  // size and clarity reasons. For now strings are (implicitly) converted to ANSI to make the comparison work.
  // Search is not case sensitive.
  S := Text;
  if Node.Parent = Sender.RootNode then
  begin
    // root nodes
    if Node.Index = 0 then
      PropText := 'Description
    else
      PropText := 'Origin';
  end
  else
  begin
    PropText := PropertyTexts[Node.Parent.Index, Node.Index, ptkText];
  end;

  // By using StrLIComp we can specify a maximum length to compare. This allows us to find also nodes
  // which match only partially.
  Result := StrLIComp(PChar(S), PChar(PropText), Min(Length(S), Length(PropText)))
end;
Was muß ich nun anstelle von 'PropText' und 'Result' einsetzen?

Gruß U.
  Mit Zitat antworten Zitat
ucor

Registriert seit: 19. Apr 2005
18 Beiträge
 
#2

Re: VST / IncrementalSearch

  Alt 5. Jun 2005, 17:37
Hallo,

habe die Lösung gefunden.

Delphi-Quellcode:
procedure TSTF.VST2IncrementalSearch(Sender: TBaseVirtualTree;
  Node: PVirtualNode; const SearchText: WideString; var Result: Integer);
var
  s1,
  s2: string;
  Data: PTreeData;
begin
  Data:= VST2.GetNodeData(Node);
  s1 := SearchText;
  s2:= TTreeDataClass(Data.FObject).FName;
  Result := StrLIComp(PChar(s1), PChar(s2), Min(Length(s1), Length(s2)));
end;
Gruß U.
  Mit Zitat antworten Zitat
generic

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

Re: VST / IncrementalSearch

  Alt 6. Jun 2005, 21:25
hättest du hier mal dp gesucht dann hättest du sogar was VOR deinem post gefunden.
  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:53 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