OnFilterRecord ist doch sauber, dort rufst Du deine 'CompareNormalized' Funktion auf. Der nette Nebeneffekt: Du kannst die Funktion nicht nur zum Vergleich / Filtern sondern auch noch zum Sortieren verwenden.
Wo ist dein Problem? Das kriegen wir auch noch gebacken (himitsu hats ja schon gesagt).
Delphi-Quellcode:
Function CompareNormalized(a,b : String) : integer;
begin
Result := CompareText(Normalized(a), Normalized(b));
end;
Function Normalized (const a : String) : String;
Var
c : Char;
Begin
Result := '';
for c in a do Result := NormalizedChar(c);
End;
Function NormalizedChar (c : Char) : Char;
Begin
if c='Ł' then result := 'L'
else if c='ą' then result := 'a';
...
else result := c;
end;