Показать сообщение отдельно
  #2  
Старый 08.12.2009, 23:26
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

кое что поправил держи
Код:
procedure TForm2.drawing;
const
  rad1=100;
  rad2=100;
  dx=150;
  dy=150;
  len1=2;
  len2=1.5;
  len3=1.1;
var
  i: integer;
  X, Y, xh, yh, xm, ym, xs, ys: integer;
  Now: TDateTime;
  hour, min, sec, msec: word;
  hour1, min1, sec1: real;
begin
for i := 1 to 12 do
  begin
  X := trunc(-sin(((pi/6)*(i-1))-pi+(pi/6))*rad1) + dx;
  Y := trunc(cos(((pi/6)*(i-1))-pi+(pi/6))*rad2) + dy;
  image1.Canvas.TextOut(x,y,inttostr(i));
  end;
Now := Time;
DecodeTime(Now,hour,min,sec,msec);
if hour>12 then hour := hour - 12;
hour1 := hour + min/60;
Xh := trunc(-sin(((pi/6)*(hour1-1))-pi+(pi/6))*(rad1/len1))
  + dx;
Yh := trunc(cos(((pi/6)*(hour1-1))-pi+(pi/6))*(rad2/len1))
  + dy;
image1.Canvas.Pen.Color:=clred;;
image1.Canvas.MoveTo(dx, dy);
Image1.canvas.lineto(xh,yh);
// minutnay strelka
min1 := min/5;
Xm := trunc(-sin(((pi/6)*(min1-1))-pi+(pi/6))*(rad1/len2))
  + dx;
Ym := trunc(cos(((pi/6)*(min1-1))-pi+(pi/6))*(rad2/len2))
  + dy;
image1.Canvas.Pen.Color:=clred;;
image1.Canvas.MoveTo(dx, dy);
Image1.canvas.lineto(xm,ym);
//sekundnay strelka
sec1 := sec/5;
Xs := trunc(-sin(((pi/6)*(sec1-1))-pi+(pi/6))*(rad1/len3))
  + dx;
Ys := trunc(cos(((pi/6)*(sec1-1))-pi+(pi/6))*(rad2/len3))
  + dy;
image1.Canvas.Pen.Color:=clred;;
image1.Canvas.MoveTo(dx, dy);
Image1.canvas.lineto(xs,ys);
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
drawing;
end;
Ответить с цитированием