Задает команду, которая выполняется при нажатии любой клавиши во время выполнения программы.
Синтаксис:
ON KEY [Command]
Параметры:
Command
Задает команду, которую следует выполнить. После выполнения этой команды возобновляется выполнение программы со строки, которая непосредственно следует за строкой, выполнявшейся в момент нажатия клавиши. Однако если процедура, задаваемая командой ON KEY, включает RETRY, то будет еще раз выполнена строка, которая выполнялась в момент нажатия клавиши.
Комментарии:
Обычно в команде ON KEY используется команда DO, выполняющая некую процедуру.
Если в момент нажатия клавиши Esc были одновременно активны команды ON KEY и ON ESCAPE, Visual FoxPro выполнит команду, заданную с помощью ON ESCAPE.
Чтобы никакая команда не выполнялась в момент нажатия клавиши (такой вариант принимается по умолчанию), используйте ON KEY без команды.
Пример:
* В следующем примере на экран выводятся записи из таблицы customer. * Если в это время нажать какую-либо клавишу, вызывается процедура * pause, которая приостанавливает процесс отображения по команде WAIT. SET TALK OFF CLOSE DATABASES OPEN DATABASE (HOME( ) + 'samples\data\testdata') USE customer && Opens Customer table ON KEY DO pause DO WHILE NOT EOF( ) ? 'Customer ID: ' + cust_id ? 'Name: ' + contact ? SKIP ENDDO PROCEDURE pause STORE INKEY( ) TO HOLD WAIT RETURN