AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Zinsrechner

Ein Thema von Siggy · begonnen am 13. Nov 2008 · letzter Beitrag vom 15. Nov 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#21

Re: Delphi Zinsrechner

  Alt 15. Nov 2008, 11:52
Tätige die Fehlermeldungen doch dann, wenn die Fehler auch auftreten.
Delphi-Quellcode:
val(edit1.text, anfangskapital, code);
if code <> 0 then
  MessageBox(0,'Fehlerhafte Eingabe in Edit1',nil,0)
else
  begin
    val(edit3.text, Jahre, code2);
    if code <> 0 then
      MessageBox(0,'Fehlerhafte Eingabe in Edit3',nil,0);
  end;
So in etwa, möglich wäre auch Zwischenspeichern der Fehler und Ausgabe am Ende, das kann man recht variabel handhaben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Siggy

Registriert seit: 25. Okt 2008
20 Beiträge
 
#22

Re: Delphi Zinsrechner

  Alt 15. Nov 2008, 13:12
Zitat von DeddyH:
Tätige die Fehlermeldungen doch dann, wenn die Fehler auch auftreten.
Delphi-Quellcode:
val(edit1.text, anfangskapital, code);
if code <> 0 then
  MessageBox(0,'Fehlerhafte Eingabe in Edit1',nil,0)
else
  begin
    val(edit3.text, Jahre, code2);
    if code <> 0 then
      MessageBox(0,'Fehlerhafte Eingabe in Edit3',nil,0);
  end;
So in etwa, möglich wäre auch Zwischenspeichern der Fehler und Ausgabe am Ende, das kann man recht variabel handhaben.

Der Tipp hat mir entscheidend weiter geholfen
Vielen Dank.
Ich denke ich dürfte soweit fertig sein. Zum Abschluß noch der komplette Code:

[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); // E ingabe

if (code <>0) and (code2 <> 0) then
begin
MessageDlg ('Eingabefehler:' +#13#13+
'Variable = Anfangskapital' +#13+
'Stelle des Fehlers = ' +intToStr(code) +#13#13+
'Falsches Zeichen = ' + Edit1.text [code]+#13#13#13+
'Variable = Laufzeit' +#13+
'Stelle des Fehlers = ' +intToStr(code2) +#13#13+
'Falsches Zeichen = ' + Edit3.text [code2]+#13#13+
'Bitte Eingabe wiederholen...' +#13+
'Nur ganze Zahlen (0-9) erlaubt!',
mtWarning,[mbOK],0)
end //end if code <> 0 and code2 <>0 then

else if code <> 0 then

MessageDlg ('Eingabefehler:' +#13#13+
'Variable = Anfangskapital' +#13+
'Stelle des Fehlers = ' +intToStr(code) +#13#13+
'Falsches Zeichen = ' + Edit1.text
Code:
+#13#13+
               'Bitte Eingabe wiederholen...' +#13+
               'Nur ganze Zahlen (0-9) erlaubt!',
               mtWarning,[mbOK],0)

else if code2 <> 0 then

    MessageDlg ('Eingabefehler:' +#13#13+
               'Variable = Laufzeit' +#13+
               'Stelle des Fehlers = ' +intToStr(code2) +#13#13+
               'Falsches Zeichen = ' + Edit3.text [code2]+#13#13+
               'Bitte Eingabe wiederholen...' +#13+
               'Nur ganze Zahlen (0-9) erlaubt!',
               mtWarning,[mbOK],0)


else 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) ;
    Label2.Caption := FloatToStr (Endkapital)
end
end //end if code = 0 and code2 = 0 then

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



procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text := ('');
Edit3.Text := ('');
Label2.Caption := 'Endkapital';
Label4.Caption := 'Zinssatz';
edit1.SetFocus ;
edit1.color := clyellow;
end; // end button2click

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
edit3.SetFocus;
edit3.Color := clyellow;
edit1.Color := clwhite;
end;
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Button1.Click;
edit3.Color := clwhite;
end;
end;


procedure TForm1.FormShow(Sender: TObject);
begin
edit1.SetFocus;
edit1.Color := clyellow;
end;

end.
Noch einmal vielen Dank! Wird bestimmt nicht meine letzte Frage gewesen sein

Mfg Siggy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz