Zitat:
Es wird mir nur der Fehler angezeigt, wenn bei der Variablen 'Laufzeit' ein Fehler gemacht wurde
Es wird mit der Abfrage If code = 0 abgefragt ob ein Fehler
bei der Umwandlung von dem Text im Edit1 Feld in eine Zahl gemacht wurde.
Der Ausdruck 'Varible = Laufzeit' ist ein String, also feststehend
[EDIT] Ach er meint wohl damit die Varible, der der Wert aus dem Edit Feld zugewiesen wurde. Ich hab es unten mal angepasst.
Ich glaube ich bin jetzt etwas verwirrt
Jedenfalls solltest du bei 2 Edit Feldern auch zwei unterschiedliche Fehlercodes benutzen also das ganze sollte ungfähr so aussehen:
[code=delphi]
var
Form1: TForm1;
code,code2: Integer;
[.....]
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
Endkapital :=
(Round(100*(Anfangskapital * exp (Jahre * ln (1+ Zinssatz/100))))/100) ;
Label2.Caption := FloatToStr (Endkapital)
end //end if code = 0
else Showmessage
('Eingabefehler:'+#13+
'Variable = Anfangskapital' +#13+
'Stelle im ersten Eingabefeld =' +FloatToStr(code) +#13+
'Variable = Jahre' +#13+
'Stelle im zweiten Eingabefeld =' +FloatToStr(code2) +#13+
'Falsches Zeichen im ersten Eingabefeld=' + Edit1.text
Code:
+#13+
'Falsches Zeichen im zweiten Eingabefeld=' + Edit3.text[code2]+#13+
'Bitte Eingabe wiederholen...');
end;
Vielleicht hilft dir das etwas, es ist natürlich noch ausbaufähig ...