'This project needs a button
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Me.Caption = "Your system will sleep 5 sec."
'Sleep for 5000 milliseconds
Sleep 5000
Me.Caption = ""
End Sub
Private Sub Form_Load()
Me.Caption = ""
Command1.Caption = "Sleep ..."
End Sub
Amed писал(а):
- Код: Выделить всё
'This project needs a button
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Me.Caption = "Your system will sleep 5 sec."
'Sleep for 5000 milliseconds
Sleep 5000
Me.Caption = ""
End Sub
Private Sub Form_Load()
Me.Caption = ""
Command1.Caption = "Sleep ..."
End Sub
kirrun писал(а):Имхо немного не то... Это штука прогу подвешивает, а надо паузу сделать...
Dim t as single
t=timer
while timer-t<10
Doevents
wend
xolod писал(а):kirrun писал(а):Имхо немного не то... Это штука прогу подвешивает, а надо паузу сделать...
А что такое пауза, по вашему?
Она замораживает тред (thread), а не вешает программу.
kirrun писал(а):xolod писал(а):kirrun писал(а):Имхо немного не то... Это штука прогу подвешивает, а надо паузу сделать...
А что такое пауза, по вашему?
Она замораживает тред (thread), а не вешает программу.
П онашему пауза - промежуток времени между выполнением кода. А Sleep именно вешает программу.
Ruslan Demidow писал(а):kirrun писал(а):xolod писал(а):kirrun писал(а):А вот если ты хотел сделать просто остановку выполнения основного когда программы, но при этом обрабатывать события от некоторых контролов - это уже другое.
GSerg писал(а):Тогда есть мнение о неправильной организации программы вообще
Чё она делает?
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Activate()
MsgBox "Пауза началась"
Pause 1000
MsgBox "Пауза закончилась"
End Sub
Sub Pause(PauseTime As Long)
Dim TM As Long
TM = GetTickCount
Do
If GetTickCount - TM > PauseTime Then
Exit Do
End If
Sleep 2
DoEvents
Loop
End Sub
' This project requires a Form and a Module
' The Form must have two command buttons (Command1
' and Command2) on it.
'
'In a form
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 hQueue As Long
Private hTimer As Long
Private Sub Form_Load()
'KPD-Team 2002
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@allapi.net
hQueue = CreateTimerQueue()
Command1.Caption = "Start"
Command2.Caption = "Stop"
End Sub
Private Sub Form_Unload(Cancel As Integer)
DeleteTimerQueue hQueue
End Sub
Private Sub Command1_Click()
If hTimer = 0 Then
CreateTimerQueueTimer hTimer, hQueue, AddressOf TimerCallBack, ByVal 0&, 0, 1000, 0
End If
End Sub
Private Sub Command2_Click()
If hTimer <> 0 Then
DeleteTimerQueueTimer hQueue, hTimer, ByVal 0&
hTimer = 0
End If
End Sub
'In a module
Public Sub TimerCallBack(ByVal lpParameter As Long, ByVal TimerOrWaitFired As Long)
Debug.Print "Timer callback..."
End Sub
Сейчас этот форум просматривают: SemrushBot и гости: 84