Clipper On Line • Ver Tópico - Ultima tecla pressionada ou click num getbox

Ultima tecla pressionada ou click num getbox

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Ultima tecla pressionada ou click num getbox

Mensagempor Cavalo Marinho » 27 Mar 2014 09:45

Bom dia pessoal, mas uma vez venho recorrer aos amigos do fórum, pois como sou novo na minigui estou apanhado bastante, :% o meu problema é o seguinte: Tenho um getbox com dois botoes (no próprio getbox) ou seja quero executar action e action2, este getbox é de um cep que no evento OnLostFocus tenho uma função que checa se o campo está vazio, se não for, pesquisa por um cep na base de dados, eté até aí tudo bem, o problema está quando eu preciso clicar num dos botoes por exemplo para inserir um novo cep, nesta hora o evento OnLostFocus é acionado e como o campo está vazio pois vou acionar uma rotina de cadastro, então me retorna a mensagem de vazio, PENSEI vou capturar a ultima tecla pressionada ou o click do mouse, e aí descobrir que o lastkey() não funciona, sempre me retorna o valor 0(zero), pesquisei aqui no fórum e não encontrei nada, quero saber se tem uma função na minigui que me retorne a ultima tecla ou o click do mouse, assim no evento eu checo o que foi pressionado.
Obrigado.
Avatar de usuário

Cavalo Marinho
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 01 Ago 2009 10:01
Cidade/Estado: Aracaju/Se
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Pablo César » 27 Mar 2014 10:35

Não sei se a sua ideia iria dar bom resultado, pois apenas sai do focus do TextBox irá acionar a função e o pressionamento da tecla do mouse irá acontecer posteriormente...

Por quê não elimina o seu OnLostFocus e apenas verifica no ACTION do botão que irá pesquisar se o seu TextBox está vazio ?
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Pablo César » 27 Mar 2014 12:06

Cavalo Marinho (não sei o seu nome), veja esta mensagem que falo sobre a questão de preenchimento obrigatório e sequencial: http://www.pctoledo.com.br/forum/viewtopic.php?p=87520#p87520

Dê uma lida e forme o seu próprio conceito.
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Toledo » 27 Mar 2014 20:10

Amigos, a lastkey() em controles da MiniGui não vai dar certo. O que você pode tentar fazer é usar a função GET_LAST_VK() do programa "READ THE KEYBOARD" do nosso amigo Dr. Claudio Soto, veja o demo na pasta \SAMPLES\Advanced\ReadKey.

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

Ultima tecla pressionada ou click num getbox

Mensagempor Pablo César » 27 Mar 2014 20:50

Eu referia-me aos clicks do mouse. Keyboard events, não creio também que funcione para esse caso..
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Cavalo Marinho » 28 Mar 2014 10:29

Bom dia pessoal, em primeiro lugar quero agradecer a todos que responderam a minha duvida e também aos que leram, depois de muito esquentar a mufa e vários testes encontrei uma solução e quero compartilhar com o pessoal para que não passe a dificuldade que passei, como eu disse eu sou novo na minigui, ainda não tenho conhecimentos embasados na linguagem, assim peço desculpa se por acaso eu fiz o que não devia aqui neste fórum, por postar uma dúvida atrás da outra, não quero de maneira nenhuma que este fórum resolva todos os meus problemas, mas quando postei a dúvida já vinha a dias esquentando a cabeça, mas em fim, depois de varias e varias horas pensando e alguns cabelos brancos a mais, encontrei uma solução e quero compartilhar, é o seguinte: Inserir no formulário um getBox e também dois BuntonEx
no evento OnLostFocus do getBox tenho chamada para a função ObterCep() nos butonEx tenho as chamadas das funcoes PesqCep() e InseirCep() até aí nenhuma novidade, na função ObterCep eu chequei qual o controle estava em foco assim se for um dos botoes eu retorno antes de checar se o campo foi vazio, agora o detalhe é o seguinte nos dois botoes a propriedade tabStop tem que estar .f. se não, não funciona, assim quando clicar num destes dois botoes os evento OnlostFocus é acionado e testa qual controle está em foco.
Anexei o código para uma analise dos mestres, espero ter contribuído com alguma coisa.
Jackson (cavalo marinho)
Anexos
focus.rar
(570.69 KiB) Baixado 95 vezes
Avatar de usuário

Cavalo Marinho
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 01 Ago 2009 10:01
Cidade/Estado: Aracaju/Se
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Pablo César » 28 Mar 2014 11:11

Cavalo Marinho escreveu:como eu disse eu sou novo na minigui, ainda não tenho conhecimentos embasados na linguagem, assim peço desculpa se por acaso eu fiz o que não devia aqui neste fórum, por postar uma dúvida atrás da outra, não quero de maneira nenhuma que este fórum resolva todos os meus problemas
Oi Jackson, você não tem que pedir desculpas nem ninguém por talvez não saber algo e perguntar. O fórum é pra isso mesmo: ajudar e ser ajudado. Acho que quando indiquei aquele outro tópico, eu me referia a você prestar atenção sobre o conceito de "validação" como fazíamos no Clipper. Já que estamos agora num novo ambiente, onde o usuário tem poder de escolher qual é o campo que interessa selecionar para preencher através do click do mouse. Em modo console, muitas vezes fazemos acionar a pesquisa após o preenchimento do campo (do GET na verdade), mas este devia ter uma validação (não estar em branco ou não ter o valor igual a zero ou até mesmo checar se o tamanho do que foi digitado no GET se cumpre com o requisito). Mas vejo que você entendeu que eu estaria apontando sobre suas sucessivas perguntas... nada disso, a minha opinião foi dada para outro usuário que não vem ao caso. É conveniente na programação GUI (na minha opinião) que não é importante "obrigar" ao usuário preencher o campo (seja GetBox, seja TextBox ou qualquer outro componente de preenchimento). Pois o conceito é outro que ao que estávamos acostumado em modo console (em Clipper). Sim é necessário antes de acionar (seja pelo botão ou qualquer outro componente) que seja verificado o conteúdo daquele preenchimento, para !validar" a pesquisa.

Cavalo Marinho escreveu:depois de muito esquentar a mufa e vários testes encontrei uma solução e quero compartilhar com o pessoal para que não passe a dificuldade que passei
Ótimo, eu vou ver qual foi a sua solução e vê-la depois eu posto a minha opinião. Mas desde já agradeço muito você compartilhar conosco a suas soluções.
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Pablo César » 28 Mar 2014 13:24

Adaptei o seu código para poder trabalhar com HMG, eis o mais relevante que eu pude observar:

- Fazer o LOSTFOCUS, vendo pelo prisma do usuário, isto pode causar muitos inconvenientes se não for bem elaborado. Por isso, eu procuro me manter no padrão de desenvolvimento GUI, convencional do comportamento do Windows. Veja o que ocorre após chamar a sua aplicação e tentar minimizar, ou tentar chamar outro aplicativo:

Tela1.PNG

A mensagem "O Campo Cep não pode ser vazio" é coisa muito chata de acontecer, na minha opinião.

- Os botões tem que haver um botão de acionar, outro de confirmar e outro de cancelar. Este seria o modelo ideal padrão.

De todas forma deixo o meu exemplo para a sua apreciação em anexo.
Anexos
HMG Demo.rar
(843.1 KiB) Baixado 109 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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Cavalo Marinho » 28 Mar 2014 15:24

Boa tarde Pablo Cezar, realmente analisando direitinho fica muito chato e horrivel, ainda estou muito preso a programação estruturada do velho clipper, tenho que mudar o meu conceito, tem muitos comandos no seu exemplo que não entendi por falta de conhecimento mesmo, quero saber onde encontro material como livro ou apostilas com os comandos e descritivo do que eles fazem, sintaxe, parâmetros etc. de preferencia em português (acho difícil encontrar) para que eu possa ler e me inteirar mais sobre a linguagem e a ide, tenho o help da minigui mas é muito resumido, sem dar muitas explicações. desde já agradeço o exemplo disponibilizado, vou estuda-lo com mais atenção.
Jackson
:-Y
Avatar de usuário

Cavalo Marinho
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 155
Data de registro: 01 Ago 2009 10:01
Cidade/Estado: Aracaju/Se
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Ultima tecla pressionada ou click num getbox

Mensagempor Pablo César » 28 Mar 2014 16:06

Quê bom que você entendeu Jackson. Uma forma de começar aprender é através dos exemplos que vem na pasta SAMPLES. Seja no HMG ou no Minigui Extended, pois terá material suficiente para provar, testar cada componente e recursos. Já na pasta DOC possui bastante material informativo.

Cavalo Marinho escreveu:quero saber onde encontro material como livro ou apostilas com os comandos e descritivo do que eles fazem, sintaxe, parâmetros etc. de preferencia em português (acho difícil encontrar) para que eu possa ler e me inteirar mais sobre a linguagem e a ide
Isto você já perguntou e respondi em: http://www.pctoledo.com.br/forum/viewtopic.php?p=85541#p85541

Sobre IDE, tem aqui no site em Tutoriais conta do fórum em YouTube.

Mas o jeito mesmo é colocar mão na massa, tentar entender o inglês, seja traduzindo pelo Google ou aprendendo o idioma. Muito importante e participar de diversos fóruns. Outra coisa é ter boas ferramentas de pesquisa, seja pela internet seja local.
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 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