Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - inkompatible Typen


schlumsch - Mi 28.10.09 23:00
Titel: inkompatible Typen
Hallo,

ich habe 2 Edit oder auch Maskedit felder. In einem Fald sollen nur Buchstaben, im anderen Feld nur Zahlen erlaubt sein. Nun habe ich folgende Lösung gefunden:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.EditNewIntervallKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not (Key in ['0'..'9'','#8]) then // #8 ist die Backspace Taste
    Key := #0;
end;

Hier kriege ich allerdings die Fehlermeldung: Inkompatible Typen Word und Char. Wie kann ich das lösen bzw. gibt es eine andere Möglichkeit die oben genannten einschränkungen zu treffen?

dank euch schon einmal, lg

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.


elundril - Mi 28.10.09 23:14

probiers mal im OnKeyPress. da sollte der Parameter "Key" vom Typ Character sein.

lg elundril


jaenicke - Do 29.10.09 00:06

Oder du musst überall die Asciicodes benutzen, also nicht die Zeichen wie #8 sondern nur die 8 und analog die Zahlenwerte bei den anderen Zeichen.


thepaine91 - Do 29.10.09 08:25


Delphi-Quelltext
1:
  if not ((Key in [$30..$39]) or (Key = 188 ) or (Key = VK_BACK)) then                    


mfg nic


schlumsch - Do 29.10.09 09:58

Ich danke euch für die Hilfe, probiere ich heute Abend gleich aus aber es klingt zumindest mal nach "gelöst" :)