Página 1 de 1
Set Key
Enviado: 13 Set 2007 08:52
por fjokiller
Galera talvez minha pergunta seja idiota mas tou precisando de uma resposta...
Estou usando o SET KEY para quando o usuario pressionar CTRL + O abrir uma tela com umas opcoes..até ai eu consigo, o problema é q se o CAPS LOCK estiver aceso não funciona... isso é normal?
Enviado: 13 Set 2007 09:32
por Ademir
Bom dia !
Uso o F10. O comando é set key -9 to <nome da função>. Vc deve utilizar para CTRL+O set key 15 to <nome da função>. É pra funcionar. Se não funcionar, me avisa que eu faço um teste aqui ok ?
Enviado: 13 Set 2007 09:37
por fjokiller
Funciona, o problema é q é dependente do CAPS LOCK.. qdo ele está acesso não funciona...é algo assim CTRL + o (minusculo) funciona e se for CTRL + O (maiusculo ) não funciona, entendeu
Enviado: 13 Set 2007 09:45
por Ademir
Fjokiller, testei aqui e funcionou ligado ou desligado. O problema aí deve ser outro... pode postar a função que aciona as opções ?
Enviado: 13 Set 2007 09:46
por ederxc
fjokiller escreveu:Funciona, o problema é q é dependente do CAPS LOCK.. qdo ele está acesso não funciona...é algo assim CTRL + o (minusculo) funciona e se for CTRL + O (maiusculo ) não funciona, entendeu
Então , a letra ("O "maiscula tem um valor ) quanto a minuscula tem outro valor , voce pode fazer um set key para chamar tanto com minusculo quanto com maiuscolo AGORA com control precinado tem outro valor que no caso é 15
SET KEY 15 to saivoando
obs: acabei de testar e funciona tanto com capslook acionado ou não
Enviado: 13 Set 2007 09:47
por fjokiller
cara qdo tá pressionado nem chama a funcao, ele simplesmente digita a letra O...talvez o problema seja pq estou usando o flagship e acessando o sistema via ssh, será?
Enviado: 13 Set 2007 10:50
por ederxc
fjokiller escreveu:cara qdo tá pressionado nem chama a funcao, ele simplesmente digita a letra O...talvez o problema seja pq estou usando o flagship e acessando o sistema via ssh, será?
Bom nesse caso ja não sei dizer...
Enviado: 13 Set 2007 14:25
por sygecom
fjokiller escreveu:cara qdo tá pressionado nem chama a funcao, ele simplesmente digita a letra O...talvez o problema seja pq estou usando o flagship e acessando o sistema via ssh, será?
Post como vc esta usando SET KEY..
Enviado: 17 Set 2007 09:03
por fjokiller
Cara estou usando normal..SET KEY 15 to Funcao, mas só funciona se o caps lock tiver desabilitado...
Mas como disse eu estou usando o Flagship, acesso uma maquina linux de uma maquina win XP usando o programa CygWin
Enviado: 17 Set 2007 14:06
por Eolo
fjokiller, inclua as seguintes linhas em algum lugar do seu programa:
Código: Selecionar todos
clear
do whil .t.
inkey(0)
@10,10 SAY lastkey() // MOSTRA O VALOR DA ULTIMA TECLA
if lastkey()=27 // cai fora
quit
endi
endd
Isto vai fazer mostrar o valor da última tecla pressionada, aí vc pode saber o que está sendo retornado com CRTL O. Talvez o seu
teclado esteja com problemas, porque CRTL O, com CAPS LOCK ON ou OFF, dá sempre 15.
Enviado: 18 Set 2007 15:19
por fjokiller
cara tinha feito isso e deu o valor do O dai coloquei Set Key para essa tecla tambem, mas qdo vou digitar O maiusculo ele chama a funcao... mas só para chamar qdo for pressionado CTRL+O ou CTRL+o
Enviado: 18 Set 2007 18:22
por Eolo
O problema aí deve ser outro... pode postar a função que aciona as opções ?
Cara, repetindo a sugestão (acima) do Ademir:
que tal vc postar o seu programa, só da parte que se refere a este assunto?
Enviado: 19 Set 2007 09:29
por fjokiller
Eolo escreveu:O problema aí deve ser outro... pode postar a função que aciona as opções ?
Cara, repetindo a sugestão (acima) do Ademir:
que tal vc postar o seu programa, só da parte que se refere a este assunto?
ai vai
Coloco isso no inicio da chamada da funcao de cadastro de clientes
SET KEY K_CTRL_O TO OUTRAOPCAO
abaixo é a função outraopcao
FUNCTION OutraOpcao()
mColor := SetColor()
SAVE SCREEN TO mTELA
Private vEscolha[06]
vEscolha[ 01 ] := "Historico"
vEscolha[ 02 ] := "Recebimento"
vEscolha[ 03 ] := "Inativos"
vEscolha[ 04 ] := "Relatorios"
vEscolha[ 05 ] := "Mala Direta"
vEscolha[ 06 ] := "Endereco Entrega"
DO WHILE .T.
SET COLOR TO "N/bg, bg+/b,,, w/n"
@ 07, 29 CLEAR TO 15, 46
@ 07, 29, 15, 46 BOX B_SINGLE RAISED
mEscolha := Achoice( 08, 30, 14, 45, vEscolha,,,,,,," CENTRO DE OPCOES " )
SetColor( mColor )
IF LASTKEY() = 27
EXIT
ENDIF
IF mEscolha = 6
DispEndEnt()
ENDIF
ENDDO
RESTORE SCREEN FROM mTELA
RETURN
Quando pressionado ctrl_o ele chama a função q apresenta um achoice com outras opcoes sobre o cliente
mas só chama a função se o CAPS tiver desabilitado, tentei tanto usando o cygwin qto usando VNC e dá no mesmo...
Enviado: 19 Set 2007 10:14
por Eolo
Cara, copiei o seu código pra dentro de um programa meu (incluindo o #include "inkey.ch") e rodou normal: o ACHOICE abre com CRTL O, com CAPS LOCK ON ou OFF... Faz o seguinte: tenta rodar eliminando o INCLUDE. Quem sabe ele está se desentendendo com o CYGWIN...
Ao invés de:
#include "inkey.ch"
set key K_CTRL_O to OUTRAOPCAO
faça
set key 15 to OUTRAOPCAO
Eu, particulamente, não uso o INCLUDE, prefiro ir direto no ponto, usando os números das teclas (no NG vc acha a tabela com todos os números das teclas).
Aliás, vc faz set key K_CTRL_O e, logo abaixo, faz if lastkey()=27... Se é pra usar o INCLUDE, porque não K_ESC ao invés de 27?
Enviado: 19 Set 2007 10:33
por fjokiller
Eolo escreveu:Cara, copiei o seu código pra dentro de um programa meu (incluindo o #include "inkey.ch") e rodou normal: o ACHOICE abre com CRTL O, com CAPS LOCK ON ou OFF... Faz o seguinte: tenta rodar eliminando o INCLUDE. Quem sabe ele está se desentendendo com o CYGWIN...
Ao invés de:
#include "inkey.ch"
set key K_CTRL_O to OUTRAOPCAO
faça
set key 15 to OUTRAOPCAO
Eu, particulamente, não uso o INCLUDE, prefiro ir direto no ponto, usando os números das teclas (no NG vc acha a tabela com todos os números das teclas).
Aliás, vc faz set key K_CTRL_O e, logo abaixo, faz if lastkey()=27... Se é pra usar o INCLUDE, porque não K_ESC ao invés de 27?
cara já tinha usado o 15..acho q é o cygwin...vlw vou testar em outra maquina pra ver se num é meu teclado...