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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2008, 14:39   #1
ben95
Новичок
Джуниор
 
Аватар для ben95
 
Регистрация: 22.12.2007
Сообщений: 204
По умолчанию Время

как сделать чтоб программа следила за временем(ну нужно 4 будильника) как сделать?
delphiDv@mail.ru
Delovelper 465-050-510 , 474-655-747
руковадитель none

Последний раз редактировалось ben95; 06.01.2008 в 15:26.
ben95 вне форума Ответить с цитированием
Старый 06.01.2008, 15:04   #2
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Самый примитивный пример (на скорую руку)
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var a,b,c,d:string;
begin
a:='12:12:01';
c:='13:12:01';
b:='14:04:01';
d:='15:12:01';
if timer1.Interval=1000 then
        begin
        if a=timetostr(time) then application.MessageBox('a','dzin');
        if b=timetostr(time) then application.MessageBox('b','dzin');
        if c=timetostr(time) then application.MessageBox('c','dzin');
        if d=timetostr(time) then application.MessageBox('d','dzin');
         end;

end;
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 06.01.2008, 15:36   #3
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Пример в принципе рабочий, только не совсем понятно зачем там стоит проверка if timer1.Interval=1000 then ... ? Работать должно при любом значении интервала.
И еще, в таких случаях лучше проверять не на "равно", а на "равно или больше" текущего времени. Ведь таймер не слишком точная вещь, к тому же, если программа (или система) сильно занята, то несколько "тиков" могут быть просто пропущены (точнее обработаны с большим запозданием).
Jeni вне форума Ответить с цитированием
Старый 06.01.2008, 16:02   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Добавим флаги, показывающие, отработано ли установленное время (в данном случае А):
Код:
var flagA: boolean;
...
begin
flagA:=False;
...
if ((not flagA) and (a>=timetostr(time))) then 
begin
flagA:=not flagA;
application.MessageBox('a','dzin');
end;
...
end;
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время |{ot Паскаль, Turbo Pascal, PascalABC.NET 4 14.05.2008 17:32
время Женька Помощь студентам 4 21.04.2008 17:07
Время в DBGrid Bor_Gus БД в Delphi 4 03.04.2008 02:21
Время.. ZhekON Общие вопросы Delphi 6 18.06.2007 16:59
время программы fluer Общие вопросы Delphi 8 14.03.2007 16:03