Entwickler-Ecke
Sonstiges (Delphi) - Zinseszinsrechner - Fehler: EConvertError
dejavu - Do 06.05.10 19:53
Titel: Zinseszinsrechner - Fehler: EConvertError
Hallo, ich bastel mir gerade einen Rechner, mit dem man bei Krediten Laufzeit, Startkapital,Endkapital und Prozentsatz errechnen kann. Das Programm errechnet immer die Fehlende der 4 Variablen. Also wenn nur Laufzeit, Startkapital und Zinssatz gegeben sind errechnet es automatisch das Endkapital und gibt es in einem Panel als Text an.
Für den ersten Fall, nähmlich das das Anfangskapital nicht gegeben ist, habe ich meinen Quelltext schon fertig,
doch wenn ich das Programm starte und das Feld für k0 leer lasse und die restlichen Felder entsprechen ausfülle kommt nachdem ich den Start-Button gedrückt habe folgender Fehler:
Project Zinseszins.exe raised Exception class EConvertError with message '''is not a valid floating point value'. Process stopped. Use Step or Run to continue.
Hier mein Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51:
| unit UHaupt;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Math;
type TForm1 = class(TForm) EK0: TEdit; EKn: TEdit; En: TEdit; EP: TEdit; BStart: TButton; PErgebnis: TPanel; procedure BStartClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BStartClick(Sender: TObject); var k0,kn,q,p,n :real; begin k0:= StrToFloat (EK0.Text); kn:= StrToFloat (EKn.Text); n:= StrToFloat (En.Text); p:= StrToFloat (EP.Text); q:= 1+ (p*0.01);
if (EK0.Text='') then
begin k0:= kn*(power (q,n)); PErgebnis.Caption:= FloatToStr (k0); end;
end;
end. |
Was genau muss ich wo eingeben, damit der Fehler nicht mehr erscheint?
Moderiert von
Narses: Delphi-Tags hinzugefügt
Moderiert von
Narses: Titel geändert.
Xion - Do 06.05.10 20:00
dejavu hat folgendes geschrieben : |
'''is not a valid floating point value' |
Das ist doch schon die Antwort. Beim unwandeln von String ('' = Leerstring) nach Floating Point (Float) => Fehler, weil der LeerString keine Float-Interpretation ermöglicht. Der Fehler tritt logischerweise dann bei StrToFloat auf, wenn die Eingabe (ein Edit) leer ist. Hirn einschalten :mahn:
Edit: Delphi-Code mit den Delphi Tags [Delphi][/Delphi ] einschließen. Gibts auch oben irgendwo zum anklicken. (Bereiche)
Dude566 - Do 06.05.10 20:04
Hätte der eine Thread nicht gereicht? :roll:
Xion - Do 06.05.10 20:06
Es wäre zumindest nicht verkehrt den Titel in "FloatToStr Umwandlung Fehler" oder so umzubenennen
dejavu - Do 06.05.10 20:15
Dude566 hat folgendes geschrieben : |
Hätte der eine Thread nicht gereicht? :roll: |
Bin n Neuling und verstehe nur Bahnhof, was genau muss ich jetzt wo in meinen Quelltext eintragen, damit diese Fehlermeldung nicht mehr erscheint?
Narses - Do 06.05.10 20:27
Moin!
dejavu hat folgendes geschrieben : |
Bin n Neuling und verstehe nur Bahnhof, |
...was kein Grund ist, das Gehirn ausgeschaltet zu lassen. ;)
dejavu hat folgendes geschrieben : |
was genau muss ich jetzt wo in meinen Quelltext eintragen, damit diese Fehlermeldung nicht mehr erscheint? |
Du solltest zunächst mal in der MyBrain.ini den Wert Used=TRUE setzen, abspeichern und dein Brain-OS neustarten :zwinker: danach könntest du mal nach der Funktion StrToFloatDef() in der Hilfe oder hier im Forum suchen. :idea:
cu
Narses
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!