Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Wie mache ich ae aus ä während der Eingabe in TEdit

  Alt 20. Jul 2005, 10:20
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;
Danke
Tom
  Mit Zitat antworten Zitat