Einzelnen Beitrag anzeigen

YXCVBNM1

Registriert seit: 4. Dez 2010
12 Beiträge
 
#1

Anfängerproblem

  Alt 2. Aug 2011, 11:03
Ich bin absoluter Programmieranfänger und habe ein Problem über das ihr warscheinlich kaputtlacht... Aber ich komme in diesem Fall nicht weiter. Ich habe ein Projekt, dass bisher aus 3 Units besteht. Der GUI, USpieler und UBank. In der GUI werden Spieler und Bank von Typ TSpieler und TBank erzeugt. Allerdings weiß ich nicht wie ich dann in USpieler auf UBank zugreifen kann.

Ich will die Zinsen eines Spielers berechnen der sein Geld auf ein Sparbuch (Bank) legt. Dabei zeigt Delphi mir bei der Zeile Bank.Zinsenberechnen(Geld); (Fehlermeldung: Undefinierter Bezeichner 'Bank') eine Fehlermeldung an und ich weiß halt nicht wie ich die beheben soll. Ich hab die Units unten reinkopiert. Normalerweise steht noch viel mehr in den Units. Ich hab aber alles was nichts mit den Problem zu tun hat hier rausgetan, damit der Beitrag nicht zu lang wird...


Danke im Voraus für eure Hilfe!!!

(Achja Programmversion ist TurboDelphi6)


Delphi-Quellcode:
unit UGUI;

interface

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

type
  TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
     private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Spieler:TSpieler;
  Bank:TBank;
implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
Bank:=TBank.create;
Spieler:=TSpieler.create(1000);

end;

end.

_____________________________________________________________

unit USpieler;

interface
uses UBank;
type TSpieler=class
private
Geld:real;
public
function getGeld:real;
constructor create(Startgeld:real);
procedure Runde;
end;
implementation

function TSpieler.getGeld;
begin
result:=Geld;
end;


constructor TSpieler.create(Startgeld:real);
begin
Geld:=1000;
end;

procedure TSpieler.Runde;
begin
Bank.Zinsenberechnen(Geld);
end;

end.

______________________________________________________________________

unit UBank;

interface
type TBank=class
private
Zinssatz:real;
Zinsen:real;
public
constructor create;
procedure Zinsenberechnen(Geld:real);
function getZinsen:real;
end;

implementation

procedure TBank.Zinsenberechnen(Geld:real);
begin
Zinsen:=Geld*Zinssatz;
end;


constructor TBank.create;
begin
Zinssatz:=2;
end;

function TBank.getZinsen:real;
begin
result:=Zinsen;
end;

end.

Geändert von MrSpock ( 2. Aug 2011 um 11:56 Uhr)
  Mit Zitat antworten Zitat