gnomecoder - Do 17.02.11 22:46
Titel: Objekt einer Klasse als Parameter?
Hi,
habe heute meine ersten Schritte in objektorientierte Programmierung gewagt.. will aber noch nicht alles klappen.
Wie kann ich ein Objekt einer Klasse einer Prozedur übergeben?
Meine Funktion sieht so aus:
sonne und erde sind objekte der klasse THimmelskörper.
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:
| procedure tform1.zeichne(); var x, y, a : integer; begin setFarbe(clblack); image1.Canvas.Rectangle(0,0, image1.Width, image1.height);
setfarbe(sonne.FFarbe); x:= sonne.Stelle.X - (sonne.groesse div 2); y:= sonne.Stelle.Y - (sonne.groesse div 2); a:= sonne.groesse; image1.Canvas.Ellipse(x, y,x + a, y+ a);
setfarbe(erde.FFarbe); x:= erde.Stelle.X - (erde.groesse div 2); y:= erde.Stelle.Y - (erde.groesse div 2); a:= erde.groesse; image1.Canvas.Ellipse(x, y,x + a, y+ a); . . . end; |
jetzt dachte ich ich könnte einfach sowas wie
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure tform1.zeichne(planet : THimmelskoerper); var x, y, a : integer; begin setFarbe(clblack); image1.Canvas.Rectangle(0,0, image1.Width, image1.height);
setfarbe(planet .FFarbe); x:= planet .Stelle.X - (planet .groesse div 2); y:= planet .Stelle.Y - (planet .groesse div 2); a:= planet .groesse; image1.Canvas.Ellipse(x, y,x + a, y+ a); end; |
das scheint aber nicht möglich zu sein.
habs auch schon mit
Delphi-Quelltext
1:
| irgendwas = Class of thimmelskoerper; |
und dann
Delphi-Quelltext
1:
| procedure tform1.zeichne(planet : irgendwas); |
versucht, aber da stimmen dann die typen wieder nicht überein.
also wie gehts richtig? :)
Moderiert von
Martok: Code- durch Delphi-Tags ersetztModeriert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Do 17.02.2011 um 22:39