Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - überprüfung:ob in edit feld ein text/zahl steht
LittleBeer - Fr 05.07.02 14:35
Titel: überprüfung:ob in edit feld ein text/zahl steht
ich will ein edit feld überprüfen, ob in ihm ein test anstadt eine zahl eingetragen wurde. die eine vaiante mit zahl/text war keine problem, aber mit test/zahl bekomm ich nicht hin.
muss ich das mit einer variabeln machen, wenn ja wie muss diese deklariert werden???
brauch eure hilfe
schon mal vielen dank für die antworten im vorraus.
gruß
little
Tino - Fr 05.07.02 14:40
Verstehe ich nicht (Text/Zahl...Zahl/Text...Test ?!?!?!)
Gib mal ein Beispiel!
Alibi - Fr 05.07.02 14:41
Quelltext
1: 2: 3: 4: 5:
| try strtoint(Edit1.text) except showmessage('keine zahl'); end; |
LittleBeer - Fr 05.07.02 14:57
Titel: danke, aber
vielen dank, das mit den zahlen geht:)
ABER wie überprüf ich, ob eine ZAHL anstadt eines TEXTES eingetragen wird? das ist mein prob!!
Little
Klabautermann - Fr 05.07.02 15:08
Titel: Re: danke, aber
Hallo,
LittleBeer hat folgendes geschrieben: |
ABER wie überprüf ich, ob eine ZAHL anstadt eines TEXTES eingetragen wird? das ist mein prob!! |
das verstehe ich nicht ganz. Willst du ein Editfeld so umbauen, dass nur Ziffern eigegeben werden können?
dann solltest du etwas in diese Richtung in das OnKeyPress ereignis einbauen:
Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin IF NOT (key IN ['0'..'9']) THEN key := #0; end; |
Sollte das den ensprechen was du willst, dann sehe es als Hausaufgabe an den Code so zu erweitern, das auch negative- und gegebenenfalls Kommazahlen eingegeben werden können ;).
Gruß
Klabautermann
LittleBeer - Fr 05.07.02 15:14
Titel: ja!!
das ist schon mal eine große hilfe, aber kann ich dabei vieleicht auch noch die backspace taste frei geben????? so kann ich ja nur zahen eingeben(was ich auch wollte) allerdings kann ich diese nicht löschen? kann man das noch einstellen??
LOOM - Fr 05.07.02 16:07
Backspace wird als Hex 8 (#8) abgefragt :
if Key in ['0'..'9','-',',',#8] then key:=key
else key := #0;
LOOM - Fr 05.07.02 16:08
Jetzt hat er mir doch ein Smilie eingebaut.....
Backspace wird als Hex 8 (#8) abgefragt :
if Key in ['0'..'9','-',',',#8] then key:=key
else key := #0;
Klabautermann - Fr 05.07.02 16:38
LOOM hat folgendes geschrieben: |
Backspace wird als Hex 8 (#8 ) abgefragt :
Quelltext 1: 2:
| if Key in ['0'..'9','-',',',#8] then key:=key else key := #0; | |
Da musst du aufpassen, jetzt kann man in der Zahl belibg oft und an belibig vielen Stellen ein Minus und ein Komma eingeben. So einfach sind die Hausaufgaben auch nicht :twisted:.
Gruß
Klabautermann
PS: Verwende bitte die [code ] Tags.
LOOM - Fr 05.07.02 17:35
Er hat doch nur nach dem Backspace gefragt ....
Den Rest erledige ich beim Ereignis Change.
Ist als numerische Edit-Komponente realisiert mit #Nachkommastellen, rechtsbündig und Eingabe steht als Double automatisch zur Verfügung.
Jetzt noch der Code-test:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!