Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Qubicz
-
- Обычный пользователь

-
-
- Сообщения: 87
- Зарегистрирован: 16.10.2004 (Сб) 20:21
- Откуда: Санкт-Петербург
Qubicz » 25.03.2005 (Пт) 3:27
Нужно в проекте без форм с модулем впихнуть таймер для последующего опроса клавиатуры. пробовал CreateTimerQueueTimer из ApiGuide, проект выполняется в момент и благополучно завершается, хотя таймер создан... Можно конечно Do и Loop, но грузит процессор даже с DoEvents.
Что можете посоветовать, чтобы решить эту проблему?
-
Faust
-
- Постоялец

-

-
- Сообщения: 649
- Зарегистрирован: 29.12.2003 (Пн) 13:38
- Откуда: лаборатория
-
Faust » 25.03.2005 (Пт) 6:50
Предварительно TimerQueue создавал?
Листинги не горят!
-
Qubicz
-
- Обычный пользователь

-
-
- Сообщения: 87
- Зарегистрирован: 16.10.2004 (Сб) 20:21
- Откуда: Санкт-Петербург
Qubicz » 25.03.2005 (Пт) 13:34
Нет, я создание таймера в main запихнул...
А предварительно это как?(ссылку, пример)
-
Sebas
-
- Неуловимый Джо

-

-
- Сообщения: 3626
- Зарегистрирован: 12.02.2002 (Вт) 17:25
- Откуда: столько наглости такие вопросы задавать
-
Sebas » 25.03.2005 (Пт) 17:35
а нельзя создать класс, в котором :
Dim WithEvents T as timer
?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?
sebas<-@->mail.ru
-
Q2W
-
- Постоялец

-

-
- Сообщения: 745
- Зарегистрирован: 31.01.2004 (Сб) 20:46
- Откуда: Питер
-
Q2W » 25.03.2005 (Пт) 17:38
Видел где-то таймер как раз для таких целей, пошарься по этому сайтику - вроде это здесь.
Я знаю верный путь
-
Qubicz
-
- Обычный пользователь

-
-
- Сообщения: 87
- Зарегистрирован: 16.10.2004 (Сб) 20:21
- Откуда: Санкт-Петербург
Qubicz » 25.03.2005 (Пт) 17:52
Спасибо за помощь буду разбираться и искать
-
Faust
-
- Постоялец

-

-
- Сообщения: 649
- Зарегистрирован: 29.12.2003 (Пн) 13:38
- Откуда: лаборатория
-
Faust » 26.03.2005 (Сб) 6:51
Где-то так попробуй:
- Код: Выделить всё
Private Declare Function CreateTimerQueue Lib "kernel32.dll" () As Long
Private Declare Function CreateTimerQueueTimer Lib "kernel32.dll" (ByRef phNewTimer As Long, ByVal TimerQueue As Long, ByVal Callback As Long, ByVal Parameter As Long, ByVal DueTime As Long, ByVal Period As Long, ByVal Flags As Long) As Long
Private Declare Function DeleteTimerQueue Lib "kernel32.dll" (ByVal TimerQueue As Long) As Long
Private Declare Function DeleteTimerQueueTimer Lib "kernel32.dll" (ByVal TimerQueue As Long, ByVal Timer As Long, ByVal CompletionEvent As Long) As Long
Private C As Byte
Sub Main()
Private pQ As Long, pT As Long
pQ=CreateTimerQueue()
CreateTimerQueueTimer pT, pQ, AddressOf TimerProc, 0&, 0, 1000, 0
C=60
While C>0
DoEvents
Wend
Debug.Print "BOOM!"
DeleteTimerQueueTimer pQ, pT, 0&
DeleteTimerQueue pQ
EndSub
Public Sub TimerProc()
Debug.Print Counter & " seconds to explode..."
C=C-1
End Sub
Листинги не горят!
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 1