Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Buchstaben in einem Edit automatisch löschen?!


TarantelFaser47 - Mo 16.10.17 20:30
Titel: Buchstaben in einem Edit automatisch löschen?!
Ich habe folgendes Problem:

Ich habe ein Edit1, in dem auf keinen Fall Buchstaben stehen dürfen (also nur 1923 und nicht 149x)
Deswegen habe ich das getan:

 if (Key < '0'or (Key > '9')  then Key := Chr(27)

Das funktioniert auch, aber man kann die DELETE-Taste nicht mehr benutzen (es passiert nichts, logisch).
Die "Entfernen"-Taste kann man benutzen, das ist aber (verständlich) nicht so toll.

Wie kann ich jetzt den Code so umschreiben, dass ich die DELETE-Taste noch verwenden kann???



Danke im Voraus!
~ TarantelFaser47


HeftCD - Di 17.10.17 07:52

dann frag doch erst die Delete-Taste ab

Quelltext
1:
2:
if (key <> 46) then 
   if (Key < '0') or (Key > '9')  then Key := Chr(27);
:)
LG


jasocul - Di 17.10.17 09:29

Es gibt eine Eigenschaft bei TEdit, die dafür sorgt, dass nur Nummern eingegeben werden können. Diese heißt NumbersOnly. Wenn die auf True steht, dürfte sich dein Edit1 genauso verhalten, wie du es wünscht.


TarantelFaser47 - Fr 08.12.17 22:59

Aber wie kann ich auf diese Eigenschaft zugreifen?! :nixweiss:

Moderiert von user profile iconChristian S.: Beiträge zusammengefasst

Bzw. gibt es diese Eigenschaften schon in Delphi 7?!


jaenicke - Fr 08.12.17 23:58

user profile iconTarantelFaser47 hat folgendes geschrieben Zum zitierten Posting springen:

Bzw. gibt es diese Eigenschaften schon in Delphi 7?!
Nein, aber vielleicht wäre die kostenlose aktuelle Version etwas für dich:
https://www.embarcadero.com/de/products/delphi/starter

// EDIT:
Die wäre bei dem in deinem Profil angegebenen Windows 10 ohnehin sehr viel sinnvoller. ;-)