Formatar variavel ainda no Get com StrZero()

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Formatar variavel ainda no Get com StrZero()

Mensagem por Grings »

Como posso fazer para formatar uma variável quando ainda estiver no Get ? Exemplo: digitando 5 quero que apareça 005.
Grato!
Grings
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Pode ser que eu me engane...
Mais vc só vai conseguir isso depois do READ através do "@ say" com a variável já transformada pelo STRZERO()..

Vamos ver o q os outros colegas do Fórum vão dizer...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Visitante

Mensagem por Visitante »

Com certeza....

Só se valida o conteúdo da mesma após a saída do Get.

Um Clip Abraço
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

O exemplo dessa rotina consta aquí no fórum, porém não consigo encontrar. Perdí o programa fonte que fazia isso, tem como fazer, talvez tenha me expressado mal, quando digito 5 e teclo ENTER o campo auto-completa 005.
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Bem... insisto em dizer que, antes do READ... nada feito...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 565
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Mensagem por Poka »

Prezado colega, será que seria isto.



cls
vcodigo:=space(05)
@ 10,10 say "Codigo: " get vcodigo pict"@k9";
valid funger()
read
retu nil
/////////////

stat func funger
if readvar()="VCODIGO"
vcodigo:=strzero( val(vcodigo),len(vcodigo))
endif
retu .t.




Obs. em todos os cadastros do meu sistema eu uso a funcao FUNGER(),
assim voce pode testar os campos que quiser.

espero que seja isto

um abraço



Poka
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Olá,

Outra opção seria:

Código: Selecionar todos

LOCAL nCodItem:=0 
@ 02, 02 SAY "CODIGO ITEM :" GET nCodItem   PICTURE "99999" ; 
VALID  EVAL( { || nCodItem:= STRZERO(nCodItem, 5), .T. } ) 
Read 
Um abraço,

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

É isso mesmo Jânio!

Mensagem por Grings »

Valeu Jânio, tinha certeza que tem como fazer... Poka, obrigado também mas a solução do Jânio é mais prática.
Paulao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 09 Jul 2004 11:03
Localização: Franca
Contato:

Mensagem por Paulao »

Eu Faço assim



m->NUMPED:=SPAC(5)
@ 21,02 say "Num pedido: "get m->numped pict"@!K"valid completa("m->numped",5)

function completa(campo,qtd)
&campo=padl(alltrim(&campo),qtd,"0")
return .t.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Formatar variavel ainda no Get com StrZero()

Mensagem por JoséQuintas »

Dependendo do caso, uso função própria.

Código: Selecionar todos

... GET cItem VALID FillZeros( @cItem )

... GET cItem VALID OkItem( @cItem )

Uma validação específica para o cadastro, ou uma genérica de preencher.

Código: Selecionar todos

FUNCTION FilllZeros( cVar )

   cVar := StrZero( Val( cVar ), Len( cVar ) )

   RETURN .T.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder