SETKEY(538,{|| XXX()}) não funciona

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

SETKEY(538,{|| XXX()}) não funciona

Mensagem por juniorcamilo »

boa tarde!!

utilizo o setkey(538,{|| xxx()}) mas não acessa !!
538 = CTRL_Z

desde já grato!!
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

SETKEY(538,{|| XXX()}) não funciona

Mensagem por Jairo Maia »

Que key é essa? É uma key que você definiu?

Por padrão CTRL_Z é 26
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

SETKEY(538,{|| XXX()}) não funciona

Mensagem por juniorcamilo »

quando teclo ctrl+z lastkey() apresenta 538

no clipper apreseta 26 mas no harbour 538!!!
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

SETKEY(538,{|| XXX()}) não funciona

Mensagem por Jairo Maia »

Tem algo errado...

Compile com seu Harbour esse exemplo, tem que retornar 26:

Código: Selecionar todos

#include "inkey.ch"

Function Main()

 Clear Screen
 
 While LastKey() != K_ESC
  @ 5,10 Say "Pressione CTRL+Z"
  Inkey( 0 )
  
  If LastKey() = K_CTRL_Z
   Hb_Alert( "Você pressionou " + Hb_NToS( LastKey() ) )
  EndIf
  
 EndDo

Return Nil
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

SETKEY(538,{|| XXX()}) não funciona

Mensagem por juniorcamilo »

olha ai!!
tive q ,udar um pouco o codigo seu!!

Código: Selecionar todos

While LastKey() != K_ESC
  @ 5,10 Say "Pressione CTRL+Z"
  Inkey( 0 )

  If LastKey() = 538
   Alert( "Você pressionou " + Hb_NToS( LastKey() ) )
  EndIf

 EndDo
Anexos
Sem título.png
Sem título.png (9.79 KiB) Exibido 1419 vezes
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

SETKEY(538,{|| XXX()}) não funciona

Mensagem por Jairo Maia »

Com meu Harbour se compilar seu fonte (nem compilei) vai dar RTE dizendo que a variável K_ESC não existe. Você está usando algum arquivo customizado para definição de teclas.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

SETKEY(538,{|| XXX()}) não funciona

Mensagem por juniorcamilo »

eu uso o prg do visual e o .ch onde defino essas variáveis!!!
mas estou usando exatamente seu exemplo, so mudei o K_CTRL_Z para 358!!
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

SETKEY(538,{|| XXX()}) não funciona

Mensagem por Jairo Maia »

juniorcamilo escreveu:mas estou usando exatamente seu exemplo, so mudei o K_CTRL_Z para 358!!
Não foi só! Você removeu também essa chamada de include:

Código: Selecionar todos

#include "inkey.ch"
Tem como postar seu arquivo .CH de definições de teclas? Se eu ou outro colega puder podemos analisar.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

SETKEY(538,{|| XXX()}) não funciona

Mensagem por JoséQuintas »

Até pensei que poderia existir diferença na forma de uso, mas sempre o mesmo resultado.
tecla.png

Tá mais pro uso de inkey extendido, ou a tabela de teclas do Windows.
Tente CTRL-Z mas com cada um dos controls do teclado, o direito deve retornar diferente do esquerdo, provavelmente diferença de 10.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

SETKEY(538,{|| XXX()}) não funciona

Mensagem por juniorcamilo »

Realmente isso Eric.Developer!!
sou novo ainda na harbour, confundo bastante a questão de xharbour o harbour!!
mas fiz alteração para 538 esta funcionando perfeitamente!!
obrigado!
Anexos
Sem título.png
Responder