Einzelnen Beitrag anzeigen

galaxy2k

Registriert seit: 7. Jun 2003
7 Beiträge
 
Delphi 7 Professional
 
#12
  Alt 16. Jun 2003, 13:23
Also , die Units sehen bei mir so aus . Falls daran im Aufbau was falsch ist , bitte korrigiert mich .

mFigur(Basisklasse) :

Delphi-Quellcode:
unit mFigur;

interface
  uses mSum;
  type
   TFigur = class

   hatpen : buntstift;

   zXpos,zYpos,zGeschw,zRadius,zAbstand : Zahl;
   zFarbe : GanzeZahl;
   

   constructor init(pXpos,pYpos,pGeschw,pRadius,pAbstand : Zahl;pFarbe : GanzeZahl);virtual;


   procedure zeichne;
   procedure loesche;
   procedure bewege;virtual;abstract;

 destructor gibfrei;

end;
 implementation
 constructor TFigur.init(pXpos,pYpos,pGeschw,pRadius,pAbstand : Zahl;pFarbe : GanzeZahl);
 BEGIN
  hatpen := buntstift.init;



  zXpos := pXpos;
  zYpos := pYpos;
  zGeschw := pGeschw;
  zRadius := pRadius;
  zAbstand := pAbstand;
  zFarbe := pFarbe;
   //erste Anweisungen
   hatpen.setzeFarbe(zFarbe);
   hatpen.setzeFuellMuster(gefuellt);
   hatpen.hoch;
   hatpen.bewegeBis(zXpos,zYpos);
 END;

 procedure TFigur.zeichne;

  BEGIN
  hatpen.zeichneKreis(zRadius);
  END;


 procedure TFigur.loesche;
  BEGIN
  zeichne;
  hatpen.radiere;
  zeichne;
  hatpen.normal;
  END;

  destructor TFigur.gibfrei;
  BEGIN
   hatpen.gibFrei;
  END;

 end.
mPlanet :

Delphi-Quellcode:
unit mPlanet;

interface
 uses mSum,mFigur,mSonne;
 type
  TPlanet = class(TFigur)

  zJahr : Zahl;
  kSonne : TSonne;

 constructor init(pkSonne : TSonne;pAbstand,pGeschw,pRadius : Zahl;pFarbe: GanzeZahl);overload;

 procedure bewege;override;
end;

implementation
 constructor TPlanet.init(pkSonne : TSonne;pAbstand,pGeschw,pRadius : Zahl;pFarbe: GanzeZahl);
 BEGIN
  hatpen := buntstift.init;

  kSonne := pkSonne;
  zAbstand := pAbstand;
  zGeschw := pGeschw;
  zFarbe := pFarbe;
  zRadius := pRadius;
  zXpos := kSonne.zXpos;
  zYpos := kSonne.zYpos;

   hatpen.setzeFarbe(zFarbe);
   hatpen.setzeFuellMuster(gefuellt);
   hatpen.hoch;
   hatpen.bewegeBis(zXpos,zYpos);

 END;

  procedure TPlanet.bewege;

   BEGIN
   hatpen.bewegeUm(zAbstand);
   inherited zeichne;
   warte(10);
   inherited loesche;
   hatpen.bewegeUm(-zAbstand);
   hatpen.dreheUm(zGeschw);
    IF (hatpen.winkel = 360) OR (hatpen.winkel = 0 ) then zJahr := zJahr + 1 ;
   END;
end.
mSonne :
Delphi-Quellcode:
unit mSonne;

interface
  uses mSum,mFigur;
  type
   TSonne = class(TFigur)

  constructor init(pXpos,pYpos,pRadius : Zahl;pFarbe : GanzeZahl);overload;
  procedure bewege;override;
end;
  implementation
   constructor TSonne.init(pXpos,pYpos,pRadius : Zahl;pFarbe : GanzeZahl);
   BEGIN
    hatpen := buntstift.init;
    zXPos := pXpos;
    zYpos := pYpos;
    zRadius := pRadius;
    zFarbe := pFarbe;

   hatpen.setzeFarbe(zFarbe);
   hatpen.setzeFuellMuster(gefuellt);
   hatpen.hoch;
   hatpen.bewegeBis(zXpos,zYpos);
  END;

  procedure TSonne.bewege;
  BEGIN
   inherited zeichne;
  END;

end.
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
  Mit Zitat antworten Zitat