Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с Timer-ом

1.8K
30 мая 2004 года
Syama
97 / / 01.03.2004
Kak можно задать код который уберает форму через 5 секунд?
7.4K
31 мая 2004 года
Ky391
4 / / 19.05.2004
Цитата:
Originally posted by Syama
Kak можно задать код который уберает форму через 5 секунд?



Private Sub Timer1_Timer()
'Таймер сработает по прошествию времени указанного в Timer1.Interval с момента установки Timer1.Enabled = True
Имя_Формы.Hide 'если надо просто скрыть форму
Unload Имя_Формы 'если надо выгрузить форму
End Sub

258
31 мая 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Ky391


Private Sub Timer1_Timer()
'Таймер сработает по прошествию времени указанного в Timer1.Interval с момента установки Timer1.Enabled = True
Имя_Формы.Hide 'если надо просто скрыть форму
Unload Имя_Формы 'если надо выгрузить форму
End Sub



Усли Excel, то Application.OnTime - в этом методе указываешь интервал и имя процедуры, которая будет вызвана на срабатывание таймера

266
31 мая 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Syama
Kak можно задать код который уберает форму через 5 секунд?


На самом деле в VB не всё так просто, но и не сложно. Таймер 5 минут у тебя не протянет. У него есть ограничение интервала в 65535 милисекунд. Поэтому тебе для отсчёта 5 минут надо сделать так:
1. Создать переменную, которая будет увеличиваться при срабатывании таймера.
2. Переменная должна быть кратна 5 минутам.
3. При срабатывании таймера увеличиваешь переменную. Смотришь, равна ли она эквиваленту 5 минут. Если не равна, увеличиваешь её на 1, а таймер сбрасываешь и пусть снова отсчитывает интервал. Иначе выключаешь таймер и прячешь форму.
НО УЧТИ, ТАЙМЕР сильно завасит от загрузки процессора. Поэтому ровно 5 минут отсчитать не получится!
Для точного отсчёта времени я лично пользуюсь таймером, который сверяется с часами ПК и интервал отсчёта которого уменьшается по мере приближения к требуемому моменту времени. Ну а кто поумнее меня, тот API для
этого использует...

7.4K
01 июня 2004 года
Ky391
4 / / 19.05.2004
Или еще можно запомнить время при загрузке формы и по таймеру проверять прошло ли 5 минут или нет, при разнице запомненного времени с текущим >= 5 минут выгрузить форму и остановить таймер.
266
01 июня 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Ky391
Или еще можно запомнить время при загрузке формы и по таймеру проверять прошло ли 5 минут или нет, при разнице запомненного времени с текущим >= 5 минут выгрузить форму и остановить таймер.


Тоже хороший способ, только нужно или интервал для таймера маленький ставить, или как я описывал, уменьшать его по мере приближения окончания 5 минут. А то можно момент прохождения интервала времени пропустить...

1.8K
02 июня 2004 года
Syama
97 / / 01.03.2004
Цитата:
Originally posted by Ky391
Или еще можно запомнить время при загрузке формы и по таймеру проверять прошло ли 5 минут или нет, при разнице запомненного времени с текущим >= 5 минут выгрузить форму и остановить таймер.



А как можно это програмно писать?(примерно)

266
02 июня 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Syama


А как можно это програмно писать?(примерно)


1. Библиотека с таймером подключена по умолчанию. Просто кладёшь его на форму.
Ну а дальше... Блин, давай сюда через 20 минут архив положу с примером, реализованным самым простым способом. ОК?

266
02 июня 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Syama


А как можно это програмно писать?(примерно)


Вот примерный пример. Что там нужно уточнять - смотри в комментариях. Но общий принцип простейшего отсчёта больших интервалов верен.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог