Utilização das Teclas F2, F3 e etc, num determinado local

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Ricardo Sales Ribeiro
Usuário Nível 3
Usuário Nível 3
Mensagens: 279
Registrado em: 13 Jul 2004 18:06
Localização: Fortaleza-Ceara

Utilização das Teclas F2, F3 e etc, num determinado local

Mensagem por Ricardo Sales Ribeiro »

Boa Tarde!
Amigos Clipeiros!

Más uma vez venho ao vosso socorro. É o seguinte: Vejam um pedaço de minha rotina q se segue:

Clea Gets
Set Curs On
wCliCod:=0
Set Colo To &C_CorGet
@ 03,02 Get wCliCod Pict '999999'
Read
Clea Gets
If Lastkey() = 27
DbCloseAll()
Clea
Retu
Endif
If LastKey() = -1
Pesquisa()
Else
wCodCli:=StrZero(wCliCod,6)
Endif
Set Colo To &C_CorGet
@ 03,02 Get wCodCli Pict '999999'
Clea Gets

Pois bem, minha intenção é qdo o cliente digitar a tecla F2 ao invés de degitar o codigo do cliente, o sistema chame a rotina pesquisa. Só q não funciona. Porque? Alguem pode me ajudar?
Outra coisa, qdo defino Set Key -1 To Pesquisa, funciona, más funciona no programa inteiro, ou seja, em qualquer tempo se eu digitar F2 e vai para pesquisa, e quero q funcione somente qdo for estiver no Read do campo wCliCod, e não no programa todo.

Agradeço a atenção.
Um Grande abraço
Ricardo Sales
Fortaleza-Ce
lodara53@yahoo.com.br
lodara53@hotmail.com
Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Mensagem por digitom »

Vê se funciona assim:

Código: Selecionar todos

 
DO WHILE .T.
    Clea Gets
   Set Curs On
   wCliCod:=0
   Set Colo To &C_CorGet
   FLAG := .F.
   set key -1 To Pesquisa()
   @ 03,02 Get wCliCod Pict '999999'
   Read
   IF FLAG   //Voltar para inicio caso tenha pressionado o esc na pesquisa 
      LOOP
   ENDIF
   IF LASTKEY()=27  //sair do Loop com ESC
       EXIT
   ENDIF
   wCodCli:=StrZero(wCliCod,6)
   SEUS_COMANDOS....
ENDDO


Function pesquisa()
CLEAR GETS
seus_COMANDOS_NA_PESQUISA ......
IF LASTKEY()=27
    FLAG:=.T.
    RETURN '  '   //Retorna o código nulo/vazio
ENDIF
RETURN wCodClI   //Retornar o Codigo encontrado na pesquisa

Fui :)
Avatar do usuário
Ricardo Sales Ribeiro
Usuário Nível 3
Usuário Nível 3
Mensagens: 279
Registrado em: 13 Jul 2004 18:06
Localização: Fortaleza-Ceara

Mensagem por Ricardo Sales Ribeiro »

Ok Meu amigo!
Vou fazer esta mudança, e vê como se comporta.

Desde já obrigado
Ricardo Sales
Fortaleza-Ce
lodara53@yahoo.com.br
lodara53@hotmail.com
Everton
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 07 Jul 2004 08:53
Localização: Campo Grande - MS

Mensagem por Everton »

Olá Ricardo.

Eu uso o seguinte quando não quero mais o set key, eu defino no final da funcão um set key to nil e dá certo.
Everton Luiz Penteado
Clipper 5.2b - Blink 7.0
Responder