Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Мне нужно написать курсовую, на паскале сделать програму где будут идти часы ,как это сделать,помогите

DudE Ученик (113), закрыт 17 лет назад
нужно что бы прога была оформлена и у неё был не плохой интефейс
Дополнен 17 лет назад
напишите прогу если сможете заранее спасибо
DEADMoRoZ Знаток (320) 17 лет назад
Сделай лучше flash часы намного лучше :)
Bull Профи (798) 17 лет назад
Необходимо зделать ассемблерную вставку, которая будет перехватывать прерывания таймера и тогда все будет ОК. А больше, в реальном времени на Паскале, ты это никак не зделаешь
Никола Знаток (399) 17 лет назад
uses dos
gettime
в хэлпе посмотри, по моему так функция называется. Там разберёшься с переменными. А интерфейс если графический, то ничего сложного - цифры прописываешь как рисовать и подставляешь. Если текстовый - ещё проще. Можно в рамку оформить и разноцветными шрифтами отображать, типа для каждой циферки свой цвет... Ну в общем я не дизайнер, думаю сам скумекаешь как лучше будет...
Дмитрий Дремов Профи (519) 17 лет назад
const r=100;
procedure draw(h,m,s:integer);
var i:integer;
begin
{Clock drawing}
circle(getmaxx div 2,getmaxy div 2,r);
for i:=0 to 11 do
line(round(r*cos(Pi*i/6)),round(r*sin(Pi*i/6)),
round(0.9*r*cos(Pi*i/6)),round(0.9*r*sin(Pi*i/6)));
{Arrows drawing}
line(round(0.1*cos(Pi/2+Pi*(h+m/60)/6)) ,round(0.1*sin(0.1*Pi*(h+m/60)/6)),
round(0.5*h*cos(Pi*(h+m/60)/6)) ,round(0.5*r*sin(Pi*(h+m/60)/6)));
line(round(0.1*cos(-Pi/2+Pi*(h+m/60)/6)),round(0.1*sin(-Pi/2+Pi*(h+m/60)/6)
round(0.5*h*cos(Pi*(h+m/60)/6)) ,round(0.5*r*sin(Pi*(h+m/60)/6)));
line(round(0.1*cos(-Pi/2+Pi*(h+m/60)/6)),round(0.1*sin(-Pi/2+Pi*(h+m/60)/6)
round(0.1*cos(Pi/2+Pi*(h+m/60)/6)) ,round(0.1*sin(0.1*Pi*(h+m/60)/6)))
end;

Вот пример процедуры рисующей часы и стрелку(не проверял но вроде должно работать).
Задержку по времени можно сделать при помощи delay(ms); добавь в uses crt.
Похожие вопросы