Clipper On Line • Ver Tópico - Validar Textbox

Validar Textbox

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Validar Textbox

Mensagempor jcsprog » 14 Nov 2012 11:07

Utilizo Harbour x Minigui

Estou validando se o cliente existe ou nao funciona mas se utilizar as setas ou tab ele passa sem validar veja abaixo :

                    @ 70,410 TEXTBOX cod_merc;
                              WIDTH 60         ;
                              MAXLENGTH 10   ;
                              on enter (F_cod_merc(Prodt_1.cod_merc.value))

******************************************************
PROCEDURE F_cod_merc() // validação de codigo de produto
******************************************************
local _Pode:=.T.
IF Prodt->(DBSEEK(Prodt_1.cod_merc.value))
   MSGINFO("Codigo Já Cadastrado!","Verifique")
   CancelarProdt()
   _Pode:=.F.
Endif   
RETURN _Pode
Nota de Moderação:
Pablo César: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
jcsprog
jcsprog
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 56
Data de registro: 27 Abr 2005 12:04
Cidade/Estado: sao paulo - jd.brasil
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Validar Textbox

Mensagempor Pablo César » 14 Nov 2012 11:23

Para o TEXTBOX, você tem os seguintes eventos:

On Change
On Enter
On GotFocus
On LostFocus

Nesse seu caso, ao invés de usar "On Enter" utilize "On LostFocus". Mas também terá que validar quando este for vazio. Uma outra sugestão: você deveria utilizar o Upper() para o Seek. Assim tanto faz se o usuário digitar maiúsculas ou minúsculas ou mixto.

A sua função F_cod_merc, não precisa retornar valor algum, a não ser que seja necessário em algum outro lugar que precise atribuir a uma variável (por exemplo) ou até mesmo fazer uma condição. Mas nesses casos, tais Eventos, apenas irão chamar a função. Não funciona como no Clipper. Se você quer que o cursor retorne ao TEXTBOX quando este for inválido, é só adicionar o SetFocus, mas antes você poderia zerar o valor do TEXTBOX para que o usuário digite novamente ou não zerar para que possa corrigir. Vai de você a forma que quiser fazer. Qualquer dificuldade, poste a suas tentativas que faremos correções no caso que não consiga.
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

Validar Textbox

Mensagempor jcsprog » 14 Nov 2012 16:44

Ola agradeço a dica
ficou assim funciona legal

            @ 70,410 TEXTBOX cod_merc;
                           WIDTH 60         ;
                           MAXLENGTH 10   ;
                           on lostfocus(F_cod_merc(Prodt_1.cod_merc.value))

******************************************************
PROCEDURE F_cod_merc() // validação de codigo de produto
******************************************************
IF Prodt->(DBSEEK(Prodt_1.cod_merc.value)) .or. empty(Prodt_1.cod_merc.value)
   MSGINFO("Codigo Já Cadastrado!","Verifique")
   CancelarProdt()
Endif   
RETURN


Obrigado
Nota de Moderação:
Pablo César: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
jcsprog
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 56
Data de registro: 27 Abr 2005 12:04
Cidade/Estado: sao paulo - jd.brasil
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Validar Textbox

Mensagempor microvolution » 06 Abr 2019 00:47

boa noite professores!
pelo que percebo. Se a gente usar o LOSTFOCUS funciona, mas, gera loop do sistema por várias vezes. Não existe nada que realmente a gente possa tratar o TAB/TEXTBOX agora na hmg 3.4.4?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes




Retornar para MiniGui

Quem está online

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