Autor Beitrag
thoughtless
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 09.07.02 18:38 
Hallo..
ich habe eine ganz einfache frage..
was muss ich tun um ein ganz normales edit feld als zahl benutzen zu können?
damit ich die eingetippte zahl in einer formel verwenden kann....

schon mal ein danke im vorraus

ps: ich weiss es ist eine total banale frage. trotzdem hoffe ich, ihr kommt jetzt nicht mit posts wie "hättest du besser im internet nachgeschaut" daher..

_________________
bin neu hier ... ;)
Maxigraf
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 09.07.02 18:54 
Einfach

ausblenden Quelltext
1:
StrToInt(edit1.text)					


Das gibt dir den Wert von Edit1 als Zahl zurück, sofern keine Buchstaben drin sind...
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Di 09.07.02 19:23 
Am Besten machst Du es so:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
try
  intZahl := StrToInt(Trim(Edit1.Text));
except
  beep;
  intZahl := 0;
end;
Mit Trim entfernst Du Leerzeichen, falls der User keine korrekte Zahl eingegeben hat, piepst es und die Variable wird mit 0 belegt.
Du kannst dann anschließend das Ergebnis auswerten.

:idea:

_________________
Alfons Grünewald
Frischling
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 10.07.02 09:20 
HUHU

Also ich habe es im Delphigrundkurs immer mit:
ausblenden Quelltext
1:
2:
 a := StrToFloat(Edit1.Text);
 b := StrToFloat(Edit2.Text);

gemacht und dann a bzw. b in meine Formel übernommen.

und wenn Du in das OnKeyPress Ereignis:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
begin
     if key = #13 then begin
        Self.Perform(WM_NEXTDLGCTL, 0, 0);
        key := #0;
     end;
     if not (key in ['0'..'9',#8]) then key:=#0;
end;

reinschreibst dann können auch nur Zahlen ins Editfeld geschrieben werden :)

Code-Tags hinzugefügt. Tino
thoughtless Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mi 10.07.02 11:00 
Titel: danke
pefekt! dankschön
das war genau das was ich haben wollte!

_________________
bin neu hier ... ;)
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 10.07.02 11:05 
Hallo,

also ich vermeide die try-except-Variante aus dem einfachen Grunde, weil ich beim Debuggen nicht immer wieder eine Exception von der IDE gemeldet bekommen möchte. Ja, ich weiss, man kann die Meldungen ausschalten, aber das ist zu Debugzwecken auch nicht gerade sinnvoll.

Ich hatte mal eine Funktion gestrickt, die schaut, ob es sich nun wirklich um einen Integerwert handelt, ohne daß eine Exception ausgelöst wird (Im Grunde genommen prüfte sie nur, ob nur Ziffern eingegeben wurden, ging also einfach jeden Char des zu prüfenden Strings durch).

Cu,
Udontknow