Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 11:32   #1
tat'yana
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 1
Восклицание Часовой циферблат!

Помогите пожалуйста, в эту задачу нужно добавить возможность устанавливать время!

Код:
Program ex_clock;
uses Graph, CRT;
var
  d,r,r1,r2,rr,k,x1,y1,x2,y2,x01,y01: integer;
  Xasp,Yasp: Word;
begin
  d:=detect;
  InitGraph(d,r, '');
  k:=GraphResult;
  if k <> grOk then
     writeln(GraphErrorMSG(k))
  else
    begin
    x1:=GetMaxX div 2;
    y1:=GetMaxY div 2;
    GetAspectRatio(Xasp,Yasp);

    r:=round(3*GetMaxY*Yasp/8/Xasp);
    r1:=round(0.9*r);
    r2:=round(0.95*r);

    Circle(x1,y1,r);
    Circle(x1,y1,round(1.02*r));
    for k:=0 to 59 do
    begin
      if k mod 5=0 then
      rr:=r1
      else
      rr:=r2;

      x01:=x1+Round(rr*sin(2*pi*k/60));
      y01:=y1-Round(rr*Xasp*cos(2*pi*k/60)/Yasp);
      x2:=x1+Round(r*sin(2*pi*k/60));
      y2:=y1-Round(r*Xasp*cos(2*pi*k/60)/Yasp);
      Line(x01,y01,x2,y2)
   end;

   SetWriteMode(XORPut);
   SetLineStyle(SolidLn,0,ThickWidth);
   r:=0;

   repeat
      for k:=0 to 59 do
      if not KeyPressed then
        begin
          x2:=x1+Round(0.85*r1*sin(2*pi*r/60/12));
          y2:=y1-round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);

          x01:=x1+Round(r2*sin(2*pi*k/60));
          y01:=y1-Round(r2*Xasp*cos(2*pi*k/60)/Yasp);

          Line(x1,y1,x2,y2);
          Line(x1,y1,x01,y01);
          Delay(60000);

          Line(x1,y1,x01,y01);
          Line(x1,y1,x2,y2);

          inc(r);
          if r=12*60 then r:=0
        end
   until KeyPressed;
   if Readkey=#0 then k:=ord(ReadKey);
   CloseGraph
   end
end.
___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.01.2011 в 11:39.
tat'yana вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время,часовой пояс на сайте. SergeyGavrolov PHP 1 16.11.2010 21:50
Поворот на 90 градусов против часовой стрелки Lindemann Общие вопросы .NET 1 04.01.2010 19:30
Как расположить вершины многоугольника против часовой стрелки ? Вадим Буренков Помощь студентам 7 21.08.2009 10:42
Как перевернуть изображение по часовой стрелке John_chek Мультимедиа в Delphi 7 09.07.2007 00:24