Analogur er fordrejet 15 sek/min.
HejJeg har lavet dette analog ur. Men den er forskudt 15 sek. Sådan så 30 er på 45's plads, og 45 er på 60's plads, det irritere mig ret meget. Er der nogen der kan hjælpe?
På min form har jeg en Timer1 og 3 Shapes, henholdsvis sek1, min1 og time1.
//----------- Min kode --------------
procedure TForm1.Timer1Timer(Sender: TObject);
var
h,m,s,ms : word;
sx1, sy1, mx1, my1, hx1, hy1 : integer;
sx, sy, mx, my, hx, hy : double;
sek, min, time : longint;
begin
DecodeTime(now,h,m,s,ms);
Canvas.Ellipse(20,20,100,100);
Canvas.MoveTo(60,12);
Canvas.LineTo(60,20);
Canvas.MoveTo(60,100);
Canvas.LineTo(60,108);
Canvas.MoveTo(12,60);
Canvas.LineTo(20,60);
Canvas.MoveTo(100,60);
Canvas.LineTo(108,60);
sek := s;
min := m;
time := h;
Canvas.TextOut(100,0,TimeToStr(now));
sx := 60 + 50*Cos((sek*6*Pi)/180);
sx1 := trunc(sx);
sy := 60 + 50*Sin((sek*6*Pi)/180);
sy1 := trunc(sy);
mx := 60 + 50*Cos((min*6*Pi)/180);
mx1 := trunc(mx);
my := 60 + 50*Sin((min*6*Pi)/180);
my1 := trunc(my);
hx := 60 + 50*Cos((time*6*Pi)/180);
hx1 := trunc(hx);
hy := 60 + 50*Sin((time*6*Pi)/180);
hy1 := trunc(hy);
sek1.Left := sx1-5;
sek1.Top := sy1-5;
min1.Left := mx1-5;
min1.Top := my1-5;
time1.Left := hx1-5;
time1.Top := hy1-5;
end;
//-------------- Slutter -----------
