Valor da tecla 282

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
ademilson
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 07 Ago 2007 10:01
Localização: Maringá
Contato:

Valor da tecla 282

Mensagem por ademilson »

Pessoal...

To fazendo manutencao em um prg bem antigo aqui na empresa, e tem a comparacao, se caso for teclado a tecla 282 (lastkey() == 282) executa uma opercao X, Porem nao consigo encontrar o valor dessa tecla...

Algum poderia me ajudar,

Abracos,
_____________________
José Ademilson da Cruz
Gerente de Desenvolvimento Harbour
SG Sistemas de Automação ltda.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Acho que é ALT ´ ou ALT CHR(39) que é o acento agudo. Estranho né...
achei na NET http://www.koders.com/c/fidD42A1B875E4A ... =K_ALT_OSB

Espero que sirva.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

(desconsiderar esta resposta!)

Cara, é o mesmo que chr(26).
Abre qq arquivo, no Win ou no DOS, e tecla 'ALT 2 8 2" ou "ALT 2 6" (sem as aspas). O resultado (marca de fim de arquivo) é o mesmo...
Editado pela última vez por Eolo em 09 Jan 2008 09:38, em um total de 1 vez.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

O atalho do DOS Alt+538 também é igual a Alt+26. Ou seja, como a tabela ASCII só vai até 256, qualquer valor X acima de 256, será igual a X-256. Mas isso vale para atalhos do padrão ASCII no DOS. Acredito que a dificuldade do colega é sobre uma constante que define um atalho do Clipper.

No caso, o valor 282, retornado pelo Clipper, se refere ao atalho Alt+[.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno escreveu:o valor 282, retornado pelo Clipper, se refere ao atalho Alt+[
Pois é, isso é o que indica aqueles defines, mas na prática se fizeres:

? INKEY(0) // e pressionares Alt [ vai retornar o valor 383 e não 382 (digo isto porque testei)

Foi por acaso que pressionei Alt ´ e deu retorno 282

No entanto não concordo com o que o Eolo disse, pois eu também a inicio dos testes, pensei que fosse CHR(26), mas se for visto nos includes do proprio Clipper, irás ver que o CHR(26) é o equivalente a pressionar Ctrl Left ou Ctrl Z portanto não creio que seja estas teclas para o código 282.

Gostaria saber do ademilson, se é Alt ´ ou Alt [ que aciona alguma função do seu antigo sistema e gostaria de saber que função põe para execução...
Editado pela última vez por Pablo César em 09 Jan 2008 09:04, em um total de 2 vezes.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Há muito tempo atrás eu usei Alt+[ (uma tecla de atalho escondida, pra um propósito especial) e garanto, é 282. Acabei de fazer um programa de teste pra confirmar. É 282 mesmo. O Alt + ' retorna 296.

Agora note que há dois tipos de atalhos. O do DOS e o do Clipper. No DOS você está limitado ao que se encontra na tabela ASCII. Ou seja, vai de 1 a 256. Qualquer X acima de 256 será aceita como X-256.

Agora, dentro do Clipper a coisa muda de figura. Existem várias combinações de teclas porque há um tratamento interno para fazer com que essas combinações sejam representadas por números que extrapolam o escopo 1 <= X => 256. É disso que o colega está tratando, já que o caso é sobre o retorno da função LastKey(). Por isso, esqueça a tabela ASCII.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno escreveu:Alt+[ (uma tecla de atalho escondida, pra um propósito especial) e garanto, é 282. Acabei de fazer um programa de teste pra confirmar. É 282 mesmo. O Alt + ' retorna 296.
hehe ja pra mim não dá esse resultado. Acho que deve ser seu teclado... aquele de metal... hihihihi :)))
Maligno escreveu:É disso que o colega está tratando, já que o caso é sobre o retorno da função LastKey(). Por isso, esqueça a tabela ASCII.
Nos meus testes, eu não estou me guiando com a tabela ASCII e sim com o resultado do INKEY. Mas de todas formas mudei para:

Código: Selecionar todos

inkey(0)
? LASTKEY() // E o resultado será igual
Eu acho que conforme for o código adotado tem muito a ver com a instrução feita do KEYB no SO. Pois como pode dar um resultado diferente entre o meu e o seu Maligno ?? Acho que a adoção de certos códigos (aqueles que fogem do "normais" como as teclas de função F1, F2, F3...) para acionamento seja pelo "SET KEY" ou "LASTKEY()" estão sujeito a não funcionarem apropriadamente (isto se a teoria de que depende do KEYB do SO).
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

É estranho que estejamos obtendo códigos diferentes. Não sei explicar. Vamos então deixar o colega fazer o teste. Afinal, o problema está no programa dele. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

É, falei besteira. Vou consertar meu post.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Pois é... temos diferentes resultados. Você não acha que a razão principal deste resultados é conforme o codepage do SO e que padrão é alterado ora seja pela instrução do KEYB no WIN98, ja no no WINXP não sei como é feito (talvez no painel de controle) que cada um de nós temos. Por exemplo eu uso o 850 qual é o seu Maligno ?

Agora eu fazendo congesturas... (sempre acontece na ausência do autor do tópico) ele deve ter encontrado dificuldades em acionar o recurso quando a tecla combinada era 282 e isso deve ter ocorrido quando mudaram de WIN98 para WINXP (olha só... meu poderes mágicos de visão do além... hihihi). Mas certo, aguardemos a opinião do Ademilson.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Mensagem por TerraSoftware »

No meu teclado:

ALT + [ = 283

ALT + ´ = 282

Tenho um pequeno executável feito em clipper puro usando a funcao lastkey() que me mostra na tela o valor da tecla precionada, é muito prático. Se alguem desejar é só me avisar.
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pablo César escreveu:Pois é... temos diferentes resultados. Você não acha que a razão principal deste resultados é conforme o codepage do SO e que padrão é alterado ora seja pela instrução do KEYB no WIN98, ja no no WINXP não sei como é feito (talvez no painel de controle) que cada um de nós temos. Por exemplo eu uso o 850 qual é o seu Maligno ?
Pode esquecer o Windows. Estamos dentro de um programa Clipper. É ele quem dá as cartas, independentemente do SO envolvido. Ao receber o atalho, é ele quem converte para um valor numérico fixo. Jamais poderia ser diferente disso. Pois se fosse, bastaria trocar a versão do Windows para seu programa se perder totalmente. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

TerraSoftware escreveu:No meu teclado:

ALT + [ = 283

ALT + ´ = 282
No meu programa de teste 283 é a tecla vizinha: Alt+]. Vai entender... :)
Tenho um pequeno executável feito em clipper puro usando a funcao lastkey() que me mostra na tela o valor da tecla precionada
Deve ser parecido com:

Código: Selecionar todos

while Inkey(0) != 27
   ? Str(LastKey())
end
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

No meu teclado:

ALT + [ = 283

ALT + ´ = 282
Ahhh é bom ter outra opinião, pelo jeito tem a ver com o codepage selecionado.

A questão é bem simples de descobrir qual é o código da tecla pressionada, bastaria fazer como eu tinha indicado: ? INKEY(0) e pronto...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

pelo jeito tem a ver com o codepage selecionado.
Insisto em dizer que não tem a ver. E pela lógica, não poderia mesmo ter a ver. Se tivesse, um programa meu não funcionaria na sua máquina. E vice-e-versa.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder