AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerproblem

Ein Thema von YXCVBNM1 · begonnen am 2. Aug 2011 · letzter Beitrag vom 2. Aug 2011
Antwort Antwort
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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Anfängerproblem

  Alt 2. Aug 2011, 11:08
Verrätst Du uns denn auch die Fehlermeldung? Übrigens: benutze doch bitte die Delphi-Tags, dann ist der Code viel besser zu lesen. Und ein anderer Thread-Titel, der grob umreißt, worum es geht, wäre auch nicht schlecht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
YXCVBNM1

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

AW: Anfängerproblem

  Alt 2. Aug 2011, 11:15
Die Fehlermeldung heißt:

Undefinierter Bezeichner 'Bank'

ich füge es oben auch mal ein
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Anfängerproblem

  Alt 2. Aug 2011, 11:24
Die Unit Spieler kennt zwar die Unit Bank,
aber eine Instanz von Spieler, kenn nicht die Instanz von Bank.

Du könntest:
In Spieler eine Variable "Bank" anlegen und dieser die in GUI createte Bank zuweisen
oder Zinsenberechnen könnte eine statische Funktion von Bank werden, dann reicht es die Unit einzubinden
oder...

es kommt glaub ich drauf an, was genau du erreichen willst
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Anfängerproblem

  Alt 2. Aug 2011, 11:59
Da "Bank" un UGUI erzeugt wird, ist sie natürlich in USpieler unbekannt.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Anfängerproblem

  Alt 2. Aug 2011, 12:11
Bitte gib deinem Beitrag einen aussagekräftigen Titel. Der jetzige Titel lässt in keinster Weise erahnen um was es in dem Thema geht. Zudem findet später jemand mit dem gleichen Problem die Lösung nur sehr schwer wenn keine ordentlichen Thementitel verwendet werden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


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