So ich bins mal wieder =)
Habe jetz zuerst mal das hier probiert, da es mir am einfachsten erschien:
[code=delphi]
var
Form1: TForm1;
code: Integer;
code2: Integer;
Anfangskapital: Integer;
Jahre: Integer;
Endkapital: real;
Zinssatz : real;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
try
val (edit1.text, anfangskapital, code); // E ingabe
val (edit3.text, Jahre, code2);
if (code = 0) and (code2 = 0) then
begin
if Jahre <=4
then
begin
Zinssatz := 3;
Label4.Caption :=
'mit einem Zinssatz von 3%';
end //end Jahre <=4
else
begin
Zinssatz := 5;
Label4.Caption :=
'mit einem Zinssatz von 5%' ;
end; //end Jahre >4
if Jahre >= 10
then
begin
Zinssatz := 7 ;
Label4.Caption :=
'mit einem Zinssatz von 7%' ;
end; //end Jahre >= 10
begin
Endkapital :=
(Round(100*(Anfangskapital * exp (Jahre * ln (1+ Zinssatz/100))))/100) ; // V erarbeitung
Label2.Caption := FloatToStr (Endkapital)
end //end if code = 0
end
else // A usgabe
MessageDlg ('Eingabefehler:' +#13#13+
'Variable = Anfangskapital' +#13+
'Stelle im ersten Eingabefeld = ' +intToStr(code) +#13#13+
'Variable = Laufzeit' +#13+
'Stelle im zweiten Eingabefeld = ' +intToStr(code2) +#13#13+
'Falsches Zeichen im ersten Eingabefeld = ' + Edit1.text
Code:
+#13+
'Falsches Zeichen im zweiten Eingabefeld = ' + Edit3.text [code2]+#13#13+
'Bitte Eingabe wiederholen...' +#13+
'Nur ganze Zahlen (0-9) erlaubt!',
mtWarning,[mbOK],0);
except
MessageDlg ('Felder dürfen nicht leer sein!'+#13+
'Falls alle Felder ausgefüllt wurden bitte kleinere Werte benutzen',mtWarning,[mbOk],0);
end;//end try - except
end;//end procedure
Also das mit den 2 Codes. Habe dann aber als ich die .exe gestartet hab feststellen müssen, dass es bis jetzt nicht die beste Lösung ist.
Es gibt leider das Problem, dass wenn NUR im Edit3 Feld ein Fehler auftritt und im Edit1 alles i.O. ist, dann wird nicht angezeigt wo der Fehler in Feld3 liegt.
Ist jetz n bisschen kompliziert, deswegen hänge ich mal die .exe an.
Ausserdem wird der letzte Teil der Fehlermeldung
Delphi-Quellcode:
'Bitte Eingabe wiederholen...' +#13+
'Nur ganze Zahlen (0-9) erlaubt!',
auch nur dann angezeigt, wenn in beiden Edit Feldern ein Fehler gemacht wurde.
Ihr könnt euch das ja mal anscheun, falls jemand Zeit dazu findet. Is ja auch nicht unbedingt das wichtigste.
Werde mich dann auch mal an den anderen 2 Vorschlägen versuchen wenn ich Zeit dazu finde und die Vorschläge verstehe
Mfg Siggy
[edit=Admin]Beitragscache aktualisiert. Mfg, Daniel[/edit]