Kbelo Posted July 15, 2008 Report Share Posted July 15, 2008 Ola amigos. Tenho um GET de CPF e CGC. Queria fazer da Seguinte forma quando estiver digitando a picture é "@R 999999999999999999" Quando termino de digitar e passao para o proximo campo verifico se o tamanho maior que 11 é CGC então a picture é "@R 99.999.999/9999-99" senão fica "@R 999.999.999-99" Bom até ai tudo bem quando abra tela meu GET ta com a Picture "@R 999999999999999999" e quando saio do Get no valid verifico como deve ficar a picture. O Problema é quando eu faço isso vou para outro get e volto para este GET queria que quando Ganhasse foco a Picture sempre ficasse como "@R 999999999999999999" ja tentei com bGotFocus mas nao deu em nada. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Editado por - kbelo on 17/07/2008 11:56:21 Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 Ola amigos. Tenho um GET de CPF e CGC. Queria fazer da Seguinte forma quando estiver digitando a picture é "@R 999999999999999999" Quando termino de digitar e passao para o proximo campo verifico se o tamanho maior que 11 é CGC então a picture é "@R 99.999.999/9999-99" senão fica "@R 999.999.999-99" Bom até ai tudo bem quando abra tela meu GET ta com a Picture "@R 999999999999999999" e quando saio do Get no valid verifico como deve ficar a picture. O Problema é quando eu faço isso vou para outro get e volto para este GET queria que quando Ganhasse foco a Picture sempre ficasse como "@R 999999999999999999" ja tentei com bGotFocus mas nao deu em nada. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Editado por - kbelo on 17/07/2008 11:56:21 Quote Link to comment Share on other sites More sharing options...
ZECA Posted July 15, 2008 Report Share Posted July 15, 2008 citação:Ola amigos. Tenho um GET de CPF e CGC. Queria fazer da Seguinte forma quando estiver digitando a picture é "@R 999999999999999999" Quando termino de digitar e passao para o proximo campo verifico se o tamanho maior que 11 é CGC então a picture é "@R 99.999.999/9999-99" senão fica "@R 999.999.999-99" Bom até ai tudo bem quando abra tela meu GET ta com a Picture "@R 999999999999999999" e quando saio do Get no valid verifico como deve ficar a picture. O Problema é quando eu faço isso vou para outro get e volto para este GET queria que quando Ganhasse foco a Picture sempre ficasse como "@R 999999999999999999" ja tentei com bGotFocus mas nao deu em nada. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. id=quote>id=quote>Olá MARCELO !! Eu eliminei aquele tal de "F" para fisica e "J" para juridico que é tão amador. Eu faço da seguinte maneira: ...... REDEFINE GET ocCgc VAR cCgc PICTURE "999999999999999999" ; ID 107 OF oFld:aDialogs[ 1 ] ; VALID (CHECACGC(cCgc,ocCgc)) UPDATE ; FONT oFnt ; COLOR CLR_BLACK, CLR_HCYAN ....... * *---------------------------------------------------------------------- STATIC FUNCTION CHECACGC(cCgc,ocCgc) // Checa CNPJ(MF)/CIC *---------------------------------------------------------------------- IF Empty(cCgc) Return .T. ENDIF IF LASTKEY()=CHR(13) Return .T. ENDIF IF LEN(ALLTRIM(cCgc)) = 18 tone(1000,2) cCgc:=space(18) ocCgc:oGet:PICTURE := "999999999999999999" ocCgc:Refresh() ocCgc:SetFocus() Return .F. ENDIF IF SUBSTR(cCgc,1,6) ='009999' cCgc='00.000.000/0000-00' ocCgc:Refresh() Return .T. ENDIF IF LEN(ALLTRIM(cCgc)) <> 11 .AND. LEN(ALLTRIM(cCgc)) <> 14 .AND. SUBSTR(cCgc,1,3) <> "CIC" .AND. SUBSTR(cCgc,3,1) <> "." tone(1000,2) cCgc:=space(18) ocCgc:oGet:PICTURE := "999999999999999999" ocCgc:Refresh() ocCgc:SetFocus() Return .F. ENDIF * IF LEN(ALLTRIM(cCgc)) = 11 // cic NCPF=SUBSTR(cCgc,1,11) IF !CPF(NCPF) TONE(1000,2) MsgStop(oemtoansi("CIC inválido ","Atenção........")) cCgc:=space(18) ocCgc:oGet:PICTURE := "999999999999999999" ocCgc:Refresh() ocCgc:SetFocus() RETURN .F. ELSE cCgc="CIC "+SUBSTR(cCgc,1,3)+"."+SUBSTR(cCgc,4,3)+"."+SUBSTR(cCgc,7,3)+"/"+SUBSTR(cCgc,10,2) tone(1000,1) ocCgc:Refresh() RETURN .T. ENDIF ELSE // cnpj NCPF=SUBSTR(cCgc,1,14) IF !CGC(NCPF) tone(1000,2) MsgStop(oemtoansi("CNPJ(MF) Invalido","Atenção.......")) cCgc:=space(18) ocCgc:oGet:PICTURE := "999999999999999999" ocCgc:Refresh() ocCgc:SetFocus() Return .F. ELSE cCgc=SUBSTR(cCgc,1,2)+"."+SUBSTR(cCgc,3,3)+"."+SUBSTR(cCgc,6,3)+"/"+SUBSTR(cCgc,9,4)+"-"+SUBSTR(cCgc,13,2) tone(1000,1) ocCgc:Refresh() RETURN .T. ENDIF ENDIF RETURN *-------------------------------------------------------------* Function CPF(numero) // VALIDA O NUMERO DO CPF DO CLIENTE *--------------------------------------------------------------* parcial:= SubStr(numero, 1, 9) soma:= 0 For i:= 1 To Len(parcial) soma:= Val(SubStr(numero, i, 1)) * (11 - i) + soma Next If (11 - soma % 11 > 9) parcial:= parcial + "0" Else parcial:= parcial + SubStr(alltrim(Str(11 - soma % 11)), 1, 1) EndIf soma:= 0 For i:= 1 To Len(parcial) soma:= Val(SubStr(numero, i, 1)) * (12 - i) + soma Next If (11 - soma % 11 > 9) parcial:= parcial + "0" Else parcial:= parcial + SubStr(alltrim(Str(11 - soma % 11)), 1, 1) EndIf If (parcial == numero) Return .T. Else Return .F. EndIf *--------------------------------------------------* Function CGC(numero) // VALIDA Numero do CNPJ(MF) *---------------------------------------------------* parcial:= SubStr(numero, 1, 12) soma:= 0 contador:= 2 For i:= 12 To 1 Step -1 soma:= Val(SubStr(parcial, i, 1)) * contador + soma If (contador == 9) contador:= 1 EndIf contador:= contador + 1 Next If (11 - soma % 11 >= 10) parcial:= parcial + "0" Else parcial:= parcial + SubStr(alltrim(Str(11 - soma % 11)), 1, 1) EndIf soma:= 0 contador:= 2 For i:= 13 To 1 Step -1 soma:= Val(SubStr(parcial, i, 1)) * contador + soma If (contador == 9) contador:= 1 EndIf contador:= contador + 1 Next If (11 - soma % 11 >= 10) parcial:= parcial + "0" Else parcial:= parcial + SubStr(alltrim(Str(11 - soma % 11)), 1, 1) EndIf If (parcial == numero) Return .T. Else Return .F. EndIf id=code>id=code>SdsJosé Carlos - ZECAfw23c-clipper52e-blinker 7.0 - six 3.02 - Windows XP Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 coloque a decisao da PICTURE em um IF...ENDIF IF CGC cPicure := Mascara do CCG ELSEIF... cPicture :- Mascara do CPF ELSE cPcture := Mascara Outras ENDIF E NO GET, PICTURE cPicture Abraços João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 Isso eu ja Faço. Mas meu problema é quando digita sai do get vao para outro get e voltara para digitar novamente no Get de CPF e CGC. como a Picture ja esta alterada nao to conseguindo voltar para o 99999999999. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 VALIDE cPicture, TRANSFORME-A EM MEMVAR, não use LOCAL. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 citação:VALIDE cPicture, TRANSFORME-A EM MEMVAR, não use LOCAL. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Opa nao tinha visto a sua msg anterior. To fazendo assim REDEFINE GET ogaNUMcgc VAR aNUMcgc ID 105 OF oFLDcad:aDIALOGS[1] PICTURE "@R 999999999999999999"; WHEN CLIpic(); REDEFINE GET ogaPROrur VAR aPROrur ID 106 OF oFLDcad:aDIALOGS[1] PICTURE "@K!S10"; WHEN CLIfmt() ; VALID CLIpic() **** *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* Static Function CLIpic() *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* MyPic := "@R 999999999999999999" OgaNUMcgc:oGet:Picture :=MyPic OgaNUMcgc:VarPut(aNUMcgc) OgaNUMcgc:refresh() RETURN .t. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* Static Function CLIfmt() *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* IF !empty(aNUMcgc) IF Len(alltrim(aNUMcgc)) > 11 MyPic := "@R 999.999.999/9999-99" else MyPic := "@R 999.999.999-99" ENDIF OgaNUMcgc:oGet:Picture :=MyPic OgaNUMcgc:VarPut(aNUMcgc) OgaNUMcgc:refresh() ENDIF RETURN .t. id=code>id=code>Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 PICTURE MyPic, voce deixou uma mascara FIXA??? João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 citação:PICTURE MyPic, voce deixou uma mascara FIXA??? João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Não veja que atualizo com OgaNUMcgc:oGet:Picture :=MyPic E ainda atualizo a variavel tb. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 FUNCIONOU?? OU NÃO?? João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 Não Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 // Local oDlg, oGet, oBtn // Local lTest := .t. // Local cTipo := "J", oTEST1,oTest2 // Local cCGCCPF := Space(14) // @ 10, 2 GET oTEST1 VAR cTipo pixel OF oDlg PICTURE "!"; // valid VerificaAltera(cTipo,oTest2,@cCgcCpf) Function VerificaAltera(cTipo,oGet,cCgc) If !cTipo$"F/J" MsgStop("Deve ser digitado (F)isicio (J)uridico","Teste") Return(.F.) Endif If cTipo="J".and.oGet:cPicture!="@R 99.999.999/9999-99" cCgc:=Space(14) oGet:cPicture:="@R 99.999.999/9999-99" oGet:oGet:Picture:="@R 99.999.999/9999-99" oGet:Refresh() ElseIf cTipo="F".and.oGet:cPicture!="@R 999.999.999-99" cCgc:=Space(11) oGet:cPicture:="@R 999.999.999-99" oGet:oGet:Picture:="@R 999.999.999-99" oGet:Refresh() Endif Return(.t.) id=code>id=code>João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 citação: // Local oDlg, oGet, oBtn // Local lTest := .t. // Local cTipo := "J", oTEST1,oTest2 // Local cCGCCPF := Space(14) // @ 10, 2 GET oTEST1 VAR cTipo pixel OF oDlg PICTURE "!"; // valid VerificaAltera(cTipo,oTest2,@cCgcCpf) Function VerificaAltera(cTipo,oGet,cCgc) If !cTipo$"F/J" MsgStop("Deve ser digitado (F)isicio (J)uridico","Teste") Return(.F.) Endif If cTipo="J".and.oGet:cPicture!="@R 99.999.999/9999-99" cCgc:=Space(14) oGet:cPicture:="@R 99.999.999/9999-99" oGet:oGet:Picture:="@R 99.999.999/9999-99" oGet:Refresh() ElseIf cTipo="F".and.oGet:cPicture!="@R 999.999.999-99" cCgc:=Space(11) oGet:cPicture:="@R 999.999.999-99" oGet:oGet:Picture:="@R 999.999.999-99" oGet:Refresh() Endif Return(.t.) id=code>id=code>João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Bom essa parte eu ja faço. Vou relembrar o problema. Entro na tela quero que a Picture fique "@R 999999999999999999" e todas vez que o GET ganhar focoid=red> quando dou o enter para passar para o proximo GET ele verifica se a picture é de CGC ou CPF isso ja esta fazendo corretoid=red> se apos ir para esse proximo Get decidir voltar para o Get de CGC e CPF quero que a Picture volte a ser "@R 999999999999999999" Então aqui esta meu problema a Picture nao retorna a Ser "@R 999999999999999999" Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 COLOQUE OUTRO IF NA FUNCAO DE VALIDACAO DO SEGUNDO GET. POR EXEMPLO: SE O USUARIO TECLAR SETA PARA CIMA, VOCE TROCA: IF GETASYNCKEY( VK_UP ) TROCA A PICTURE... SAY LÃ... TENTE. ENDIF id=code>id=code>João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 15, 2008 Author Report Share Posted July 15, 2008 Mas veja que ja faz isso na CLIpic() ela executa no segundo get no Valid e tb no When do get. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 15, 2008 Report Share Posted July 15, 2008 citação:Mas veja que ja faz isso na CLIpic() ela executa no segundo get no Valid e tb no When do get. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. id=quote>id=quote>MAS TIO, VOCE ESTà NA MESMA FUNCAO... TENTE COM OUTRA.. SAY LÃ... KKKKKKKKK. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
zekasan Posted July 16, 2008 Report Share Posted July 16, 2008 Redefine VGet oCPFR Var cCPFR picture "999999999999999999" Id 6001 Color cCorGet valid vCPF_CNPJ(@cCPFR,@oCPFR) id=code>id=code> function vCPF_CNPJ(NR_CALC,oGet) NR_CALC = StrTran(NR_CALC,".","") NR_CALC = StrTran(NR_CALC,"/","") NR_CALC = StrTran(NR_CALC,"-","") NR_CALC:=alltrim(NR_CALC) if len(NR_CALC) = 11 if zCPF(NR_CALC) //valida o CPF NR_CALC:=substr(NR_CALC,1,3)+"."+substr(NR_CALC,4,3)+"."+substr(NR_CALC,7,3)+"-"+substr(NR_CALC,10,2) oGet:Refresh() return(.t.) else msgalert("CPF informado não é válido","ATENÇÃO") NR_CALC:=space(18) oGet:Refresh() xsetfocus(oGet) endif elseif len(NR_CALC) = 14 if zCNPJ(NR_CALC) //valida o CNPJ NR_CALC:=substr(NR_CALC,1,2)+"."+substr(NR_CALC,3,3)+"."+substr(NR_CALC,6,3)+"/"+substr(NR_CALC,9,4)+"-"+substr(NR_CALC,13,2) oGet:Refresh() return(.t.) else msgalert("CNPJ informado não é válido","ATENÇÃO") NR_CALC:=space(18) oGet:Refresh() xsetfocus(oGet) endif else msgalert("Formato inválido de CPF/CNPJ","ATENÇÃO") NR_CALC:=space(18) oGet:Refresh() xsetfocus(oGet) endif return(.f.) id=code>id=code>FWH 8.05 - xHarbour - xDev - VLib Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 16, 2008 Author Report Share Posted July 16, 2008 Assim muda o Valor da variavel. Gente vejam que meu codigo aparentemente esta quase correto. Só quero saber pq não funciona. Mas a logica é aquela. AO VOLTAR PARA O GET A PICTURE TEM QUE SER "@R 999999999999999999" id=red> Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 16, 2008 Report Share Posted July 16, 2008 // Testando um GET com CNPJ e CPF em TEMPO REAL... FATAL!!! KKKKKK #Include "FiveWin.ch" //------------------------------------------------------------------------// Function CNPJ() LOCAL oDlg LOCAL nCgcCpf := SPACE(18) LOCAL cPicture := "@R 999999999999999" LOCAL cNome := SPACE(20) LOCAL aGet := Array(5) DEFINE DIALOG oDlg TITLE "Trocando o Cnpj" @ 1.6, 2 SAY "Cpf/Cnpj:" OF oDlg @ 2, 6 GET aGet[1] VAR nCgcCpf OF oDlg SIZE 80, 10 PICTURE cPicture ; VALID CHECA_CGC( nCgcCpf, aGet, cPicture ) @ 3, 6 GET aGet[2] VAR cNome OF oDlg SIZE 40, 10 PICTURE "@!" ; VALID TROCA_PICT( nCgcCpf, aGet, cPicture ) @ 3, 10 BUTTON "&Cancelar" SIZE 50, 12 OF oDlg ACTION( oDlg:End() ) CANCEL ACTIVATE DIALOG oDlg CENTERED Return Nil //-> Checa CNPJ STATIC FUNCTION CHECA_CGC( nCgcCpf, aGet, cPicture ) IF !EMPTY( nCgcCpf ) IF LEN(ALLTRIM( nCgcCpf ) ) > 11 cPicture := "@R 99.999.999/9999-99" //-> Para CNPJ ELSE cPicture := "@R 999.999.999-99" //-> Para CPF ENDIF aGet[1]:oGet:Picture := cPicture aGet[1]:VarPut( nCgcCpf ) aGet[1]:Refresh() ENDIF RETURN( .T. ) //-> TROCA A PICTURE SE SETA PARA CIMA STATIC FUNCTION TROCA_PICT( nCgcCpf, aGet, cPicture ) nCgcCpf := SPACE(18) IF GETASYNCKEY( VK_UP ) cPicture := "@R 999999999999999999" aGet[1]:oGet:Picture := cPicture aGet[1]:VarPut( nCgcCpf ) aGet[1]:Refresh() ENDIF RETURN( .T. ) id=code>id=code>//-> FIM DO PROGRAMA João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 17, 2008 Author Report Share Posted July 17, 2008 citação:// Testando um GET com CNPJ e CPF em TEMPO REAL... FATAL!!! KKKKKK #Include "FiveWin.ch" //------------------------------------------------------------------------// Function CNPJ() LOCAL oDlg LOCAL nCgcCpf := SPACE(18) LOCAL cPicture := "@R 999999999999999" LOCAL cNome := SPACE(20) LOCAL aGet := Array(5) DEFINE DIALOG oDlg TITLE "Trocando o Cnpj" @ 1.6, 2 SAY "Cpf/Cnpj:" OF oDlg @ 2, 6 GET aGet[1] VAR nCgcCpf OF oDlg SIZE 80, 10 PICTURE cPicture ; VALID CHECA_CGC( nCgcCpf, aGet, cPicture ) @ 3, 6 GET aGet[2] VAR cNome OF oDlg SIZE 40, 10 PICTURE "@!" ; VALID TROCA_PICT( nCgcCpf, aGet, cPicture ) @ 3, 10 BUTTON "&Cancelar" SIZE 50, 12 OF oDlg ACTION( oDlg:End() ) CANCEL ACTIVATE DIALOG oDlg CENTERED Return Nil //-> Checa CNPJ STATIC FUNCTION CHECA_CGC( nCgcCpf, aGet, cPicture ) IF !EMPTY( nCgcCpf ) IF LEN(ALLTRIM( nCgcCpf ) ) > 11 cPicture := "@R 99.999.999/9999-99" //-> Para CNPJ ELSE cPicture := "@R 999.999.999-99" //-> Para CPF ENDIF aGet[1]:oGet:Picture := cPicture aGet[1]:VarPut( nCgcCpf ) aGet[1]:Refresh() ENDIF RETURN( .T. ) //-> TROCA A PICTURE SE SETA PARA CIMA STATIC FUNCTION TROCA_PICT( nCgcCpf, aGet, cPicture ) nCgcCpf := SPACE(18) IF GETASYNCKEY( VK_UP ) cPicture := "@R 999999999999999999" aGet[1]:oGet:Picture := cPicture aGet[1]:VarPut( nCgcCpf ) aGet[1]:Refresh() ENDIF RETURN( .T. ) id=code>id=code>//-> FIM DO PROGRAMA João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>João é quase isso. Só que se ele for com o Mouse ou Não teclar Seta para Cima. Tipo Shift Tab. Ou usar a Tabulação e vir pelo campo acima do CPF/CGC. Mas estou Fazendo os testes aqui acho que to no caminho. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 17, 2008 Report Share Posted July 17, 2008 citação: citação:// Testando um GET com CNPJ e CPF em TEMPO REAL... FATAL!!! KKKKKK #Include "FiveWin.ch" //------------------------------------------------------------------------// Function CNPJ() LOCAL oDlg LOCAL nCgcCpf := SPACE(18) LOCAL cPicture := "@R 999999999999999" LOCAL cNome := SPACE(20) LOCAL aGet := Array(5) DEFINE DIALOG oDlg TITLE "Trocando o Cnpj" @ 1.6, 2 SAY "Cpf/Cnpj:" OF oDlg @ 2, 6 GET aGet[1] VAR nCgcCpf OF oDlg SIZE 80, 10 PICTURE cPicture ; VALID CHECA_CGC( nCgcCpf, aGet, cPicture ) @ 3, 6 GET aGet[2] VAR cNome OF oDlg SIZE 40, 10 PICTURE "@!" ; VALID TROCA_PICT( nCgcCpf, aGet, cPicture ) @ 3, 10 BUTTON "&Cancelar" SIZE 50, 12 OF oDlg ACTION( oDlg:End() ) CANCEL ACTIVATE DIALOG oDlg CENTERED Return Nil //-> Checa CNPJ STATIC FUNCTION CHECA_CGC( nCgcCpf, aGet, cPicture ) IF !EMPTY( nCgcCpf ) IF LEN(ALLTRIM( nCgcCpf ) ) > 11 cPicture := "@R 99.999.999/9999-99" //-> Para CNPJ ELSE cPicture := "@R 999.999.999-99" //-> Para CPF ENDIF aGet[1]:oGet:Picture := cPicture aGet[1]:VarPut( nCgcCpf ) aGet[1]:Refresh() ENDIF RETURN( .T. ) //-> TROCA A PICTURE SE SETA PARA CIMA STATIC FUNCTION TROCA_PICT( nCgcCpf, aGet, cPicture ) nCgcCpf := SPACE(18) IF GETASYNCKEY( VK_UP ) cPicture := "@R 999999999999999999" aGet[1]:oGet:Picture := cPicture aGet[1]:VarPut( nCgcCpf ) aGet[1]:Refresh() ENDIF RETURN( .T. ) id=code>id=code>//-> FIM DO PROGRAMA João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>João é quase isso. Só que se ele for com o Mouse ou Não teclar Seta para Cima. Tipo Shift Tab. Ou usar a Tabulação e vir pelo campo acima do CPF/CGC. Mas estou Fazendo os testes aqui acho que to no caminho. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. id=quote>id=quote>SE NÃO CONSEGUIRES AGORA, COM O VK_TAB, EU VOU PEDIR AO LUIZ ARRUDA, QUE POSTE UMA IMAGEM PERFEITA SUA... KKKKKKKK. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 17, 2008 Author Report Share Posted July 17, 2008 AAAAAAAllllllllllleeeeeeelllllllluuuuuiiiiiiiiaaaaaaaa. Resorviiiii. Bom pra resumi o negocio fechei pra tudo que eh lado. Coloquei essas verificações no GET anterior e Posterior ao CPF/CGC coloquei no proprio GET e tb no bGOTfocus. Ou seja se vier de cima, de baixo, com Mouse, tab, seta todos funfo Tem mais algum que esqueci?? João muito Obrigado sua dica foi Show. Como se diz. Quem sabe faz ao vivo Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 17, 2008 Report Share Posted July 17, 2008 PARABÉNS!!!id=size6> ESTE NÃO É O MELHOR FORUM DO MUNDO?? Saudações corinthianas. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
miragerr Posted July 21, 2008 Report Share Posted July 21, 2008 Ola amigos KBelo mostra como você fez Jackson Douglas Boa Vista FWH 8.04 Lamborguini ( isso voa gente ) PellesC+xH 1.1.0 email : miragerr@osite.com.br MSN : jackson_rl@hotmail.com SKYPE : jackson_rr Quote Link to comment Share on other sites More sharing options...
Kbelo Posted July 21, 2008 Author Report Share Posted July 21, 2008 citação:Ola amigos KBelo mostra como você fez Jackson Douglas Boa Vista FWH 8.04 Lamborguini ( isso voa gente ) PellesC+xH 1.1.0 email : miragerr@osite.com.br MSN : jackson_rl@hotmail.com SKYPE : jackson_rr id=quote>id=quote> REDEFINE GET ogaNOMfan VAR aNOMfan ID 104 OF oFLDcad:aDIALOGS[1] PICTURE "@K!"; WHEN nSEL == IK_INC .or. nSEL == IK_ALT; VALID CLIpic() REDEFINE GET ogaNUMcgc VAR aNUMcgc ID 105 OF oFLDcad:aDIALOGS[1] PICTURE "@R 999999999999999999"; WHEN (nSEL == IK_INC .or. nSEL == IK_ALT); VALID CHECA_CGC( aNUMcgc, ogaNUMcgc, "@R 999999999999999999" ) .and. IIF(ySAIDA(1,,ogaNUMcgc) .OR. VAL(aNUMcgc) == 0,.T.,; CLIcgc(.F.)) ogaNUMcgc:bGotFocus := {||CLIpic()} REDEFINE GET ogaPROrur VAR aPROrur ID 106 OF oFLDcad:aDIALOGS[1] PICTURE "@K!S10"; When (nSEL == IK_INC .or. nSEL == IK_ALT); VALID iif(ySAIDA(1,,ogaPROrur),CLIpic(),CLIrur()) ******* By João Kapiaba *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* Static Function CLIpic *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* cPicture := "@R 999999999999999999" ogaNUMcgc:oGet:Picture := cPicture ogaNUMcgc:VarPut( aNUMcgc ) ogaNUMcgc:Refresh() RETURN .t. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* STATIC FUNCTION CHECA_CGC( nCgcCpf, aGet, cPicture ) *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* IF !EMPTY( nCgcCpf ) IF LEN(ALLTRIM( nCgcCpf ) ) > 11 cPicture := "@R 99.999.999/9999-99" //-> Para CNPJ ELSE cPicture := "@R 999.999.999-99" //-> Para CPF ENDIF aGet:oGet:Picture := cPicture aGet:VarPut( nCgcCpf ) aGet:Refresh() ENDIF RETURN( .T. ) id=code>id=code>Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.