Autor Beitrag
Raffy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Do 05.08.04 10:51 
Hallo Leute

ich habe mir mal ein programm zurechtgebeut( mit hilfe einer buches)
mit dem man ausrechnen kann, wie lange es braucht, bis man mit einer
bestimmten summe und mir einem bestimmten prozentsatz auf 1 millionen kommt.
Und wenn ich jetzt das ausgerechnet habe, dann möcht ich einen button haben,
mit denen ich das noch mal wiederholen kann. Aber wie mache ich das?
Vorsichtshalber zeig ich euch mal meinen Quellcode, vielleicht
könnt ihr mir dann ja besser helfen. button1 ist diue taste zu wiederholen.

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:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    lbl_oben: TLabel;
    edit_eingabe: TEdit;
    btm_ok: TButton;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btm_okClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Kapital, Zinsen, Prozent: Real;
  Nr, Laufzeit: Integer;
  spielende: boolean;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
Nr := 0;
end;

procedure TForm1.btm_okClick(Sender: TObject);
begin
  inc (Nr);
  if Nr = 1
   then
begin
  kapital := StrToFloat(edit_eingabe.text);
  lbl_oben.caption := 'wie hoch soll der zinsatz sein?';
  edit_eingabe.text := '';
  edit_eingabe.Setfocus;
end;
 if Nr = 2
  then
begin
  Prozent := StrToFloat(edit_eingabe.Text);
  Laufzeit := 0;
  while kapital< 1000000 do
begin
  Zinsen := Kapital * Prozent / 100;
  Kapital := Kapital + Zinsen;
  inc (Laufzeit);
end;
  if Laufzeit > 0 then
   lbl_oben.caption := 'dein geld muss'
     + IntToStr(Laufzeit)
     + 'Jahre auf der bank braten'
  else
    lbl_oben.caption :=
      'Willkommen im Club der Millionäre!';
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  edit_eingabe.SetFocus;
  lbl_oben.caption := 'Wieviel Geld willst du anlegen?';
  Kapital := 0;
  Zinsen := 0;
  Prozent := 0;
  Laufzeit := 0;
  Spielende := false;

end;

end.


MFG
Raffy
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 05.08.04 12:58 
Hmmm. Dein Quellcode ist etwas seltsam, finde ich. Besonders das mit der globalen Variable Nr. und dem Einlesen von Kapital und Prozentsatz. IMHO wäre es wesentlich sinnvoller, zwei Edits zu nehmen. Eines für den Prozentsatz, eines für das Kapital.
Und die Ausgabe auch in ein Extra-Feld. Dadurch wird das ganze IMHO übersichtlicher - Besonders für den User.

Ansonsten: Pack in die Button1.Click-Procedure noch die Zeile
 nr:=0; rein. Dann sollte das wieder von vorne laufen. Aber ich bleibe dabei: So nen Code wirst du nach 2 Jahren nicht mehr verstehen, wenn du das Project nochmal überarbeitest...

_________________
We are, we were and will not be.
Raffy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 06.08.04 08:00 
Dankeschön.

Es funktioniert. Mein Programm ist so aufgebaut, das man
als erstes aufgefordert wird, dass man eingeben muss wieviel man
anlgegen will und danach kann mach angeben, wie hoch der zinssatz sein soll.
und dann wird angezeigt, wie lange man es auf der bank lassen müßte, bis
man eine millionen hat.

MFG
Raffy