Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Элемент управления Timer


Автор: cardinal 23.11.2005, 19:37
Элемент управления 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

Источник: www.vbnet.ru

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)