Autor Beitrag
dejavu
Hält's aus hier
Beiträge: 13



BeitragVerfasst: 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:
ausblenden volle Höhe 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
    { Private declarations }
  public
    { Public declarations }
  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 user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Titel geändert.


Zuletzt bearbeitet von dejavu am Do 06.05.10 20:18, insgesamt 1-mal bearbeitet
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: Do 06.05.10 20:00 
user profile icondejavu hat folgendes geschrieben Zum zitierten Posting springen:
'''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)

_________________
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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Do 06.05.10 20:04 
Hätte der eine Thread nicht gereicht? :roll:

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Do 06.05.10 20:15 
user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 06.05.10 20:27 
Moin!

user profile icondejavu hat folgendes geschrieben Zum zitierten Posting springen:
Bin n Neuling und verstehe nur Bahnhof,
...was kein Grund ist, das Gehirn ausgeschaltet zu lassen. ;)

user profile icondejavu hat folgendes geschrieben Zum zitierten Posting springen:
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

_________________
There are 10 types of people - those who understand binary and those who don´t.