Einzelnen Beitrag anzeigen

Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

KeyPress in einer von TEdit abgeleiteten Klasse überschreiben

  Alt 8. Nov 2013, 15:27
Delphi-Version: 2007
Hallo,

ich hab schon auch selber danach gegoogelt, aber ich komme nicht dahinter wo der Fehler liegt (vielleicht ist es auch zu banal/ Brett vor dem Kopf):

Was mache ich? Ich leite meine neue Klasse von TEdit ab. Klappt soweit alles. Jetzt will ich aber nur Zahlen und Rechenoperatoren in der Eingabe zulassen; KeyPress überschreiben.
Delphi-Quellcode:
protected
    procedure KeyPress(var Key: Char);override;
Klappt soweit.
In der Methode klappt auch:
  if not (Key in ['0'..'9','.',',','+','-','*','/',#8, #9, #13, #27, #33, #127]) then Key := #0; Was nicht klappt, ist den "." oder das "," in den vom System vorgegebenen Dezimalseparator zu ändern.
Delphi-Quellcode:
  
SepChar := DecimalSeparator;
if Key = ',and not (Key = SepChar) then Key := SepChar;
if Key = '.and not (Key = SepChar) then Key := SepChar;
Hier meckert er nun bei der Zuweisung
Code:
Key := SepChar
mit dem Fehler: E2015 Operator ist nicht auf den Operandentyp anwendbar
Dasselbe kommt bei Key := DecimalSeparator .

Hat jemand eine Idee?

Grüße!
Chris
  Mit Zitat antworten Zitat