Autor Beitrag
LittleBeer
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 05.07.02 14:35 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 05.07.02 14:40 
Verstehe ich nicht (Text/Zahl...Zahl/Text...Test ?!?!?!)

Gib mal ein Beispiel!
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Fr 05.07.02 14:41 
ausblenden Quelltext
1:
2:
3:
4:
5:
try
  strtoint(Edit1.text)
except
  showmessage('keine zahl');
end;
LittleBeer Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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:
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: 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
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 05.07.02 16:38 
LOOM hat folgendes geschrieben:
Backspace wird als Hex 8 (#8 ) abgefragt :
ausblenden 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
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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:

ausblenden Quelltext
1:
Test