unit u_ampelklasse; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, extCtrls; type tFarbkreis = class (TShape) private public constructor Create (myOwner : TComponent); override; destructor Destroy (); override; procedure Init (myColor : TColor); end; tf_ampel = class(TForm) private { Private-Deklarationen } fk_gruen, fk_gelb, fk_rot : tFarbkreis; b_wechseln, b_ende : TButton; public { Public-Deklarationen } constructor Create (myOwner : TComponent); override; destructor Destroy (); override; procedure Init (myPos : Array OF Word; myColor : TColor); end; implementation {$R *.DFM} constructor tFarbkreis.Create (myOwner : TComponent); begin end; destructor tFarbkreis.Destroy (); begin end; procedure tFarbkreis.Init (myPos : Array OF Word; myColor : TColor); begin end; constructor tf_ampel.Create (myOwner : TComponent); begin inherited Create (myOwner); self.Parent := Nil; // Desktop ist der Parent; end; destructor tf_ampel.Destroy (); begin inherited Destroy; end; procedure tf_ampel.Init (myPos : Array OF Word); begin self.Left := myPos[0]; self.Top := myPos[1]; self.Height := 495; self.Width := 148; self.Show; // 3 Farbkreise konstruieren und initialisieren: // 2 Buttons konstruieren und initialisieren: end; end.