Клиппер 5. Справочник

команды SET KEY TO рекурсивные


    EXTERNAL <список идентификаторов процедур>.
 
  . В отличие от Clipper- команды SET KEY TO рекурсивные входы
    блокируются.
 
  Примеры
 
  . Применение TRAPINPUT() для переноса символов из последовательного
    порта в буфер клавиатуры. Приведенная демонстрационная процедура не
    учитывает ряда реальных ситуаций, например, недостаточное количество
    рабочей памяти для MEMOEDIT().
 
    При попытках Clipper-программы получить информацию из буфера


    клавиатуры символы, накопленные в буфере приема последовательного
    порта, добавляются в буфер клавиатуры с помощью KEYSEND().
 
    Коды, непосредственно введенные с клавиатуры перехватываются
    процедурой, установленной TRAPANYKEY(), и сравниваются с величиной
    255. Коды с меньшей величиной переадресуются в последовательный порт,
    а остальные помещаются в буфер клавиатуры. При этом сохраняется
    действие управляющих комбинаций клавиш, например, <Alt><C>:
 
    CLEAR
 
    nPort := 1
 
    COM_OPEN(nPort, 1000)
    CON_DTR(2, .T.)
    COM_INIT(nPort, 1200, "N", 8, 1)
 
    TRAPINPUT("Trap1")
    TRAPANYKEY("Trap2")
 
    cTextVar := SPACE(5000)
    cTextVar := MEMOEDIT(cTextVar)
 
    COM_CLOSE(nPort)
 
    RETURN
    PROCEDURE Trap1(a, b, c)
 
        IF COM_COUNT(nPort) > 0
                KEYSEND(CHARMIX(COM_READ(nPort), CHR(0)), .T.)
        ENDIF
 
        RETURN
 
    PROCEDURE Trap2(nKey)
 
        IF nKey <= 255
                COM_SEND(nPort, CHR(nKey))
        ELSE
                KEYSEND(I2BIN(nKey), .T.)
        ENDIF
 
        RETURN
 

See Also: INPUTMODE()
KEYSEND()
TRAPANYKEY()
TRAPSHIFT()

 

 

 TRAPSHIFT()
 Устанавливает процедуру отслеживания нажатия управляющих клавиш.
------------------------------------------------------------------------------
 
  Синтаксис

Содержание раздела