Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sir Rufo,
26. Aug 2012
Mal dir das doch einfach mal auf, dann sieht man das auch besser.
Hier mal ein paar Hinweise:
Mit Top und Left ist die linke, obere Ecke beschrieben. Über die Informationen Width und Height ist es möglich auch die untere und rechte Kante zu bestimmen.
Rechte Kante = Left + Width
Untere Kante = Top + Height
Man kann sich das aber auch anders vorstellen:
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sir Rufo,
26. Aug 2012
Deine Klasse TKreis ist auch mit überflüssigen Informationen gespickt. Das reicht schon:
TKreis = class(TShape)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
speedx,speedy :integer;
end;
Allerdings solltest du diese Werte auch beim Erstellen des Kreises mit vorgeben:
procedure TForm1.Button1Click(Sender: TObject);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sir Rufo,
26. Aug 2012
Das macht er ja, aber ;) nur wenn der Kreis von der Wand abprallt :cyclops:
Aber da gibt es noch einiges im Code was suboptimal ist:
Globale Variable Kreis -> Private Variable von TForm1
Statt Form1 in den Methoden Self benutzen
Statt for k := 0 to arraylaenge - 1 do besser for k := low( kreis ) to high( kreis ) do
Statt if Kreis.Top > Self.ClientHeight then besser if Kreis.Top +...