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: 563
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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