Página 1 de 2
Textbox com Validação
Enviado: 12 Fev 2014 21:23
por pedrobsjunior
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
Textbox com Validação
Enviado: 13 Fev 2014 09:18
por Toledo
Pedro, seja bem-vindo ao fórum!
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
Return
O ToolTip descreve o que cada campo (TextBox) faz.
Abraços,
Textbox com Validação
Enviado: 13 Fev 2014 11:18
por pedrobsjunior
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$ ?
Textbox com Validação
Enviado: 13 Fev 2014 15:56
por Toledo
Pedro, segue um exemplo:
Código: Selecionar todos
@ 10,10 TEXTBOX Text_1 ;
VALUE 1234.56 ;
NUMERIC INPUTMASK "99,999.99" FORMAT 'E'
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,
Textbox com Validação
Enviado: 17 Fev 2014 20:51
por pedrobsjunior
Obrigado Toledo, valeu muito a sua ajuda.
Agradeço.
Abraços.
Textbox com Validação
Enviado: 25 Nov 2017 08:20
por GilmarDalantonia
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.
Textbox com Validação
Enviado: 25 Nov 2017 11:07
por asimoes
No
designer da hwgui não funciona se você colocar entre aspas '' na propriedade Picture

- 2017-11-25 11_09_46-Object Inspector.png (10.42 KiB) Exibido 16376 vezes
Textbox com Validação
Enviado: 27 Nov 2017 06:01
por GilmarDalantonia
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...
Textbox com Validação
Enviado: 06 Dez 2017 17:40
por GilmarDalantonia
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
Textbox com Validação
Enviado: 06 Dez 2017 19:37
por JoséQuintas
. 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?....
Textbox com Validação
Enviado: 07 Dez 2017 08:56
por asimoes
Gilmar,
Bom dia,
Publique o seu problema no fórum Hwgui
Outra coisa, use o objeto GET ao invés de EDITBOX
Textbox com Validação
Enviado: 07 Dez 2017 10:29
por JoséQuintas
mas post começou em minigui, e depois virou hwgui
Agora que percebi....
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.
Textbox com Validação
Enviado: 05 Fev 2019 18:37
por syslink
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!
Textbox com Validação
Enviado: 05 Fev 2019 20:24
por Nascimento
on lostfocus{||Valida(this.value)}
agora use com cuidado porque se vc por no primeiro textbox e fechar a janela pode dar problemas
Textbox com Validação
Enviado: 25 Mar 2020 15:05
por syslink
outra duvida
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)
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
seria o caso de um codeblock {||()}?