Clipper On Line • Ver Tópico - Tecla DEL não funciona no harbour

Tecla DEL não funciona no harbour

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

Moderador: Moderadores

 

Tecla DEL não funciona no harbour

Mensagempor alxsts » 25 Jul 2018 23:52

Olá!

GDPR

GDPR
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Tecla DEL não funciona no harbour

Mensagempor Itamar M. Lins Jr. » 27 Jul 2018 11:06

Ola!
Provado por a + b que esse povo ".com" que vendem serviços do [x]Harbour, são todos sangue sugas do ".org"
Nenhum deles fazem nada, só ficam copiando, usando e vendendo trabalhos de duas ou três pessoas... Przmek, Viktor...

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Tecla DEL não funciona no harbour

Mensagempor rochinha » 28 Jul 2018 19:42

Amiguinhos,

Nem li as outras respostas, mas pude notar que o código não estava testando o DEL:
         Case nOpcao = 0
...
         Case !LastKey() = 7
...
         otherwise
              [b]@ 24,00 say "Pressionou tecla DEL"[/b]
              aFiles[nOpcao] = StrTran(aFiles[nOpcao],'','ú')
              Alert(aFiles[nOpcao]+" - "+"Tecla Del")
      EndCase


otherwise=em outro caso, por outro lado...

Você não está especificando o DEL, simplesmente está, ahhhhhh, qualquer tecla faz um DEL.

Já encontrei vários arquivos .CH com código de teclas que tem definições diferentes de código. Pra mim o DEL se resolve com o código 46.

Sempre que necessário ao estipular uma tecla para uma função, devemos usar o LastKey() para devolver o código associado, que pode ser levemente diferente do Clipper ao Harbour.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Tecla DEL não funciona no harbour

Mensagempor JoséQuintas » 28 Jul 2018 20:09

rochinha escreveu:Pra mim o DEL se resolve com o código 46.


Sinto muito mas viajou.... rs

O teclado numérico pode ser DEL mas também pode ser ponto (.) se o numérico estiver ligado.
Faço isso no meu aplicativo, pra funcionar com teclado ligado ou desligado.

E o código Ascii do ponto é..... 46, seria a tecla DEL com o numérico ligado, mas desde que seja a DEL do teclado numérico.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tecla DEL não funciona no harbour

Mensagempor JoséQuintas » 28 Jul 2018 20:13

Mas aproveitando....
Melhor esquecer tanto o prompt quanto a tecla DEL.

Se vai marcar registros.... porque DEL?
Melhor usar espaço, por exemplo, e já aproveita a rotina pra muitas outras coisas.
Até porque, só vai confirmar se é pra excluir mesmo depois, então estaria só marcando mesmo, e o DEL fica esquisito, e até perigoso, porque o usuário pode se acostumar a teclar DEL e sair apagando tudo..... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tecla DEL não funciona no harbour

Mensagempor rochinha » 29 Jul 2018 14:30

Amiguinhos,

E o código Ascii do ponto é..... 46, seria a tecla DEL com o numérico ligado, mas desde que seja a DEL do teclado numérico.


Numérico ligado:
ponto devolve - 194
virgula devolve - 46(meu DEL)
delete devolve - 46

Numérico desligado:
ponto devolve - 194
virgula devolve - 110(meu DEL)
delete devolve - 46

Teclado Bright 106 teclas. Tenho a tecla DEL no teclado numérico e DELETE no extras.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Tecla DEL não funciona no harbour

Mensagempor JoséQuintas » 29 Jul 2018 14:52

teclado.jpg


Ok corrigindo:

Isso que está junto com a tecla DEL é uma vírgula.
Mas.... uso configurado como Estados Unidos Internacional, e nele é ponto.

O resultado é....

Numérico desligado... DEL retorna 7, código do DEL
Numérico ligado em teclado EUA... DEL retorna 46, código do "."
Numérico ligado em teclado PTBR... DEL retorna 44, código da ","

O PROMPT:

- Ou movimenta com setas
- Ou digita a inicial das palavras

DEL, ponto, vírgula, talvez só se encaixem se forem inicial de alguma das palavras do PROMPT.
Se o XHarbour faz diferente... é porque o PROMPT dele não está no padrão.

"Talvez".... usando um SET KEY 7 TO Rotina, e modificar nessa rotina, mas só vai complicar, porque dependeria de uma varíavel PRIVATE pra ficar visível. nessa rotina, o que vai tornar tudo perigoso.
"Talvez".... SET KEY 7 TO __KeyBoard( Chr(13) )... mas também só vai complicar a rotina.
E como eu disse, acostumar o usuário a marcar usando DEL, é ele achar que pode digitar DEL no aplicativo inteiro quando quiser marcar alguma coisa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tecla DEL não funciona no harbour

Mensagempor Toledo » 29 Jul 2018 16:27

Amigos, no link abaixo tem como testar cada tecla pressionada:

https://www.w3.org/2002/09/tests/keys-cancel2.html

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Tecla DEL não funciona no harbour

Mensagempor JoséQuintas » 29 Jul 2018 16:37

prompt.png


Texto completo no Harbour, agradecimentos ao Viktor:

https://harbour.github.io/doc/clc53.html#menu-to-cmd

Como dá pra ver, só iniciais mesmo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tecla DEL não funciona no harbour

Mensagempor rochinha » 30 Jul 2018 01:34

Amiguinhos,

JoséQuintas
Ai complica, se o teclado estiver para EUA ou PTBR modifica o resultado, como saber o que o teclado está obdecendo?

O Set Language do Harbour poderia interferir ou fixar nestes resultados?

Toledo
Show-de-bola o site. :)Pos
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Tecla DEL não funciona no harbour

Mensagempor JoséQuintas » 30 Jul 2018 02:38

rochinha escreveu:Ai complica, se o teclado estiver para EUA ou PTBR modifica o resultado, como saber o que o teclado está obdecendo?O Set Language do Harbour poderia interferir ou fixar nestes resultados?


Quer mesmo saber?
Nem a bost. do Windows 10 gosta disso.
Tenho que trocar pra EUA Internacional várias vezes por dia.
Vou acabar tendo que importar um teclado dos EUA só pro Windows 10 parar de ficar atrapalhando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Tecla DEL não funciona no harbour

Mensagempor rochinha » 30 Jul 2018 20:05

Amiguinhos,

Alguns clientes meus me reclamavam que as vezes algumas teclas do meu PDV paravam de funcionar e eu ficava perdendo os cabelos pra saber o porque.

Neste t[opico muito se falou sobre idioma de teclado e diferen;as nos retornos de teclas o que fez com que a pulga atras da orelha me pentelhasse.

Fui atras de um meio de contornar isto e cheguei at[e aqui?
#define HKL_PREV      0
#define HKL_NEXT       1

#define KLF_ACTIVATE      0x00000001
#define KLF_NOTELLSHELL      0x00000080
#define KLF_REPLACELANG      0x00000010
#define KLF_SUBSTITUTE_OK   0x00000002

#define KLF_REORDER       0x00000008
#define KLF_RESET       0x40000000
#define KLF_SETFORPROCESS    0x00000100
#define KLF_SHIFTLOCK       0x00010000

Function main()
   IF MY_GETKEYBOARDLAYOUT()=68551702 // Verifica se esta com layout para Portugues

      // EN - Ingles (Estados Unidos)
      MY_LOADKEYBOARDLAYOUT( "00000409", KLF_ACTIVATE )

      // RU - Russo (Russia)
      //MY_LOADKEYBOARDLAYOUT( "00000419", KLF_ACTIVATE )
     
      // BE - Bielo-Russo (Belarus)
      //MY_LOADKEYBOARDLAYOUT( "00000423", KLF_ACTIVATE )

      ?"Teste"
   
   ENDIF
return

#pragma BEGINDUMP
   #include <windows.h>
   #include <hbapi.h>
   HB_FUNC( MY_GETKEYBOARDLAYOUT )
     {
      hb_retnl( (LONG) GetKeyboardLayout( ( long ) hb_parc( 1 ) ) ) ;
     }

   HB_FUNC( MY_LOADKEYBOARDLAYOUT )
     {
      hb_retnl( (LONG) LoadKeyboardLayout( hb_parc(1), hb_parni(2) ) ) ;
     }
#pragma ENDDUMP


O interessante é que notei que o teclado pode se comportar com diferentes layouts ao mesmo tempo em diferentes telas abertas no momento, ou seja, um prompt do DOS pode estar em portugues mas uma aba do ChRome pode estar em inglês.

Com o teste acima, consegui mudar a quente o layout dentro do prompt.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Anterior



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 15 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro