Textbox com Validação
Moderador: Moderadores
-
pedrobsjunior
- Usuário Nível 1

- Mensagens: 7
- Registrado em: 12 Fev 2014 21:12
- Localização: Jaboatão dos Guararapes
Textbox com Validação
Pessoal boa noite, sou novato aqui e como muitos outros já desenvolvo em Clipper 5.3 durante muito tempo e tenho o objetivo de criar programas com um visual diferente. Já fui pro Visual Fox Pro, Delphi, VB, mas o que eu queria era algo que fosse de fácil utilização e encontrei o Harbour, estou utilizando o HMG Versão 3.2 e estou fazendo vários testes e uma coisa que eu conseguia fazer em clipper e que estou batendo cabeça é colocar um valid em um get. Estou tentando fazer a mesma coisa só que com um Textbox, onde gostaria de colocar um valid.
Gostaria da ajuda de vocês para solucionar a minha dúvida, se não for possível colocar em um textbox, pode ser uma outra solução.
A idéia é colocar um valid para saber se o campo ficou em branco e mandar uma mensagem paara o usuário informando que o campo não deve ser nulo, validar um campo numérico onde o valor não pode ser igual a zero, Digitar um conteúdo no textbox e validar se existe esse conteúdo digitado em uma tabela e retornar uma determinada informação, etc.
Coisas desse tipo que estou pesquisando na internet e não consigo encontrar algo que solucione a minha dúvida.
Abraços à todos.
Pedro Junior
Gostaria da ajuda de vocês para solucionar a minha dúvida, se não for possível colocar em um textbox, pode ser uma outra solução.
A idéia é colocar um valid para saber se o campo ficou em branco e mandar uma mensagem paara o usuário informando que o campo não deve ser nulo, validar um campo numérico onde o valor não pode ser igual a zero, Digitar um conteúdo no textbox e validar se existe esse conteúdo digitado em uma tabela e retornar uma determinada informação, etc.
Coisas desse tipo que estou pesquisando na internet e não consigo encontrar algo que solucione a minha dúvida.
Abraços à todos.
Pedro Junior
Editado pela última vez por Toledo em 13 Fev 2014 07:56, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção. O conteúdo desta mensagem se enquadra com MiniGui (HMG).
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção. O conteúdo desta mensagem se enquadra com MiniGui (HMG).
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Textbox com Validação
Pedro, seja bem-vindo ao fórum!
Veja este exemplo:
O ToolTip descreve o que cada campo (TextBox) faz.
Abraços,
Veja este exemplo:
Código: Selecionar todos
#include "hmg.ch"
REQUEST HB_CODEPAGE_PTISO
Function Main
HB_CDPSELECT("PTISO")
SET LANGUAGE TO PORTUGUESE
SET NAVIGATION EXTENDED
CriarARQ()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'Validação em TEXTBOX' ;
MAIN
@ 10,10 TEXTBOX Text_1 ;
WIDTH 150 ;
TOOLTIP 'Validar campo em branco/vazio' ;
ON ENTER {|| Val_Vazio(This.Value) }
@ 40,10 TEXTBOX Text_2 ;
VALUE 0 ;
TOOLTIP 'Validar valor maior que zero' ;
NUMERIC ;
MAXLENGTH 5 ;
RIGHTALIGN ;
ON ENTER {|| Val_Valor(This.Value) }
@ 70,10 TEXTBOX Text_3 ;
WIDTH 50 ;
TOOLTIP 'Validar conteúdo em outro arquivo' ;
INPUTMASK '9999' ;
ON ENTER {|| Val_Campo(This.Value) }
@ 73,70 LABEL Label_1 ;
AUTOSIZE ;
VALUE '' ;
TRANSPARENT ;
FONT "ARIAL" SIZE 12 BOLD
END WINDOW
Form_1.Center
Form_1.Activate
Return Nil
*****************************************
Function Val_Vazio(cValue)
Local lRet:=Empt(cValue)
If lRet
MsgInfo("Este campo não pode ficar em branco!","Campo vazio")
Form_1.Text_1.SetFocus
Endif
Return Nil
*****************************************
Function Val_Valor(nValue)
Local lRet:=nValue>0
If !lRet
MsgInfo("Informe um valor maior que zero!","Valor inválido")
Form_1.Text_2.SetFocus
Endif
Return Nil
*****************************************
Function Val_Campo(cValue)
Local lRet:=.T., cCod:=STRZERO(VAL(cValue),4)
If VAL(cCod)>0
SELE ARQDEMO
GO TOP
SEEK cCod
If Found()
Form_1.Text_3.Value := cCod
Form_1.Label_1.Value := Alltrim(DESCRI)
Else
MsgInfo("Código "+cCod+" não foi encontrado no arquivo de dados!","Valor inválido")
Form_1.Text_3.SetFocus
Endif
Else
MsgInfo("Favor informar um valor para o campo!","Valor inválido")
Form_1.Text_3.SetFocus
Endif
Return Nil
********************************************
Proc CriarARQ()
Local aStruc := { {"COD","C",4,0}, {"DESCRI","C",30,0} },;
cARQ:="ARQDEMO.DBF"
If !File( cARQ )
DBcreate( cARQ, aStruc )
USE ( cARQ ) NEW
For i=1 to 10
Append Blank
repl COD WITH STRZERO(i,4), DESCRI WITH "CAMPO "+STRZERO(i,2)
Next
Else
USE ( cARQ ) NEW
EndIF
If !File( "IND.NTX" )
INDEX ON COD TO IND
EndIF
SET INDEX TO IND
ReturnAbraç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
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
-
pedrobsjunior
- Usuário Nível 1

- Mensagens: 7
- Registrado em: 12 Fev 2014 21:12
- Localização: Jaboatão dos Guararapes
Textbox com Validação
Toledo, obrigado pela dica. foi muito útil. se não for muito incômodo você poderia me dar um exemplo de como seria um textbox com uma máscara de valores em R$ ?
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Textbox com Validação
Pedro, segue um exemplo:
Na pasta da HMG instalado no seu computador, veja outros exemplos, procure pela pasta \hmg.3.2\SAMPLES\Controls\TextBox\. No caso de máscaras para TextBox, veja as sub-pastas INPUTMASK.1 e INPUTMASK.2.
Abraços,
Código: Selecionar todos
@ 10,10 TEXTBOX Text_1 ;
VALUE 1234.56 ;
NUMERIC INPUTMASK "99,999.99" FORMAT 'E'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
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
-
pedrobsjunior
- Usuário Nível 1

- Mensagens: 7
- Registrado em: 12 Fev 2014 21:12
- Localização: Jaboatão dos Guararapes
-
GilmarDalantonia
- Usuário Nível 1

- Mensagens: 44
- Registrado em: 11 Dez 2014 16:42
- Localização: Adamantina/SP
Textbox com Validação
Bom dia... aproveitando o tópico... estou com o mesmo problema pra colocar mascara de em edit(get)... no clipper eu usava o picture assim "@e 999,999.99"... mas tentei desta forma no designer do hwgui, mas não deu certo... Ex: se a mascara for configurada assim @e 999,999.99, depois de digitado o 3 primeiros digitos, a ',' vem logo em seguida... se estiver assim @e 999999,99 e o valor for 250,35, as decimais só aparecem depois de digitado o 6 digitos inteiros... se alguem tiver um exemplo, fico muito grato pela ajuda... tentei usar o exemplo q o Toledo postou aqui no tópico, mas tb ñ funcionou...
Abraços.
Abraços.
Textbox com Validação
No designer da hwgui não funciona se você colocar entre aspas '' na propriedade Picture
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
GilmarDalantonia
- Usuário Nível 1

- Mensagens: 44
- Registrado em: 11 Dez 2014 16:42
- Localização: Adamantina/SP
Textbox com Validação
Bom dia... obrigado pela atenção asimoes... eu ja estava informando o picture como vc mostrou no exemplo... mesmo assim não funcionou...
se o picture estiver desta forma @E 999,999.99 e o valor a ser digitado for 150,25... ñ traz a virgula e sim o ponto...
se o picture estiver desta forma @E 999,999.99 e o valor a ser digitado for 150,25... ñ traz a virgula e sim o ponto...
-
GilmarDalantonia
- Usuário Nível 1

- Mensagens: 44
- Registrado em: 11 Dez 2014 16:42
- Localização: Adamantina/SP
Textbox com Validação
Boa tarde... ainda continuo com problemas com a mascara do editbox para moeda... as dicas que foram passadas não deram certo... nao sei se é a versão do hwgui que estou usando... até mesmo no designer não funciona... se alguem puder ajudar... fico muito grato
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Textbox com Validação
. nao sei se é a versão do hwgui que estou usando
Sei lá de onde o post foi transferido, mas post começou em minigui, e depois virou hwgui....
Será que bebi na prévia do natal?....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Textbox com Validação
Gilmar,
Bom dia,
Publique o seu problema no fórum Hwgui
Outra coisa, use o objeto GET ao invés de EDITBOX
Bom dia,
Publique o seu problema no fórum Hwgui
Outra coisa, use o objeto GET ao invés de EDITBOX
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Textbox com Validação
Agora que percebi....mas post começou em minigui, e depois virou hwgui
O primeiro post é de 2014, os novos é que foram errados.
Ao Gilmar:
é normal a confusão, até se acostumar com o fórum.
O fórum procura organizar as dúvidas pra ficar mais fácil de alguém pesquisar/responder.
Sobre o problema: É importante mencionar a versão, parece que depois da HWGUI 2.17 houve mudança, que ainda não está 100% compatível com recursos anteriores, ou necessita algo mais.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Textbox com Validação
como fazemos pra validar o TAB ou o clique do mouse noutro TEXTBOX e e nos avisar sem travar o sistema.
tipo assim, mudar a cor do TEXTBOX como alerta?
obrigado!
tipo assim, mudar a cor do TEXTBOX como alerta?
obrigado!
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Textbox com Validação
on lostfocus{||Valida(this.value)}
agora use com cuidado porque se vc por no primeiro textbox e fechar a janela pode dar problemas
agora use com cuidado porque se vc por no primeiro textbox e fechar a janela pode dar problemas
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
Textbox com Validação
outra duvida
sem criar uma funcao especifica eu gostaria de acrescentar em caso de senhas incorretas uma mensagem de msgexclamation, algo do tipo assim
iif(condicao, resultado positivo,resultado negativo)
nisso nao sei ou nao estou lembrano como faze...
como faso para que RESULTADO NEGATIVO execute 2 coisas sem precisa de criar uma FUNCTION para validacao?
obs
Código: Selecionar todos
ONENTER iif(CONFIRMOU := F_MUDA_SENHA_HMG.TBmPASSWORD.value == F_MUDA_SENHA_HMG.TBaPASSWORD.value, F_MUDA_SENHA_HMG.Bt_1.setfocus,F_MUDA_SENHA_HMG.TBaPASSWORD.setfocus)iif(condicao, resultado positivo,resultado negativo)
nisso nao sei ou nao estou lembrano como faze...
como faso para que RESULTADO NEGATIVO execute 2 coisas sem precisa de criar uma FUNCTION para validacao?
obs
seria o caso de um codeblock {||()}?

