program clock;
uses
Graph, Crt, DOS;
var
x1,x2,x3,y1,y2,y3,xt, yt:integer; {координаты}
n:real;
color, i,b:byte; {цвет и счетчики циклов}
s:string; {чтобы рисовать текст}
Gm, Gd:Integer;
c,m,h, hund:word;
begin
Gd:=Detect;
InitGraph(Gd,Gm,
If GraphResult <> grOk then
Halt(1);
cleardevice;
for i:=1 to 12 do begin {"рисование" циферблата}
xt:=115 + round(100*sin(6.28*30*i/360));
yt:=115 - round(100*cos(6.28*30*i/360));
MoveTo(xt,yt);
SetColor(lightBlue);
SetTextStyle(DefaultFont, HorizDir, 1); { CharSize = 1 }
SetTextJustify(LeftText, TopText);
str(i,s);
OutTextXY(xt,yt,s);
end;
gettime(h, m, c, hund);
x1:=115+round(90*sin((c*6+270)*Pi/180));
y1:=115-round(90*cos((c*6+270)*Pi/180));
x2:=115+round(60*sin((m*6+270)*Pi/180));
y2:=115-round(60*cos((m*6+270)*Pi/180));
x3:=115+round(40*sin((h*6+270)*Pi/180));
y3:=115-round(40*cos((h*6+270)*Pi/180));
repeat
{стираем старое - рисуем чёрным цветом}
SetColor(BLACK);
SetLineStyle(0,0,3);
MoveTo(120,120);
LineTo(x1,y1);
SetLineStyle(0,0,3);
MoveTo(120,120);
LineTo(x2,y2);
setlineStyle(0,0,3);
MoveTo(120,120);
LineTo(x3,y3);
{"рисование" минутной, секундной, и часовой стрелки}
gettime(h, m, c, hund);
x1:=115+round(90*sin((c*6+270)*Pi/180));
y1:=115-round(90*cos((c*6+270)*Pi/180));
x2:=115+round(60*sin((m*6+270)*Pi/180));
y2:=115-round(60*cos((m*6+270)*Pi/180));
x3:=115+round(40*sin((h*6+270)*Pi/180));
y3:=115-round(40*cos((h*6+270)*Pi/180));
SetColor(red);
SetLineStyle(0,0,3);
MoveTo(120,120);
LineTo(x1,y1);
{minutnay strelka}
SetColor(White);
SetLineStyle(0,0,3);
MoveTo(120,120);
LineTo(x2,y2);
{chasovay strelka}
SetColor(Green);
setlineStyle(0,0,3);
MoveTo(120,120);
LineTo(x3,y3);
Delay(50);
until KeyPressed;
Readln;
CloseGraph
end.
от
Serge_Bliznykov http://programmersforum.ru/
Комментариев нет:
Отправить комментарий