Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Zinseszins (https://www.delphipraxis.net/9860-zinseszins.html)

mola 6. Okt 2003 15:35


Zinseszins
 
Hi
Könntet ihr mal bitte über das Program sehen? Bekomm die Fehler nicht raus
Danke

Delphi-Quellcode:
unit zinseszins;

interface

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

type
  TForm1 = class(TForm)
    Eintrittsalter: TLabel;
    Endalter: TLabel;
    Jahresbeitrag: TLabel;
    Endbetrag: TLabel;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
 function Power (Base,Exponent:Extended):Extended;
var eintritt,austritt,rate,
Anzahl,Abzug,Abzug2,gesamtabzug,Beitrag,KApital:integer;
 hoch:extended;
begin
edit1.text:=inttostr(eintritt);
edit2.text:=inttostr(Rate);
edit3.text:=inttostr (Austritt);
Anzahl:=Austritt-Eintritt;
Abzug:= [(Rate*4)/100];
Abzug2:=[(Rate*10)/100];
gesamtabzug:=Abzug+Abzug2;
Beitrag:=rate-Abzug;
hoch:=power(1,05,Anzahl);
Kapital:=Beitrag*[hoch-1/[hoch*(hoch-1)];
Kapital:=inttostr (edit4.text);
end;
end;
end.
[edit=sakura]Delphi-Tag. Mfg, sakura[/edit]

sakura 6. Okt 2003 15:37

Re: Zinseszins
 
Herzlich willkommen,

damit Dein Code lesbarer wird, habe ich Delphi-Tags drum gesetzt.

++++

Klar können wir, aber könntest Du uns mal schreiben, was für Fehler auftreten oder müssen wir uns einen Wolf suchen *g*

...:cat:...

Christian S. 6. Okt 2003 15:38

Re: Zinseszins
 
Hallo!

Es wäre nicht schlecht gewesen, wenn Du die Fehlermeldung gepostet hättest. Aber könnte es sein, dass er bei der Zeile mit "power" meckert? Es sollte wahrscheinlich 1.05 heißen und nicht 1,05.

MfG
Peter

Matze 6. Okt 2003 15:39

Re: Zinseszins
 
@Sakura: einmal kompillieren, dann siehst du's. ;)

Zitat:

Zitat von Delphi
3x [Fehler] Unit1.pas(39): Ordinaltyp erforderlich:

Abzug:= [(Rate*4)/100];
Abzug2:=[(Rate*10)/100];
Kapital:=Beitrag*[hoch-1/[hoch*(hoch-1)];

[Fehler] Unit1.pas(43): Zu viele Parameter:

hoch:=power(1,05,Anzahl);


Matze 6. Okt 2003 15:43

Re: Zinseszins
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
function Power (Base,Exponent:Extended):Extended;
var eintritt,austritt,rate,
Anzahl,Abzug,Abzug2,gesamtabzug,Beitrag,KApital:real;
hoch:extended;
begin
  Edit1.Text:=FloatToStr(eintritt);
  Edit2.Text:=FloatToStr(Rate);
  Edit3.Text:=FloatToStr(Austritt);

  Anzahl:=Austritt-Eintritt;
  Abzug:= (Rate*4)/100;
  Abzug2:=(Rate*10)/100;
  gesamtabzug:=Abzug+Abzug2;
  Beitrag:=rate-Abzug;
  hoch:=power(1.05,Anzahl);
  Kapital:=Beitrag*hoch-1/(hoch*(hoch-1));
  Edit4.Text:=FloatToStr(Kapital);
end;

mola 6. Okt 2003 16:56

Re: Zinseszins
 
Da sind leider immer noch Fehler drin

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
function Power (Base,Exponent:Extended):Extended;
var eintritt,rate,Austritt,
Anzahl,Abzug,Abzug2,gesamtabzug,Beitrag,KApital:real;
hoch:extended;
begin
Edit1.Text:=FloatToStr(eintritt);
Edit2.Text:=FloatToStr(Rate);
Edit3.Text:=FloatToStr(Austritt);

Anzahl:=Austritt-Eintritt;
Abzug:= (Rate*4)/100;
Abzug2:=(Rate*10)/100;
gesamtabzug:=Abzug+Abzug2;
Beitrag:=rate-gesamtabzug;
hoch:=power(1.05,Anzahl);
Kapital:=Beitrag*hoch-1/(hoch*(hoch-1));
Edit4.Text:=FloatToStr(Kapital);
end;
DAs Programm gibt als Fehlermeldung an:
VAriable 'Austritt' might not have been initialized
VAriable 'rate' might not have been initialized
VAriable 'Eintitt' might not have been initialized
Return value of function 'Power'might be undefined
BEgin expected but end found
declaration expected but end of file found

Vielen Dank für eure Hilfe

[edit=FuckRacism]Delphi-Syntax Mfg, FuckRacism[/edit]

Matze 6. Okt 2003 17:00

Re: Zinseszins
 
Also bei mir geht's!
Es gab nachher nur einen Stack-Überlauf!

Dagon 6. Okt 2003 17:33

Re: Zinseszins
 
Ich habe das Programm mal so abgeändert, dass es funktioniert. Die Formeln, die du gebrauchst, habe ich nicht kontrolliert.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var eintritt, rate, Austritt, Anzahl, Abzug,
    Abzug2, gesamtabzug, Beitrag, KApital, hoch: Extended;
begin
  Eintritt := StrToFloat(Edit1.Text);
  Rate := StrToFloat(Edit2.Text);
  Austritt := StrToFloat(Edit3.Text);

  Anzahl := Austritt - Eintritt;
  Abzug := (4 * Rate)/100;
  Abzug2 := (10 * Rate)/100;
  gesamtabzug := Abzug + Abzug2;
  Beitrag := rate - gesamtabzug;
  hoch := power(1.05, Anzahl);
  Kapital := Beitrag * hoch - 1 /(hoch * (hoch - 1));
  Edit4.Text := FloatToStr(Kapital);
end;

Christian S. 6. Okt 2003 17:35

Re: Zinseszins
 
Hallo!

War eben irgendwie blind. Aber mal ein paar Anmerkungen:
  • Wieso wird das ganze als Funktion Power deklariert? Es sollte wohl eher Button1Click sein, was ja auch drüber steht. (Daher kommt auch der Stack-Überlauf: die Funktion ruft sich selbst auf)
  • alle Variablen sind lokal deklariert und werden nicht intitialisiert. Woher sollen die Werte kommen?

MfG
Peter

//edit: zu spät ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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