Autor |
Beitrag |
dejavu
Hält's aus hier
Beiträge: 13
|
Verfasst: Do 06.05.10 19:53
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:
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.
Zuletzt bearbeitet von dejavu am Do 06.05.10 20:18, insgesamt 1-mal bearbeitet
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: 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
Edit: Delphi-Code mit den Delphi Tags [Delphi][/Delphi ] einschließen. Gibts auch oben irgendwo zum anklicken. (Bereiche)
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Do 06.05.10 20:04
Hätte der eine Thread nicht gereicht? 
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Do 06.05.10 20:06
Es wäre zumindest nicht verkehrt den Titel in "FloatToStr Umwandlung Fehler" oder so umzubenennen
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
dejavu 
Hält's aus hier
Beiträge: 13
|
Verfasst: Do 06.05.10 20:15
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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  danach könntest du mal nach der Funktion StrToFloatDef() in der Hilfe oder hier im Forum suchen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
|