Einzelnen Beitrag anzeigen

SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#37

Re: ich brauch dringende Hilfe bei meiner Analog Uhr!!!!!

  Alt 1. Apr 2007, 13:05
und als Feintuning könnte man jetzt das Berechnen der Koordinaten noch in eine Prozedur auslagern:

Delphi-Quellcode:
procedure GetCoors(winkel, radius: Float; var x, y: Integer)
begin
  winkel := winkel * pi/180;
  x := 639 + Round(cos(winkel)*radius);
  y := 331 + Round(sin(winkel)*radius);
end;
(ungetestet, einfach mal so runtergetippert)

Du hast mehrfach im Programm immer wieder Berechnung, die könntest du damit zusammenfassen:
Delphi-Quellcode:
  // Sekundenzeiger
  GetCoors(sec * 6, r, x, y);
  Canvas.Pen.Color:=clblack;
  Canvas.Pen.Width:=1;
  Canvas.MoveTo(639,331);
  Canvas.LineTo(x,y);
"sec * 6" deshalb, weil sich die 60 Sekunden auf 360° aufteilen und die eigentliche Berechnung damit sec * 360 / 60 wäre. Und ohne Überprüfung per Taschenrechner wage ich zu behaupten, dass 360/60 = 6 ist.

An dem Himmel müsste man noch feilen, die Übergänge sind zu hart hm, mal basteln...

PS: wenn ich gewusst hätte, dass es als ersten Preis ein Küßchen gab, hätt ich mich mehr ins Zeug gelegt
  Mit Zitat antworten Zitat