Jump to content
Fivewin Brasil

3 Pictures em um GET(Resolvido)


Kbelo

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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>

Sds

José Carlos - ZECA

fw23c-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites


// 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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

// 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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...