Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] Выполнение кода через определенный промежуток времени

Ответить
Настройки темы
VBA - [решено] Выполнение кода через определенный промежуток времени

Пользователь


Сообщения: 59
Благодарности: 1

Профиль | Отправить PM | Цитировать


Я захотел организовать в VB6 изменение текста label'а через определенный промежуток времени. Сделал таймер по этому руководству. Из обьектов есть:

Timer1 - Таймер с интервалом в 100 . По умолчанию отключен.
Label2 - Отображает время таймера
Command1 - Кнопка. Что она делает написано в коде
Label3 - Должен отображать текст через определенные промежутки времени

Код: Выделить весь код
Dim tTime As Double
Private Sub Timer1_Timer()
tTime = tTime + 0.1
Label2 = "Time = " & tTime
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
tTime = 0#
Label3.Caption = "Текст 1"
If tTime = 3# Then
Label3.Caption = "Текст 2"
End If
If tTime = 13# Then
Label3.Caption = "Текст 3"
End If
If tTime = 33# Then
Label3.Caption = "Текст 4"
End If
End Sub
При нажатии кнопки на "Label3" выводится "Текст 1", даже если время таймера равно 100. Пробовал объявлять tTime как Integer - таймер перестает работать (Label2 показывает "Time = 0" постоянно). При объявлении tTime как Variant ничего (по сравнению с Double) не меняется. Пробовал делать так, без решетки:

Код: Выделить весь код
If tTime = 3 Then
Label3.Caption = "Текст 2"
End If
Тоже ничего не изменилось.

Извините, если я задаю глупые вопросы, так как я новичок в VB. Заранее спасибо за помощь.

Отправлено: 03:27, 28-06-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Dark_Timur:
При нажатии кнопки на "Label3" выводится "Текст 1", даже если время таймера равно 100. »
Естественно. Вы ведь в процедуре безусловно обнуляете «tTime» и так же безусловно задаёте надпись в «Label3».

Цитата Dark_Timur:
Command1 - Кнопка. Что она делает написано в коде »
Для чего она нужна — совершенно не понятно.

Код: Выделить весь код
Option Explicit

Dim lngTick As Long
Dim arrCaptions() As Variant

Private Sub Form_Load()
    lngTick = 0
    
    With Me.Timer1
        .Interval = 1000
        .Enabled = True
    End With
    
    arrCaptions = Array("AAAA", "SSSS", "DDDD", "FFFF")
    
    Me.Label1.Caption = ""
End Sub

Private Sub Timer1_Timer()
    If lngTick > UBound(arrCaptions) Then
        lngTick = 0
    End If
    
    Me.Label1.Caption = arrCaptions(lngTick)
    lngTick = lngTick + 1
End Sub

Последний раз редактировалось Iska, 28-06-2012 в 04:35. Причина: Сделал пример попроще


Отправлено: 04:22, 28-06-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 59
Благодарности: 1

Профиль | Отправить PM | Цитировать


Приспособил этот код под себя. Несмотря на то, что я искал немного другое, этот код мне очень пригодился. Большое спасибо! Тему закрываю.

Отправлено: 00:18, 03-07-2012 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] Выполнение кода через определенный промежуток времени

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] скрипт для нажатия клавиши F2 через опр. промежуток времени Bushbasher AutoIt 2 13-01-2010 12:53
Помогите отключить интернет на короткий промежуток времени! minutka15 AutoIt 6 07-09-2009 10:52
[решено] Скрипт, изменяющий позицию курсора через определенный интервал времени Vadikan AutoIt 2 28-07-2009 12:08
[решено] Повторение кода через промежуток времени sashadeg AutoIt 11 06-05-2009 20:18
Требуется настроить выполнение sh скрипта на unix через определеный промежуток времен backgam Программирование в *nix 8 05-05-2009 18:15




 
Переход