newsgroups-index (beta)

Current group: dbase.portugues

zeros a esquerda

zeros a esquerda  
Herberto Silva
 Re: zeros a esquerda  
Wagner J.Rocha
From:Herberto Silva
Subject:zeros a esquerda
Date:Tue, 04 Jan 2005 10:18:28 +0000
Qual a função a utiliar para colocar zeros a esquerda num campo char que
utilize numeros?
From:Wagner J.Rocha
Subject:Re: zeros a esquerda
Date:Tue, 4 Jan 2005 08:26:00 -0200
Eu utilizo esta função.

*=========================================================
function pad()
*=========================================================
/*
Objetivo: Retorna o texto com o tamanho determinado
e preenchido com o caracter determinado a
direita,esuqerda ou centralizado.

Parametros: texto = String a ser analisada
tamanho = tamanho do retorno, caso o texto
informado for maior que o tamanho
este será truncado.
caracter = caracter que será utilizado para pre
encher o que falta (DEFAULT " ")
referncia = determina a regra para o preenchimento
do texto.
E ou L preeenche a esquerda
C centraliza o texto
D ou R preenche a direita


RETORNO: retorna o texto formatado

*/
Parameters Xtexto,tamanho,caracter,referencia
LOCAL texto


if type("xTexto" ) = "C"
Texto = rtrim(ltrim(xTexto))
elseif type ("xTexto" ) = "N"
Texto = rtrim(ltrim( str(xTexto) ) )
else
Texto = ""
endif

if type("tamanho") <> "N"
tamanho = 10
endif
if type( "caracter" ) <> "C"
caracter = space(1)
endif
caracter = substr( caracter,1,1 )

if type( "referencia" ) <> "C"
referencia = "D"
endif


texto = rtrim(ltrim( Texto ))
caracter = substr( caracter,1,1 )
referencia = lower( referencia )


// verifica se o texto de entrada é maior que o tamanho
// desejado, se for trunca.
if len(texto) > tamanho
texto = substr( texto,1,tamanho )
else
if referencia $ "el"
texto = replicate( caracter ,tamanho-len(texto) ) +;
texto
elseif referencia = "c"
texto = replicate( caracter ,(tamanho-len(texto))/2)+;
texto
texto = texto + ;
replicate( caracter ,tamanho-len(texto) )
else
texto = texto + ;
replicate( caracter ,tamanho-len(texto) )
endif
endif


return texto
   

Copyright © 2006 newsgroups-index   -   All rights reserved   -   Impressum