Что нового

Мышь, клавиатура Нужна интеллектуальная функция Pause

akoulev

Новичок
Сообщения
169
Репутация
2
Нужна функция Pause () с выходом по Esc: чтобы вставить её в, скажем, такой вот скрипт:

Код:
Checker ()


Func Checker ()
        ; Run("C:\Program Files (x86)\Far2\far.exe"); far, Far, FAR
        Run("C:\Program Files\Far Manager\Far.exe"); far, Far, FAR
        Sleep(722)
        ;Opt('WinTitleMatchMode', 2)
        Send("!{Enter}")
        Send("{F2}")
        Sleep(322)
        Send("{M}")
        Sleep(322)
        Send("{O}")
        Sleep(322)
        Send("!{1}")
        ;Send("{E}{Down 6}")
        Send("{F3}")
        Sleep(122)
        ;WaitFor(
INTELLECTUAL_PAUSE ("Esc")
        Send("{F10}")

;Send("{BS 96}")
        ;Sleep(2111)
        Sleep(1111)
        ; EnvUpdate ( )
        Exit
EndFunc


На всякий случай, поясню: скрипт запускает файловый менеджер FAR; в окне far-а 'проходит' к текстовому файлу 1.txt, становится на него курсором и нажимает клавишу просмотра F3. Вот на этом месте скрипт должен остановиться и ничего не делать — до нажатия ESC. Главное, чтобы такой INTELLECTUAL_PAUSE ("Esc") не реагировал на все остальные клавиши клавиатуры и, тем более, ничего не выводил на экран. Как до нажатия Esс, так и после. После нажатия Esс, скрипт должен продолжить свою работу (там дальше ещё много всего будет, всяко-разного).

Я долго искал по форуму, но конкретно такого точно нет. Ай нид хелп, плиз! (с) Некто Данила Багров.
 
Последнее редактирование:

xXx

╚{■_■}╗
Меценат
Сообщения
248
Репутация
95
Код:
Global $bFlag = False
HotKeySet('{ESC}', 'FlagFalse')

Checker()

Func Checker()
; ...
    INTELLECTUAL_PAUSE()
; ...
EndFunc   ;==>Checker

Func INTELLECTUAL_PAUSE()
    $bFlag = True
    While Sleep(100)
        If Not $bFlag Then Return
    WEnd
EndFunc

Func FlagFalse()
    $bFlag = False
EndFunc
 
Последнее редактирование:
Автор
A

akoulev

Новичок
Сообщения
169
Репутация
2
Потрясающе! Идеально! Гениально! Спасибо-спасибо-спасибо!!!

Встало, как влитое и "словно всегда так и было". Просто восторг! Скрипт работает именно так, как и хотелось! Отдельную порцию восхищения вызывает как лаконичность кода, так и его блестящая скомпонованность: как обойма в рукоятку 'вщёлкнулась'.

Спасибище ещё раз!!!

Hint: До этого я очень долго доставал друга, — а он, по Очень Большой Науке, доказывал, что этого не сделать ну просто никак.:flag:
 
Верх