Прирывание цикла по событию....срочно!!!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Прирывание цикла по событию....срочно!!!

Сообщение Damage » 06.04.2003 (Вс) 18:39

Нужно прервать цикл по нажатию клавиши(сочетания) или клику мыши по определенному объекту. Т.е. вовремя работы цикла отслеживать разные события. В QB это выглядело прим. так: if inkey$=........ then ......

Если есть пример проги то киньте линк pls.

ЗЫ. нужно очччень срочно...

Trojan Lord
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 05.04.2003 (Сб) 19:07

Сообщение Trojan Lord » 06.04.2003 (Вс) 19:33

в VB:

Private Sub Command1_Click()

msgbox "То что надо"

End Sub

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 06.04.2003 (Вс) 19:38

До выхода из процесса по клавише я допер, а вот по клику мыши?
Код: Выделить всё
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Bla_Bla_Bla()
Do
Sleep 2
If GetAsyncKeyState(27) Then Exit Do
DoEvents
Loop
................
................
End Sub

Trojan Lord
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 05.04.2003 (Сб) 19:07

Сообщение Trojan Lord » 06.04.2003 (Вс) 19:47

dim Pressed as Boolean

Private Sub Form1_Load()

do
msgbox "Fuck"
loop until Not Pressed

End Sub

Private Sub Command1_Click()
Pressed=True
End Sub

вроде так..... или замени loop until Not Pressed на loop while Not Pressed

Trojan Lord
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 05.04.2003 (Сб) 19:07

Сообщение Trojan Lord » 06.04.2003 (Вс) 19:49

попробуй ещё и на:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As _ Single, Y As Single)
Pressed = True

End Sub

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 06.04.2003 (Вс) 19:56

Это я сам уже давно перепробовал - не работает, во время работы цикла ничего не нажимается. :cry:

Trojan Lord
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 05.04.2003 (Сб) 19:07

Сообщение Trojan Lord » 06.04.2003 (Вс) 20:42

всё работает !!!

Код: Выделить всё
Do
DoEvents
'всё что хочешь
Loop

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 07.04.2003 (Пн) 1:05

Всё разобрался, всё работает


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 43

    TopList