Новые сообщения · Правила  
Страница 1 из 11
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Помогите с программой (Помогите передвинуть часы на центр!!!)
Помогите с программой
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.
1 | Автор: zombi | 2012-06-06, 09:38   |  Репутация: [ + 0 ]
Что сделать нужно?)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2012-06-06, 15:59   |  Репутация: [ + 211 ]
Там часы в левой части экрана, их нужно передвинуть на центр!!
3 | Автор: zombi | 2012-06-07, 08:56   |  Репутация: [ + 0 ]
Ну смотри:
Верхний левый угол - это координаты (0;0)
начни рисовать всё не с (0;0) а чуть ранее центра:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2012-06-07, 14:44   |  Репутация: [ + 211 ]
Спасибо!)
Слушай можешь еще сказать как туда заставку добавить?? Ну типо "Для запуска часов нажмите клавишу...."??
5 | Автор: zombi | 2012-06-08, 09:13   |  Репутация: [ + 0 ]
writeln('Для запуска часов нажмите клавишу ENTER');
readln;

или

writeln('Для запуска часов нажмите клавишу ENTER');
readkey;

))
Для проверки введён ли энтер добавь чаровскую переменную и после
if charovskayaperemennaya=#13 then начинаем работу часов)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2012-06-08, 12:49   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Помогите с программой (Помогите передвинуть часы на центр!!!)
Страница 1 из 11
Поиск: