program Clock;
uses crt,graph,dos;
const x0=320;
y0=240;
r=160;
rs=140;
var gd,gm,i,d,x,y:integer;
xs,ys,xm,ym,xh,yh:integer;
h,m,s,s0,hund:word;
phi,psi,fi:real;
ss,mm,hh,rez:string;
begin
gd:=detect;
initgraph(gd,gm,'C:\BP\BGI');
setcolor(9);
circle(x0,y0,r);
phi:=pi/2;
for i:=0 to 59 do begin
if i mod 5=0 then d:=2 else d:=8;
x:=x0+round(r*cos(phi));
y:=y0+round(r*sin(phi));
xs:=x0+round((rs+d)*cos(phi));
ys:=y0+round((rs+d)*sin(phi));
line(x,y,xs,ys);
phi:=phi+pi/30;
end;
gettime(h,m,s,hund);
settextstyle(defaultfont,horizdir,2);
repeat
phi:=s*pi/30-pi/2;
psi:=m*pi/30+s/60*pi/30-pi/2;
fi:=h*5*pi/30+m/12*pi/30-pi/2;
str(s,ss);
str(m,mm);
str(h,hh);
if s<=9 then ss:='0'+ss;
if m<=9 then mm:='0'+mm;
if h<=9 then hh:='0'+hh;
rez:=hh+':'+mm+':'+ss;
xs:=x0+round(rs*cos(phi));
ys:=y0+round(rs*sin(phi));
xm:=x0+round((rs-20)*cos(psi));
ym:=y0+round((rs-20)*sin(psi));
xh:=x0+round((rs-40)*cos(fi));
yh:=y0+round((rs-40)*sin(fi));
setcolor(2);
line(x0,y0,xh,yh);
setcolor(10);
line(x0,y0,xm,ym);
setcolor(14);
line(x0,y0,xs,ys);
setcolor(9);
outtextxy(x0+125,y0-5,'3');
outtextxy(x0-7,y0+125,'6');
outtextxy(x0-140,y0-5,'9');
outtextxy(x0-15,y0-140,'12');
outtextxy(x0-63,y0+48,rez);
s0:=s;
while s=s0 do gettime(h,m,s,hund);
setcolor(black);
line(x0,y0,xh,yh);
line(x0,y0,xs,ys);
line(x0,y0,xm,ym);
outtextxy(x0-63,y0+48,rez)
until keypressed;
closegraph
end.
Аналоговые часы 2
Подписаться на:
Комментарии к сообщению (Atom)
Если у вас интересные исходники и вы не прочь поделиться, то присылайте daslex@yandex.ru с указанием Темы: Графика Паскаль
К вашей работе будет прикреплено ваше авторство и по желанию добавлена ссылка на ваш сайт.
На одну страницу - Одна работа. На одну работу - Одна ссылка + указание автора
Основное требование - это один файл .pas без сторонних модулей (только с родными. предпочтение Graph).
Можно использовать ассемблерные вставки.
Все что Запускается у меня и работает, я выкладываю. в этом блоге.
К вашей работе будет прикреплено ваше авторство и по желанию добавлена ссылка на ваш сайт.
На одну страницу - Одна работа. На одну работу - Одна ссылка + указание автора
Основное требование - это один файл .pas без сторонних модулей (только с родными. предпочтение Graph).
Можно использовать ассемблерные вставки.
Все что Запускается у меня и работает, я выкладываю. в этом блоге.
Комментариев нет:
Отправить комментарий