Page 1 of 1

Отлов нажатия клавиши - как?

Posted: 2006-07-15 22:23:56
by geernick
Перед тем как создать тему, около 2х часов юзал поиск. не нашел.
Возможно ли в скрипте отловить нажатие клавиши, допустим, Enter?

я представляю себе это так - скрипт доходит до определенного места, останавливается и ждет, пока не нажата Enter, как только она нажата, продолжает работать дальше.

что-то типа
while NOT UO.IsPressed(код Enter'а)
wait(100)
wend

если бы такое IsPressed существовало )) подозреваю, что его нет.
подскажите, пожалуйста, как это можно обойти, и получить желаемый результат.

ну и заодно код Enter'а )) На Esc нашел - 27, на Alt тоже - 18, а на Enter - нет ((

Posted: 2006-07-15 22:35:27
by Grin
enter - 13...
но суть не в этом.
Сделай проще...
Есть такое как глобальная переменая. Заставь проверять скрипт какуюто глобальную переменую а второй скрипт за бинди на тотже энтер...
скрипт будет ждать пока не изменится переменая.

Code: Select all

sub main()
   ...
   uo.SetGlobal('Enter', 0)
   while not uo.GetGlobal('Enter')
      wait(100)
   wend
   ...
end sub
sub PressEnter()
   uo.SetGlobal('Enter', 1)
end sub

Posted: 2006-07-15 22:38:35
by geernick
Спасибо, Grin. Именно это я и искал ))) выход )))

Posted: 2006-07-16 00:48:11
by Nmy

Code: Select all

##########################################
Sub test()
##########################################
   If uo.getglobal('test')=='On' then
   uo.setglobal('test',0)
   uo.print(' !!! -= Test: OFF =- !!! ')
   uo.exec('terminate test')
   else
   uo.setglobal('test','On')
   uo.print(' !!! -= Test: On =- !!! ')
   end if
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#


#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
                                       
   uo.setglobal('test', 0 )
   uo.print(' !!! -= Test: OFF =- !!! ')
##########################################
end sub
##########################################


скрипт тест над каторым я делаю множество ужасных експериментов :twisted: