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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.06.2009, 21:10   #1
ЯН_КА
Пользователь
 
Регистрация: 17.04.2009
Сообщений: 43
По умолчанию Народ,срочно!!!!!нужны советы!!!

всем привет!!!кто знает как работать со временем в паскале???какие модули использовать?и как сделать,чтоб программа не работала на процедуре delay?срочно!!!!!
ЯН_КА вне форума
Старый 26.06.2009, 21:30   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Рисует механические часы:
Код:
Program P;
uses WinDos,Crt, Graph;
var
Gd, Gm: Integer;
h,m,s,hund : word;    {Vrema}
hR,mR,sR,cR : byte;      {Radiusu strelok}
Cx,Cy : integer;      {Centr Chiferblata}

procedure DrawStr;    {Risovat strelki}
begin
 GetTime(h,m,s,hund);
 SetColor(4);SetLineStyle(0,0,0);
 Line(Cx,Cy,Cx+Round(Cos((s*6+270)*Pi/180)*sR) ,Cy+Round(Sin((s*6+270)*Pi/180)*sR) );
 SetColor(2);SetLineStyle(0,0,3);
 Line(Cx,Cy,Cx+Round(Cos((m*6+270)*Pi/180)*mR) ,Cy+Round(Sin((m*6+270)*Pi/180)*mR) );
 SetColor(2);
 Line(Cx,Cy,Cx+Round(Cos((h*30+270)*Pi/180)*hR) ,Cy+Round(Sin((h*30+270)*Pi/180)*hR) );
  SetColor(4);
 Rectangle(Cx-1,Cy-1,Cx+1,Cy+1);
end;

Procedure DrawChiferblat;
var
i,he : integer;
st:string;
begin
 SetColor(1);
 SetLineStyle(0,0,0);
 he:=3;
 Circle(Cx,Cy,cR);
 for i:=1 to 60 do
  Line(Cx+Round(
  Cos((i*6+270)*Pi/180)*(cR-he)) ,
  Cy+Round(Sin((i*6+270)*Pi/180)*(cR-he)),
  Cx+Round(Cos((i*6+270)*Pi/180)*cR) ,
  Cy+Round(Sin((i*6+270)*Pi/180)*cR) );
   SetColor(6);
 SetLineStyle(0,0,3);
 for i:=1 to 12 do
  Line(Cx+Round(
  Cos((i*30+270)*Pi/180)*(cR-he)) ,
  Cy+Round(Sin((i*30+270)*Pi/180)*(cR-he)),
  Cx+Round(Cos((i*30+270)*Pi/180)*cR) ,
  Cy+Round(Sin((i*30+270)*Pi/180)*cR) );
 for i:=1 to 12 do
 begin
  MoveTo(
  Cx-5+Round(Cos((i*30+270)*Pi/180)*(cR+10)) ,
  Cy-5+Round(Sin((i*30+270)*Pi/180)*(cR+10)) );
  str(i,St);
  OutText(St);
 end;
end;

Procedure Panel_DayOut;
begin
 SetColor(1);
 SetLineStyle(0,0,0);
Rectangle(Cx+cR+15,Cy-cR,Cx+cR+25,Cy+cR);
 SetFillStyle(9,1);
Bar(Cx+cR+15,Round(  (Cy+cR)-(cR*2*((h+0.01)/24))  )
,Cx+cR+25,Cy+cR); {+0.01 - diviion by ZERO}
{----Images\/-----Images\/-------Images\/-}

end;

begin
Gd := Detect; InitGraph(Gd, Gm, 'C:\BP\UNITS');
Cx:= GetMaxX div 2; Cy:= GetMaxY div 2;
sR := 50; mR:= 45; hR:=30; cR:=55;
{---------------------------------------}
repeat
ClearDevice;
DrawChiferblat;
DrawStr;
Panel_DayOut;
Delay(10000); Delay(10000);  Delay(10000);
until KeyPressed;
{---------------------------------------}
CloseGraph;
end.
Levsha100 вне форума
Старый 26.06.2009, 21:47   #3
ЯН_КА
Пользователь
 
Регистрация: 17.04.2009
Сообщений: 43
По умолчанию

мне цифровые нужны
ЯН_КА вне форума
Старый 26.06.2009, 21:48   #4
ЯН_КА
Пользователь
 
Регистрация: 17.04.2009
Сообщений: 43
По умолчанию

и у вас она тоже с процедурой delay.мне сказали нельзя использовать задержки
ЯН_КА вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
срочно нужны программисты vBHost Фриланс 5 16.05.2009 15:16
Делфи + Автокад, есть ли альтернатива Автокаду? Нужны советы. Казаков Александр Помощь студентам 1 12.04.2009 00:19
Нужны советы по Java shkipper Помощь студентам 1 08.04.2009 02:28
Срочно нужны компоненты Terran Компоненты Delphi 2 14.03.2008 17:24