Hallo Leute!
Ich möchte während der Eingabe eines Users die Umlaute abfangen und direkt aus einem ä ein ae machen. Leider geht das nicht so einfach. Aus einem Leerzeichen einen Underline zu machen ist kein Problem aber ich glaube das man bei einer OnKeyPress-Routine nicht 2 Chars aus einem machen kann. Wie kann ich das lösen?
Delphi-Quellcode:
procedure Teditor.ed_feldnameKeyPress(Sender: TObject; var Key: Char);
const
AllowedChars : string = 'ABCDEFGHIJKLMNOPQ'+'RSTUVWXYZ'+'abcdefghijklmnopq' + 'rßstuvwxyz01234567_';
var
i : Integer;
Ok : Boolean;
begin
i := 0;
Ok := false;
if Key = #32 then Key := '_'; //funzt gut
if Key = 'ä' then Key := 'ae'; //funzt leider nicht
if Key = #8 then Ok := true;
repeat
i := i + 1;
if Key = AllowedChars[i] then Ok := true;
until (Ok) or (i = Length(AllowedChars));
if not Ok then Key := #0;
end;