Clipper On Line • Ver Tópico - Textbox com Validação

Textbox com Validação

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Textbox com Validação

Mensagempor pedrobsjunior » 12 Fev 2014 20:23

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
Nota de Moderação:
Toledo: 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).
pedrobsjunior
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 12 Fev 2014 20:12
Cidade/Estado: Jaboatão dos Guararapes
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Textbox com Validação

Mensagempor Toledo » 13 Fev 2014 08:18

Pedro, seja bem-vindo ao fórum!

Veja este exemplo:

#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,
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: 3065
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 246 vezes
Mens.Curtidas: 242 vezes

Textbox com Validação

Mensagempor pedrobsjunior » 13 Fev 2014 10:18

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$ ?
pedrobsjunior
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 12 Fev 2014 20:12
Cidade/Estado: Jaboatão dos Guararapes
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Textbox com Validação

Mensagempor Toledo » 13 Fev 2014 14:56

Pedro, segue um exemplo:

@ 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,
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: 3065
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 246 vezes
Mens.Curtidas: 242 vezes

Textbox com Validação

Mensagempor pedrobsjunior » 17 Fev 2014 20:51

Obrigado Toledo, valeu muito a sua ajuda.

Agradeço.

Abraços.
pedrobsjunior
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 12 Fev 2014 20:12
Cidade/Estado: Jaboatão dos Guararapes
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Textbox com Validação

Mensagempor GilmarDalantonia » 25 Nov 2017 07:20

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.
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 42
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Textbox com Validação

Mensagempor asimoes » 25 Nov 2017 10:07

No designer da hwgui não funciona se você colocar entre aspas '' na propriedade Picture
2017-11-25 11_09_46-Object Inspector.png
2017-11-25 11_09_46-Object Inspector.png (10.42 KiB) Visualizado 13110 vezes
►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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4733
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 320 vezes
Mens.Curtidas: 226 vezes

Textbox com Validação

Mensagempor GilmarDalantonia » 27 Nov 2017 05:01

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...
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 42
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Textbox com Validação

Mensagempor GilmarDalantonia » 06 Dez 2017 16:40

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
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 42
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Textbox com Validação

Mensagempor JoséQuintas » 06 Dez 2017 18:37

. 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.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14689
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 864 vezes

Textbox com Validação

Mensagempor asimoes » 07 Dez 2017 07:56

Gilmar,

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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4733
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 320 vezes
Mens.Curtidas: 226 vezes

Textbox com Validação

Mensagempor JoséQuintas » 07 Dez 2017 09:29

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.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14689
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 864 vezes

Textbox com Validação

Mensagempor syslink » 05 Fev 2019 17:37

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!
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 126
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 2 vezes
Mens.Curtidas: 2 vezes

Textbox com Validação

Mensagempor Nascimento » 05 Fev 2019 19:24

on lostfocus{||Valida(this.value)}
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
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 590
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 94 vezes
Mens.Curtidas: 66 vezes

Textbox com Validação

Mensagempor syslink » 25 Mar 2020 15:05

outra duvida
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 {||()}?
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 126
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 2 vezes
Mens.Curtidas: 2 vezes

Próximo



Retornar para MiniGui

Quem está online

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