Entwickler-Ecke

Sonstiges (Delphi) - Zinseszinsrechner - Fehler: Pointer type required


dejavu - Do 06.05.10 18:39
Titel: Zinseszinsrechner - Fehler: Pointer type required
Hallo, ich bastel mir gerade einen Rechner, mit dem man bei Krediten Laufzeit, Startkapital,Endkapital und Prozentsatz errechnen kann. Das Programm errechnet immer die Fehlende der 4 Variablen. Also wenn nur Laufzeit, Startkapital und Zinssatz gegeben sind errechnet es automatisch das Endkapital und gibt es in einem Panel als Text an.

Für den ersten Fall, nähmlich das das Anfangskapital nicht gegeben ist, habe ich meinen Quelltext schon fertig, allerdings wird mir da n Fehler angezeigt. Vielleicht findet den ja einer von euch. :)
Mein Quelltext:



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:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    EK0: TEdit;
    EKn: TEdit;
    En: TEdit;
    EP: TEdit;

    BStart: TButton;
    PErgebnis: TPanel;
    procedure BStartClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BStartClick(Sender: TObject);
var k0,kn,q,p,n :real;
begin
k0:= StrToFloat (EK0.Text);
kn:= StrToFloat (EKn.Text);
n:= StrToFloat (En.Text);
p:= StrToFloat (EP.Text);
q:= 1+ (p*0.01);

if (EK0.Text=''then

begin
k0:= kn*(q^n);
PErgebnis.Text:= FloatToStr (k0);
end;



end;

end.


Fehler:
Zeile 43 (k0:= kn*(q^n);) : Pointer type required

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt


Okay, jetzt weiß ich schonmal das ich die "power" funktion brauche. Allerdings finde ich im Internet nich wie ich das richtig schreiben muss. Kann mir die betreffende Zeile einmal richtig umschreiben?
Moderiert von user profile iconNarses: Titel geändert.


Gausi - Do 06.05.10 18:54

Exponentieren geht nicht mit "^". Dafür braucht man schon die Funktion power aus der Unit math. :)


dejavu - Do 06.05.10 19:05

user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Exponentieren geht nicht mit "^". Dafür braucht man schon die Funktion power aus der Unit math. :)


Okay, also muss ich bei Uses noch Math, eingeben oder wie? Und wie muss das dann aufgebaut sein mit dieser Power-Funktion?


ALF - Do 06.05.10 19:07

jo so ist es :wink:
Gruss Alf


Gausi - Do 06.05.10 19:08

Jep, da musst du math bei uses hinzufügen. Und die Funktion power hat zwei Parameter. Einen für die Basis (die Zahl vor dem ^) und einen für den Exponenten (die Zahl nach dem ^). Was da zuerst kommt, weiß ich grade nicht auswendig. Aber das sollte in der Hilfe stehen. ;-)