Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eingabe von Zahlen richtig abfangen

17 views
Skip to first unread message

Eberhard Graner

unread,
Sep 6, 1998, 3:00:00 AM9/6/98
to
Hallo,

ich habe ein Formular mit 5 Eingabewerten. Wie kann ich dies richtig
abfangen, das nur Zahlen mit Punkt als Dezimalstelle angenommen werden. Mit
MASKEDIT hat dies nicht funktioniert.

Gibt es hier Lösungen oder BEispiele wie ich dies abfangen kann.


Gruß
Eberhard
Eberhar...@t-online.de


Juergen Ruemmler

unread,
Sep 6, 1998, 3:00:00 AM9/6/98
to
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case ord(Key) of
48 .. 57, 46: ; // 48..57 = Ascii für 0 - 9 , 46 = Ascii für Punkt
else
Key:=#0;
end;
end;

Gruß
Jürgen
Hamburg


Eberhard Graner schrieb in Nachricht <6steph$icl$2...@news02.btx.dtag.de>...

Thomas Beul

unread,
Sep 7, 1998, 3:00:00 AM9/7/98
to

Eberhar...@t-online.de (Eberhard Graner) wrote:
>Hallo,
>
>ich habe ein Formular mit 5 Eingabewerten. Wie kann ich dies
>richtig abfangen, das nur Zahlen mit Punkt als Dezimalstelle
>angenommen werden. Mit MASKEDIT hat dies nicht funktioniert.
>
>Gibt es hier Lösungen oder BEispiele wie ich dies abfangen >kann.

Ich habe in solchen Faellen immer ein String-Eingabefeld verwendet und bei
beendeter Eingabe (Verlassen des Eingabefeldes durch Tab-Taste oder Mausklick auf
andere Control) mittels Exception-Behandlung ueberprueft, ob die Eingabe
fehlerfrei in eine Gleitpunktzahl gewandelt werden kann. Beispiel:

procedure THauptfenster.Edit7Change(Sender: TObject);
begin
try
if Edit7.Text <> '' then StrToFloat(Edit7.Text);
except
on EConvertError do
begin
MessageBeep(word(-1));
Edit7.SelectAll;
end;
end;
end;

(Delphi 1 Sourcecode, keine Ahnung, ob er in den neueren Versionen unveraendert
funktioniert)

-----

Email z. Zt. bitte nicht an obere Adresse, da sie wegen Umstellung der IP-
Adressen nicht von ueberall erreichbar ist.
Stattdessen Email an thoma...@gmx.de. Diese Adresse kann ich bei netnews.web.
de leider nicht als Absender eintragen (anonyme Adressen werden erkannt und
abgelehnt), deshalb steht als Absender die nicht erreichbare Adresse da

.. Scheiss Technik

_____________________________________________________________
NewsGroups Suchen, lesen, schreiben mit http://netnews.web.de


Thomas Schoessow

unread,
Sep 8, 1998, 3:00:00 AM9/8/98
to
>Hallo,
>
>ich habe ein Formular mit 5 Eingabewerten. Wie kann ich dies richtig
>abfangen, das nur Zahlen mit Punkt als Dezimalstelle angenommen werden. Mit
>MASKEDIT hat dies nicht funktioniert.

Wie wäre es, wenn Du versuchst, die Werte in ein float zu verwandeln.
Gibts dabei eine Exception, ist was falsch gewesen..

Gruß

Thomas

0 new messages