Página 1 de 1

Formatar variavel ainda no Get com StrZero()

Enviado: 03 Out 2005 19:01
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

Enviado: 03 Out 2005 19:06
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...

Enviado: 03 Out 2005 19:11
por Visitante
Com certeza....

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

Um Clip Abraço

Enviado: 03 Out 2005 19:24
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.

Enviado: 03 Out 2005 19:54
por Augusto
Bem... insisto em dizer que, antes do READ... nada feito...

Enviado: 03 Out 2005 21:04
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

Enviado: 03 Out 2005 21:55
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

É isso mesmo Jânio!

Enviado: 04 Out 2005 09:51
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.

Enviado: 04 Out 2005 19:26
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.

Formatar variavel ainda no Get com StrZero()

Enviado: 29 Ago 2018 11:17
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.