Página 1 de 1

Teclas <F9> <F10> <F11> e <F12> não

Enviado: 09 Mar 2007 10:47
por UKclipper
Olá, pessoal!

Desenvolvi um pequeno sistema de cadastro usando DBEdit() e uma função que possibilita que o usuário, ao teclar <F5>, <F6>, <F7>, e <F8>, respectivamente Inclua, Altere, Consulte e Exclua os registros. Mas gostaria, agora, de incluir uma tecla para impressão dos dados. Para tal, gostaria de usar <F9> <F10> <F11> e <F12>, mas o DBEdit parece não detectar o pressionamento dessas teclas. Elas estão relacionadas com alguma função interna do DBEdit()? Se não estão, como devo fazer para habilitá-las?

Valeu!

Enviado: 09 Mar 2007 11:27
por gvc
As teclas F11 e F12 não são reconhecidas pelço Clipper.

A tecla F9 tem inkey() = -8 ou a constante definida K_F9
A tecla F10 tem inkey() = -9 ou a constante definida K_F10

O dbedit não reserva esses valores.
Reveja sua função do usuário ou poste-a para nós ajudar-mos na depuração do código.

Boa sorte.

Enviado: 09 Mar 2007 11:55
por Maligno
gvc escreveu:As teclas F11 e F12 não são reconhecidas pelço Clipper.
O Clipper reconhece essas teclas normalmente.

F11 = -40
F12 = -41



[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 09 Mar 2007 12:35
por Clipper
Talvez seu problema seja que você está usando o SET KEY TO para fazer isso, porém, dentro de um DBEDIT() o ideal é usar uma função para o processamento das teclas, não nenhuma objeção de teclas quanto ao DBEDIT(), tudo pode ser processado pela sua função.

Até logo.

Marcelo

Enviado: 10 Mar 2007 18:59
por Augusto
Desculpe GVC...

Claro que reconhece....

Pega esse PRGzinho aí e é só compilar...

Código: Selecionar todos

CLEAR
@ 10,10 SAY 'Pressione a tecla desejada    (ESC para sair)'
DO WHILE .t.
   T=INKEY(0)
   @ 12,10 SAY "CODIGO DA TECLA APERTADA E: "+STR(T)
   IF T=27
      @ 23, 1 SAY " "
      exit
   ENDIF
ENDDO
return

Enviado: 12 Mar 2007 10:32
por gvc
Obrigado pela informação.

No NG do 5.2e não consta.

Mas a informação já esta "guardada em nossos bancos de dados. A empresa fica muito feliz com a sua informação e com a escolha dos nossos serviços." (Atendimento automático!)