AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi Zinsrechner

Ein Thema von Siggy · begonnen am 13. Nov 2008 · letzter Beitrag vom 15. Nov 2008
 
Siggy

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

Delphi Zinsrechner

  Alt 13. Nov 2008, 16:28
Hallo Delhpi-Gemeinde!
Habe dieses Schuljahr mit Delphiangefangen (wird von nem Lehrer als Art Wahlfach angegeben, das ich aber abrechnen kann).
Wir sind noch ziemlich am Anfang und bis jetz bin ich überall mitgekommen und habe zuhause meistens schon vorgearbeitet.
Letzte Woche haben wir einen Zinsrechner (den wir vorher programmiert haben) versucht noch ein bisschen zu erweitern.
Zum einen haben wir eingebaut, dass wenn man das Programm öffnet, dass man automatisch in das Edit1 Fenster springt mit eingabe von Enter kommt man in Edit2 und bei weiterem Drücken von Enter rechnet das Programm.
Soweit so gut. Leider kommt bei Start des Programms immer die Nachricht:

Deaktiviertes oder unsichtbares Fenster kann den Fokus nicht enthalten!

Unser Lehrer hat gemeint, ist halt so aber irgendwie kann ic das nicht glauben. Deswegen meine 1. Frage:
Wie kann man das verbessern??

So nun zu meiner 2. Frage:

Wir haben dann noch etwas gemacht mit val(Edit1.text, Var, code )
Leider haben wir das nicht "fertig" gemacht und unser Programm dann so stehen lassen:

[code=delphi]var
Form1: TForm1;
code: Integer;
Anfangskapital: real;
Jahre: real;
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, code);


if Jahre <=4
then
begin
Zinssatz := 3;
Label4.Caption :=
'mit einem Zinssatz von 3%';
end

else
begin
Zinssatz := 5;
Label4.Caption :=
'mit einem Zinssatz von 5%' ;
end;

if Jahre >= 10
then
begin
Zinssatz := 7 ;
Label4.Caption :=
'mit einem Zinssatz von 7%' ;
end;



if code = 0 then
Endkapital :=
(Round(100*(Anfangskapital * exp (Jahre * ln (1+ Zinssatz/100))))/100) ; // V erarbeitung
Label2.Caption := FloatToStr (Endkapital); // A usgabe

except
Showmessage ('Eingabefehler:' +#13+
'Variable = Laufzeit' +#13+
'Stelle =' +FloatToStr(code) +#13+
'Falsches Zeichen=' + Edit3.text
Code:
+#13#13+
               'Bitte Eingabe wiederholen...');

    end;
end;

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

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

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.SetFocus;
end;

end.
Ziel ist es (soweit ich weiss) dass wenn man eine falsche Eingabe macht, zum Beispiel bei Jahre: 1a2x
, dass dann eine Meldung kommt die dem Benutzer des Programms sagt, wo der Fehler liegt und wie man das besser machen kann.

Bis jetzt funktioniert das aber noch nicht. Wenn man eine falsche Eingabe macht bleibt einfach das alte Ergebnis stehen oder es tut sich gar nichts.


Nun wüsste ich gerne was noch nicht stimmt und wie man das verbessern kann?

Ich weiss ziemlich viel Text, aber ich hoffe dennoch dass mein Problem klar geworden ist und dass ihr mir helfen könnt.

Mfg Siggy
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz