Bom dia, colegas!
Gostaria de saber como eu faço para quando o usuário digitar o número do CPF/CNPJ já vá colocando os pontos e traço do mesmos. Isto no controle TextBox ou GetBox.
Abraços,
Paulo - Jacareí/SP
Mascara de CPF/CNPJ ao digitar
Moderador: Moderadores
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Mascara de CPF/CNPJ ao digitar
Amigo, segue um exemplo:
Abraços,
Código: Selecionar todos
DEFINE GETBOX oCpf
ROW 250
COL 130
WIDTH 140
HEIGHT 20
VALUE SPACE(14)
PICTURE "@R 999.999.999-99"
MESSAGE "Informe o número do CPF do Cliente"
FONTNAME 'Arial'
TOOLTIP "Número do CPF do Cliente"
END GETBOX Código: Selecionar todos
DEFINE TEXTBOX oCpf
ROW 250
COL 130
WIDTH 140
HEIGHT 20
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Número do CPF do Cliente"
MAXLENGTH 14
INPUTMASK "999.999.999-99"
VALUE ""
END TEXTBOXToledo - 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
Mascara de CPF/CNPJ ao digitar
Bom dia, Toledo!
Em primeiro lugar muito obrigado pela sua atenção para o meu questionamento. Mas que eu queria mesmo se é possível ser feito.
Quando o usuário for no campo especifico para o CPF ou CNPJ, ele vai digitando o número 132.,quando ele digitar o próximo já colocar o ponto e depois o número seguinte até o seu terminemo, sem a mascara.
Espero que eu tenho lhe esclarecido. Uso o Minigui Extend 16.02.
Abraços,
Paulo - Jacareí/SP
Em primeiro lugar muito obrigado pela sua atenção para o meu questionamento. Mas que eu queria mesmo se é possível ser feito.
Quando o usuário for no campo especifico para o CPF ou CNPJ, ele vai digitando o número 132.,quando ele digitar o próximo já colocar o ponto e depois o número seguinte até o seu terminemo, sem a mascara.
Espero que eu tenho lhe esclarecido. Uso o Minigui Extend 16.02.
Abraços,
Paulo - Jacareí/SP
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Mascara de CPF/CNPJ ao digitar
Amigo, não sei se entendi direito, mas segue um exemplo:
Abraços,
Código: Selecionar todos
#include "minigui.ch"
Function Main()
SET NAVIGATION EXTENDED
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 HEIGHT 180 ;
TITLE 'Simulando mascara CPF ou CNPJ' ;
MAIN
DEFINE LABEL Label_1
ROW 10
COL 10
WIDTH 300
VALUE 'Campo para CPF'
END LABEL
DEFINE TEXTBOX Text_1
ROW 30
COL 10
WIDTH 180
MAXLENGTH 14
ON CHANGE {|| SetMask(This.Value,"999.999.999-99") }
TOOLTIP "Informe o CPF"
END TEXTBOX
DEFINE LABEL Label_2
ROW 66
COL 10
WIDTH 300
VALUE 'Campo para CNPJ'
END LABEL
DEFINE TEXTBOX Text_2
ROW 86
COL 10
WIDTH 180
MAXLENGTH 18
ON CHANGE {|| SetMask(This.Value,"99.999.999/9999-99") }
TOOLTIP "Informe o CNPJ"
END TEXTBOX
END WINDOW
Form_1.Center
Form_1.Activate
Return Nil
************************************
Function SetMask(cCampo,cMask)
Local cFrmName := ThisWindow.Name, cCmpName := This.FocusedControl
Local cCmp_ := StrTran(Alltrim(cCampo),".",""), nTamMsk, cCmpRet, i_, cPos
cCmp_ := StrTran(cCmp_,"-","")
cCmp_ := StrTran(cCmp_,"/","")
If !Empty(cCmp_)
nTamMsk:=1
cCmpRet:=""
For i_=1 to Len(cCmp_)
cPos:=SUBS(cCmp_,i_,1)
If !IsDigit(cPos)
Exit
Endif
If SUBS(cMask,nTamMsk,1)=="9"
cCmpRet+=cPos
else
cCmpRet+=SUBS(cMask,nTamMsk,1)+cPos
nTamMsk+=1
endif
nTamMsk+=1
Next
SetProperty( cFrmName, cCmpName, "Value", Left(cCmpRet+Spac(Len(cMask)),Len(cMask)) )
SETFOCUS &(cCmpName) OF &(cFrmName)
SetProperty( cFrmName, cCmpName, "CaretPos", Len(cCmpRet)+1 )
Endif
Return NilToledo - 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
Mascara de CPF/CNPJ ao digitar
Bom dia, Toledo!
Mas uma vez obrigado pela sua ajuda, era isso mesmo que eu queria.
Abraços,
Paulo - Jacareí/SP
Mas uma vez obrigado pela sua ajuda, era isso mesmo que eu queria.
Abraços,
Paulo - Jacareí/SP
