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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2011, 20:41   #1
nik20
 
Регистрация: 05.12.2010
Сообщений: 5
По умолчанию Часы-Будильник.Timer

помогите добавить будильник
и как сделать деления на циферблате?
Вложения
Тип файла: rar chasi sasha.rar (176.0 Кб, 59 просмотров)
nik20 вне форума Ответить с цитированием
Старый 21.01.2011, 16:13   #2
c0r3
Новичок
Джуниор
 
Регистрация: 10.01.2011
Сообщений: 2
По умолчанию

1)
в секции var
Код:
var
 alert:ttime;
в секции Timer1Timer
Код:
if CheckBox1.Checked then                  //будильник включен?
  if abs((Time-Alert))<EncodeTime(0,0,1,0)      // округление до секунды
     then ShowMessage('Boom');
в секции Button2Click
Код:
Alert:=EncodeTime(
  strtoint(trim(edit4.Text)),
  strtoint(trim(edit5.Text)),
  strtoint(trim(edit6.Text)),
  0);
2) деления ни циферблате
в секции Timer1Timer

Код:
form1.PaintBox1.canvas.Pen.Color:=clGreen;
form1.PaintBox1.canvas.Pen.width:=1;
for i:=1 to 60 do begin
  if i mod 5 = 0 then begin
    Form1.Canvas.Pen.Width:=1;
    x:=round(250+200*sin((pi/180)*i*6));
    y:=round(250-200*cos((pi/180)*i*6));
    form1.paintbox1.canvas.moveto(x,y);
    x:=round(250+250*sin((pi/180)*i*6));
    y:=round(250-250*cos((pi/180)*i*6));
    form1.PaintBox1.Canvas.LineTo(x,y);
  end;
end;
а вообще почитайте про функции EncodeTime и DecodeTime; пользуйтесь типами TDateTime TTime
и делайте отсупы в коде.
c0r3 вне форума Ответить с цитированием
Старый 21.01.2011, 17:33   #3
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Советую сделать следующее изменение, для снижения мерцаний
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
rgn2:=CreateEllipticRgn(0,0,500,500);
rgn1:=CreaterectRgn(50,494,800,800);
brush.color:=clskyblue;
combinergn(rgn1,rgn1,rgn2,rgn_or);
setwindowrgn(handle,rgn1,truE);
Canvas.Pen.Width:=1;
DoubleBuffered := true;
end;
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Будильник. rabbitsnew Общие вопросы Delphi 2 30.08.2010 21:04
будильник waka2ebawer Общие вопросы Delphi 4 22.06.2010 10:47
Cи. программа часы-будильник kireev Помощь студентам 0 18.01.2010 17:10
Будильник RealSHELS Свободное общение 6 30.05.2008 21:40
Будильник DeDoK Общие вопросы Delphi 7 21.02.2008 10:02