Thema: Delphi Filterproblem mit TTable

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Filterproblem mit TTable

  Alt 8. Dez 2006, 09:08
Hallo Stefan,

wenn das Datenbankfeld immer einen Wert enthält, der durch das Weglassen beliebiger Ziffern aus der Zeichenfolge 0123456789 gebildet werden kann, dann würde ich einen pattern match mit dem Operator LIKE vorbereiten:

Delphi-Quellcode:
function MatchStr(const sFilter: String; cWild: Char = '%'): String;
var
  i: Integer;
begin
  Result := StringOfChar(cWild, 10);
  for i := 1 to Length(sFilter) do
    Result[Succ(Ord(sFilter[i]) - Ord('0'))] := sFilter[i];
  Result := CompactStr(Result, cWild);
end;
Die Funktion MatchStr('245') liefert dir dann das Pattern '%2%45%' welches du dann für deinen pattern match verwenden kannst. Der Ansatz lässt sich für Bereichsangaben ausbauen.

Grüße vom marabu
  Mit Zitat antworten Zitat