Formatar variável ainda no GET

Foto de Anderson

Formatar Variável ainda no GET


Coloque os zeros antes do número automaticamente, ainda dentro do GET.

 Para ficar bem claro, será mostrado duas rotinas equânimes a seguir.

Uma rotina normalmente usada seria assim:
 

WCOD := 0
@ 10,10 SAY "CODIGO:" GET WCOD PICT "999999"
//Outros GETs
READ
WCOD := STRZERO(WCOD,6)


A partir de agora você fará o seguinte*:

WCOD := 0
@ 10,10 SAY "CODIGO:" GET WCOD PICT "999999" VALID EVAL( { || WCOD := STRZERO(WCOD,6), .T.} )
//Outros GETs
READ


Gostou?!
*Testado no Clipper 5.01 e 5.2e; xHarbour 1.2.1 + Hbmake 1.20.

Total votes: 0

Comentários

Não funciona no Harbour

Comment: 

Esse código não vai funcionar no Harbour devido ao fato de tentar colocar no GET ativo um valor diferente (o campo é numérico e você tenta colocar um campo caracter).

A solução é:

WCOD := SPACE( 6 )

@ 10,10 SAY "CODIGO:" GET WCOD PICT "999999" VALID EVAL( { || WCOD := STRZERO( VAL( WCOD ), 6 ), .T.} )

//Outros GETs

READ

Ambos os casos estão corretos!

Foto de Anderson

Comment: 

Observe que WCOD := 0, ou seja, minha variável é numérica! Se fosse caracter aí sim ficaria como você explicou no seu exemplo. Ambos os casos funcionam!

Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, DBFCDX e SIBRA para imprimir relatórios.

Páginas