Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сделать таймер, событие, например новый год! 
:(
    Опции темы
ConstantinXXX
Дата 28.7.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 27.5.2006
Где: U.S.A. :-)

Репутация: нет
Всего: 0



как сделать таймер реагирующий на дату и время, т.е. например в 1.09.2008 будет деньриждение моего брата, чтоб он включил комп и у него вылезло сообщение о поздравлении? Например если он включит комп 2.09.2008 то тоже вылезлоб сообщение, что поздровляет с прошедшим праздником? если не трудно помогите... smile
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info
PM MAIL WWW   Вверх
dumb
Дата 28.7.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 3
Всего: 158



пуск -> панель управления -> назначенные задания.
PM MAIL   Вверх
former
Дата 29.7.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 4
Всего: 17



Я делал так. Добавлял программу в автозагрузку. Каждый раз при запуске системы она проверяла дату и, если она совпадает то, появлялась открытка во весь экран, в противном случае выгружалась.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
ALeXandrK
Дата 30.7.2007, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 6



Ну вообще конечно зачем изобретать велосипед, когда он уже есть
dumb:
Цитата

пуск -> панель управления -> назначенные задания.

или куча программ на эту тему, кот. можно скачать в интернете smile 

Но если очень хочется, то можно написать программу, но не совсем такую как предложил ConstantinXXX.
Компьютер может работать и больше чем сутки... тогда его способ тут не подойдет.
В программе, например, сверять дату при запуске и вызывать нужное событие, а потом прибавлять к дате следующей
проверки время до того, как настанут следующие сутки... и по кругу....

Ну автозагрузка и все такое само собой...

Цитата

как сделать таймер реагирующий на дату и время...


Таймер делать не надо... берешь стандартный таймер, а в событие OnTimer прописываешь все свои события (праздники и т.п.).
В свойстве Interval ставишь время до следующего наступления OnTimer и всё... дальше только фантазия по способу поздравления smile 

Банальный пример события OnTimer:
Код

procedure TTimer.OnTimer(Sender: TObject)
begin
  if FormatDateTime('dd.MM',Now) = '01.01' then ShowMessage('С НОВЫМ ГОДОМ!');
  Timer.Interval := 60*60*24*1000; // Новый запуск OnTimer будет через сутки
end;


Это сообщение отредактировал(а) ALeXandrK - 30.7.2007, 01:43


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
ConstantinXXX
  Дата 30.7.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 27.5.2006
Где: U.S.A. :-)

Репутация: нет
Всего: 0



всем спасибо я уже решил эту проблему, если будет время выложу исходничек, просто пишу не с домашнего компа. Тут нет исходников, но смысл прост. Берем сначало год, вычетаем его из нужного например 2006 а нам нужно 2007 получаеться 1 потом берем дату и т.д. когда хоть одно число будет равным 0 или меньше то значит этот день настал! smile
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info
PM MAIL WWW   Вверх
former
Дата 30.7.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 4
Всего: 17



ALeXandrK, я думаю так лучше будет: 

Код

procedure TTimer.OnTimer(Sender: TObject)
begin
  if FormatDateTime('dd.MM',Now) = '01.01' then 
  begin
      ShowMessage('С НОВЫМ ГОДОМ!');
      Timer.Interval := 60*60*24*1000; // Новый запуск OnTimer будет через сутки
  end
  else if FormatDateTime('dd.MM',Now) > '01.01' then ShowMessage('С НАСТУПИВШЕМ НОВЫМ ГОДОМ!');  
end;


Пользователь может ведь и не включать в этот день компьютер.
Кроме того:
1) надо определять разницу в датах при автозагрузке и в соответствии с этим устанавливать таймер. 

2) ввести переменную, отлавливающую количество раз, которое может быть показано поздравление (1,2,3... раза). А то потом так и будет выскакивать. Можно конечно заложить несколько поздравлений и автоматически изменять дату (с расчётом на несколько лет  smile )

Дорабатывать и усовершенствовать можно до бесконечности. 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.