![]() |
Leeres Feld ohne "ShowMessage...."
Hallo Leute
Hab mich mal mit Delphi (Borland Studio 2006) versucht und irgendwie bekomm ich es nicht hin, dass ein Feld wo ich (im moment) keinen Wert eintrage, mit z.B. einer Null zu belegen. Es kommt immer nur die Fehlermeldung: "Edit1 is not a valid floating point value" Ich hoffe es kann mir jemand helfen!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c, x: Real; begin {Einlesen der Variablen} a := StrToFloat(Edit1.Text); b := StrToFloat(Edit2.Text); {Berechnung} c := b-a; x := 5*(c); {Ausgabe der Ergebnisse} Edit3.Text := FloatToStr(c); Edit4.Text := FloatToStr(x); end; {Programm beenden} procedure TForm1.ButtonClosedClick(Sender: TObject); begin close; end; end. Mfg Andre |
Re: Leeres Feld ohne "ShowMessage...."
Nimm am besten
![]() ![]() Bei dieser Funktion kannst du als 2. Parameter einen Wert angeben, der zurückgegeben wird, wenn der String kein valides Float ist.
Delphi-Quellcode:
{Einlesen der Variablen}
a := StrToFloatDef(Edit1.Text, 0); b := StrToFloatDef(Edit2.Text, 0); |
Re: Leeres Feld ohne "ShowMessage...."
entweder prüfst Du ab, ob in Edit1 und Edit2 was eingegeben wurde und ob es sich um eine Zahl handelt
Delphi-Quellcode:
oder Du machst einen try..except um die Zeilen mit StrToFloat.
if (Edit1.Text <> '') AND (isNumber(Edit1.Text)) then
begin end; |
Re: Leeres Feld ohne "ShowMessage...."
oder du machst:
Delphi-Quellcode:
aber das iss sauhässlich
StrToFloat('0'+Edit1.Text);
|
Re: Leeres Feld ohne "ShowMessage...."
Es handelt sich um ein Grundproblem dieser Delphi-Funktionen: StrToInt, StrToFloat usw. liefern immer einen Fehler (d.h. Exception), wenn der gegebene String dem gewünschten Zahlentyp nicht entspricht.
Deshalb muss man dieses Problem immer abfangen: 1. Variante Zitat:
Delphi-Quellcode:
2. Variante
if (Edit1.Text <> '') AND (isNumber(Edit1.Text))
then a := StrToFloat(Edit1.Text) else a := 0; Zitat:
Delphi-Quellcode:
3. Variante
try
a := StrToFloat(Edit1.Text); except a := 0; end; Du lässt Dir diese Arbeit von Delphi abnehmen: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz