Что нового

Бесконечный цикл, пауза и продолжение

Diesel

Новичок
Сообщения
35
Репутация
0
Код:
$i = 0
While $i <= 10
    MsgBox(0, "Value of $i is:", $i)
    $i = $i + 1
WEnd

Как вот этот скрипт остановить на клавишу 1 и продолжить выполнение на клавишу 2?
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
1. Переменную i объявить глобально
2. Цикл занести в функцию
3. Горячие клавиши назначаются с помощью функции HotKeySet

При нажатии клавиши 1 вызывать функцию, котрая будет назначать глобальной переменной fStop значение 1
В цикле с MsgBox проверять глобальную переменную fStop. И если эта переменная равна 1, то выйти из функции с помощью Return.
При нажатии клавиши 2 вызывать функцию, которая будет назначать глобальной переменной fStop значение 2 и вызывать функцию с MsgBox.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Diesel поиск на форуме для чего? :search:

Код:
#include <UDF\NotifyBox.au3>
Dim $iPause, $i = 0
HotKeySet('1', '_Pause') ; пауза / старт
HotKeySet('{ESC}', '_Exit') ; выход

	While $i <= 100
		If $iPause Then _Pause()
		Sleep(1000)
		_NotifyBox(262208, "Value of $i is:", $i, 1)
		$i = $i + 1
	WEnd

Func _Pause()
    $iPause = Not $iPause
    While $iPause
        Sleep(250)
    WEnd
EndFunc

Func _Exit()
	Exit
EndFunc


NotifyBox.au3
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Или так можно:
Код:
Global $fPause = True, $i = 0

HotKeySet('1', '_Pause')
HotKeySet('2', '_Work')
HotKeySet('3', '_Exit')
While 1
	If $fPause Then
		ToolTip('Value of $i is: ' & $i, 0, 0)
		$i += 1
		If $i = 100000 Then
			$i = 0
		EndIf
	EndIf
	Sleep(100)
WEnd

Func _Pause()
	$fPause = False
	ToolTip('Pause', 0, 0)
EndFunc   ;==>_Pause

Func _Work()
	$fPause = True
EndFunc   ;==>_Work

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Автор
D

Diesel

Новичок
Сообщения
35
Репутация
0
`p r o x y, благодарю, всё работает :smile:

Garrett [?]
Diesel поиск на форуме для чего?
Смайлик объясняет это ;)
А так жаль что не ты первый написал


Добавлено:
Сообщение автоматически объединено:

madmasles [?]
Такая штука тоже пригодиться :smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Верх