Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: помогите побороть timeSetEvent в VB  (Прочитано 7365 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
bafurd
Гость
« : 03-11-2004 19:28 » 

:oops:
 помогите, plz, побороть timeSetEvent в VB.
не пинайте ногами начинающих, помогите разобраться с программированием быстрого таймера. В WinAPI фунkциях есть функция timeSetEvent. Применяю след. код :

Option Explicit
Public Main_Timer_MM As Long
Public ThisDisplay.Main_Timer_Event As Boolean
.
.
.
Public Declare Function timeSetEvent Lib "winmm.dll" (uDelay As Long, uResolution As Long, lpFunction As Long, dwUser As Long, uFlags As Long) As Long
Public Declare Function timeKillEvent Lib "winmm.dll" (uID As Long) As Long
 
 Function mainTimer() As Boolean
    If ThisDisplay.Main_Timer_Event Then
        ThisDisplay.Main_Timer_Event = False
    Else
        ThisDisplay.Main_Timer_Event = True
    End If
        If ThisDisplay.Main_Timer_Event Then
             ThisDisplay.Text0.Visible = True
             Else
              ThisDisplay.Text0.Visible = False
        End If
 End Function

Function KillTimerMM() ‘ удаление таймера
   timeKillEvent (GwxuTimer_Main.Main_Timer_MM)
End Function

Function mainTimer1()
    If Main_Timer_MM  Then
        mainTimer
    End If
       KillTimerMM
 mainTimerStart
End Function


Function mainTimerStart()
   Main_Timer_MM = timeSetEvent(5000, 50, mainTimer1, 100, 1)
   
End Function
 

код не работает - временная выдержка не формируется. В чём ошибка? Помогите разобраться!
VB, WIN: XP, 98, 2000, NT4
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 04-11-2004 07:42 » 

Даваяй потихонечку Улыбаюсь

Код:
Function mainTimer() As Boolean 
If ThisDisplay.Main_Timer_Event Then
    ThisDisplay.Main_Timer_Event = False
Else
    ThisDisplay.Main_Timer_Event = True
End If
If ThisDisplay.Main_Timer_Event Then
    ThisDisplay.Text0.Visible = True
Else
    ThisDisplay.Text0.Visible = False
End If
End Function
Переделаем?

Код:
Function mainTimer() As Boolean 
   ThisDisplay.Main_Timer_Event=Not ThisDisplay.Main_Timer_Event
   ThisDisplay.Text0.Visible = Not  ThisDisplay.Text0.Visible = False
End Function

А вообще ты попадаешь в maintimer1?
« Последнее редактирование: 02-12-2007 17:22 от Алексей1153++ » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Naghual
Модератор

ua
Offline Offline
Пол: Мужской
ОПТИМИСТ


WWW
« Ответ #2 : 22-12-2004 22:13 » new


Public ThisDisplay.Main_Timer_Event As Boolean

А разве можно так объявлять переменные?
Точка есть разделитель свойств/методов объекта/класса и т.д.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines