Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 17.03.2007, 19:24   #1
Lonix
Пользователь
 
Регистрация: 17.03.2007
Сообщений: 39
Репутация: 10
По умолчанию Определенное время

Как сделать так чтобы через каждые 30 минут выполнялось какое нибудь действие, например выводилось сообщение в label?




Заранее спасибо!
Lonix вне форума   Ответить с цитированием
Старый 17.03.2007, 19:44   #2
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

var t: TTime;
...............

В нужный момент фиксируем время начала отсчета:
t:=Now;
//момент начала отсчета
и запускаем TTimer с установленным интервалом в 1 минуту.

В событии OnTimer проверяем, не превысило ли текущее время (Now) наше ранее зафиксированное в переменной t более, чем на 30 мин., т.е. разницу Now-t.
Если да, то выводим
Label1.Caption:='Прошло еще полчаса';
и устанавливаем новое
t:=Now;

Все.

P.S.
Подробнее уже некуда, пора и самому "рогом пошевелить"

Последний раз редактировалось mihali4; 17.03.2007 в 22:18.
mihali4 вне форума   Ответить с цитированием
Старый 17.03.2007, 20:48   #3
Lonix
Пользователь
 
Регистрация: 17.03.2007
Сообщений: 39
Репутация: 10
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
var t: TTime;
...............

В нужный момент фиксируем время начала отсчета:
t:=Now;
//момент начала отсчета
и запускаем TTimer с установленным интервалом в 1 минуту.

В событии OnTimer проверяем, не превысило ли текущее время (Now) наше ранее зафиксированное в переменной t более, чем на 30 мин., т.е. разницу Now-t.
Если да, то выводим
Label1.Caption:='Прошло еще полчаса';
и устанавливаем новое
t:=Now;

Все.

А можно по подробнее это все расписать, а то я новичек в этом деле... Если конечно не составит труда
Lonix вне форума   Ответить с цитированием
Старый 17.03.2007, 22:46   #4
zetrix
Delphi/C++/C#
Профессионал
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
Репутация: 626
По умолчанию

Это засунь в таймер, интервал поставь в 60000
var t:TDateTime;
begin
if (now-t)>strtoTime("0:30:00") then
begin
t:=now;
//то, что тебе надо сделать
end;
end;

Последний раз редактировалось zetrix; 17.03.2007 в 22:49.
zetrix вне форума   Ответить с цитированием
Старый 17.03.2007, 23:17   #5
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Все верно, только t - не таймерская, а глобальная переменная...
Верно?
А то получилось немного непонятно и он может ее засунуть в OnTimer...

Последний раз редактировалось mihali4; 17.03.2007 в 23:26.
mihali4 вне форума   Ответить с цитированием
Старый 17.03.2007, 23:28   #6
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 14,555
Репутация: 3001
По умолчанию

Так. вот этот код самый простой.

вот код
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Caption:='30 минут';
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
label1.Caption:='30 секунд';
end;

end.
вот исходник. для примера есть 30 секундный таймер, он 2.
Вложения
Тип файла: rar время.rar (3.6 Кб, 19 просмотров)
Alar на форуме   Ответить с цитированием
Старый 17.03.2007, 23:47   #7
Lonix
Пользователь
 
Регистрация: 17.03.2007
Сообщений: 39
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Так. вот этот код самый простой.

вот код
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Caption:='30 минут';
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
label1.Caption:='30 секунд';
end;

end.
вот исходник. для примера есть 30 секундный таймер, он 2.
этот пример не работает, показывет все время 30 минут и на доли секундах показывает 30 секунд.
Lonix вне форума   Ответить с цитированием
Старый 17.03.2007, 23:59   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 14,555
Репутация: 3001
По умолчанию

Lonix, нужно запустить исходный код ничего не меняя. через 30 секунд появиться надпись - 30 секунд.
Alar на форуме   Ответить с цитированием
Старый 18.03.2007, 00:07   #9
Lonix
Пользователь
 
Регистрация: 17.03.2007
Сообщений: 39
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Lonix, нужно запустить исходный код ничего не меняя. через 30 секунд появиться надпись - 30 секунд.


Все равно нет такого результата чтобы через определенное время допустим 30 секунд выполнялось одно и тоже действие и выполнялось оно все время
Lonix вне форума   Ответить с цитированием
Старый 18.03.2007, 00:18   #10
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 14,555
Репутация: 3001
По умолчанию

Lonix, сделал вообще просто и время сделал 5 и 7 секунд, чтобы совсем понятно стало.
Вложения
Тип файла: rar время 2.rar (9.5 Кб, 27 просмотров)
Alar на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определенное число установок..??? PONKA Безопасность, Шифрование 4 07.06.2008 08:02
Как к какой либо букве привезать определенное действие? LuMax Помощь студентам 4 25.11.2007 15:06
Какие знаения нужно сложить, чтобы получилось определенное число Natalia K. Microsoft Office Excel 4 23.11.2007 14:22
как под структуру типа MSG выделить строго определенное количество байт? Morskoivolk Assembler 1 03.04.2007 20:12
как сделать, чтобы в определенное время появлялось новое окно Alar Общие вопросы Delphi 0 29.10.2006 21:30


19:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.