Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

SET Key

Propósito

Associar uma tecla de função à execução de uma PROCEDURE ou inibir a função da tecla.

Sintaxe

SET KEY <numero> ON | off

SET KEY <numero> TO [<nome>]

Argumentos

<numero>

representa o código da tecla de controle.

<nome>

representa o nome da PROCEDURE que será executada ao se pressionar a tecla designada.

Utilização

Executa uma PROCEDURE a partir de qualquer estado de espera. A PROCEDURE executada não pode receber parâmetros. Caso haja necessidade de se passar valores para esta PROCEDURE, os parâmetros devem ser passados como variáveis públicas. Permite que na PROCEDURE executada obtenha-se GETs sem atrapalhar os GETs do programa que a executou.

Muito útil na execução de HELPS .

Para se cancelar a definição anterior da tecla basta não se declarar o nome da PROCEDURE.

SET KEY OFF desabilita a tecla sem perder a configuração anterior.

Exemplo

O exemplo a seguir mostra-nos a utilização de uma PROCEDURE para ajudar na digitação de dados. Note que a PROCEDURE proc_cod ao ser executada, desabilita a tecla que a executa, para evitar reentrância.

$NOLIB

PROG

SET KEY 28 TO proc_cod     && Associa a tecla F1 a PROCEDURE proc_cod

SET CONFIRM ON

cod = 0

MESSAGE "Em caso de dúvida pressione F1" BLINK

@ 10,10 SAY "Código do Produto " GET cod  PIC "99" ;

VALID cod >=1 .AND. cod <=5

READ

QUIT(0)

PROCEDURE proc_cod

SET KEY 28 OFF     && desabilita a tecla F1

DECLARE vet_cod[05] = SPACE(30)

vet_cod[01] = "01 - Parafuso 01"

vet_cod[02] = "02 - Parafuso 02"

vet_cod[03] = "03 - Parafuso 03"

vet_cod[04] = "04 - Parafuso 04" 

vet_cod[05] = "05 - Parafuso 05"

opt = ACHOICE(01, 01, 07, 31, vet_cod)

@ 01,01 CLEAR TO 07,31

opt = IIF(opt = -1, opt + 2, opt + 1)

KEYBOARD LEFT(vet_cod[opt], 2)

SET KEY 28 ON     && Habilita a tecla F1

RETURN

Consulte

@ ... GET, ACCEPT, INPUT, KEYBOARD, MENU TO, WAIT e INKEY( ).

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!