Элемент управления Timer (таймер)
используется для выполнения действия через
определенный промежуток времени. Основное
свойство элемента - Interval - задает интервал
времени, определяющий, как часто таймер должен
уведомлять приложение. Свойство Interval задается в
миллисекундах (1000 миллисекунд = 1 секунде).
Хочется отметить, что максимально возможное
значение данного свойства равно 65 секундам. Единственное
событие таймера - Timer. Для того, чтобы как работает
это событие, создайте новый проект, поместите на
форму элемент Timer. Установите значение Interval
равным 1000 (1 секунда). В событие Timer1_Timer вставьте
следующий код:
Form1.Caption = Time
Запустите проект. Вы можете наблюдать, как
через промежуток времени, равный 1 секунде
меняется заголовок формы на текущее время вашего
компьютера. Но если вы поставите значение Interval
таймера равным 2000 или 10000, то заголовок формы
будет меняться через 2 или 10 секунд.
Далее показаны несколько примеров
использования таймера.
Реализация функции «ожидания» в VB
Этот пример покажет, как можно реализовать
функцию ожидания в VB. Вначале поместите на форму
таймер (Timer1) и установите его свойство Enabled = False.
Для тестирования процедуры добавьте две метки
(Label1 и Label2) и командную кнопку (Command1) к форме.
Напишите следующую подпрограмму и код события
Timer для таймера:
Public Sub Wait(seconds)
Timer1.Enabled = True 'включение таймера
Timer1.Interval = 1000 * seconds 'установка интервала для
таймера
While Timer1.Interval > 0
DoEvents
Wend
Timer1.Enabled = False ' выключение таймера
End Sub
Private Sub Timer1_Timer()
Timer1.Interval = 0
End Sub
Теперь можете использовать функцию Wait везде,
где требуется какая-либо задержка, например:
Private Sub Command1_Click()
Label1.Caption = Now
Wait (5)
Label2.Caption = Now
End Sub
К примеру, необходимо чтобы каждые
две минуты происходило какое-либо событие
Недостатком данного метода является
добавление в вашу программу дополнительных
переменных. К тому же данная программа
испытывалась в режиме тестирования, когда
нагрузки на компьютер не было. И непонятно, как
поведет себя эта программа в реальном режиме
работы.
Dim n As Long, s As Long
Private Sub Form_Load()
n = 1
End Sub
Private Sub Timer1_Timer()
s = s + 1
Select Case s
Case 120 * n '120 - число в минутах
Form2.Show 'событие: показать форму
n = n + 1
End Select
End Sub
|