Centraliza o conteúdo de uma variável adicionando caracteres de preenchimento à direita e à esquerda.

Sintaxe

PadC( < xExp >, < nLen >, [ cFill ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

xExp

qualquer

Indica um valor no qual serão inseridos caracteres de preenchimento.

X

 

nLen

numérico

Indica o tamanho da string que será retornada.

X

 

cFill

caractere

Indica o caractere que será inserido no parâmetro.

 

 

Retorno

Nome

Tipo

Descrição

cRet

caractere

Retorna uma string com o tamanho indicado em nLen contendo o valor indicado em xExp centralizado, preenchido com o caractere indicado em cFill.

Observações

  • PadC centraliza o valor apontado por xExp dentro do comprimento especificado por nLen, transformando-o em string (igual ao comportamento da função cValToChar), e adicionando à direita e à esquerda de xExp o caractere definido em cFill.
  • Caso o comprimento de xExp convertido para string for maior que o especificado em nLen, a função retornará o conteúdo de xExp truncado, de forma que o seu comprimento final seja igual ao definido em nLen.
  • Caso cFill não seja especificado, o padrão é o espaço em branco (" ").
  • A função utilizará apenas o primeiro caractere da string apontada por cFill.
  • Caso a nLen seja menor ou igual a 0 (zero), a função retornará uma string vazia ("").
  • Caso a diferença entre nLen e o tamanho de xExp em string não seja divisível por 2, será inserido do lado direito mais 1 caractere apontado por cFill.
  • As funções PadC, PadL e PadR são muito úteis para a apresentação de dados, através de uma string, dentro de uma área de determinado comprimento. Elas são normalmente utilizadas para se obter alinhamento, à esquerda ou à direita, ou para centralizar os dados que serão apresentados pelas funções do AdvPL na tela ou na impressora.
  • A função AllTrim é o inverso da função PadC.

Exemplos

Exemplo 1
#define CRLF Chr(13)+Chr(10)
user function mypadc()
  Local cMsg := ""
  
  cMsg += ( 'PadC( "Light", 9 ) --- "' + PadC( "Light", 9 ) + '"' + CRLF )
  cMsg += ( 'PadC( "Light", 9, "@" ) --- "' + PadC( "Light", 9, "@" ) + '"' + CRLF )
  cMsg += ( 'PadC( "Light", 9, "@%" ) --- "' + PadC( "Light", 9, "@%" ) + '"' + CRLF )
  cMsg += ( 'PadC( "Light", 3 ) --- "' + PadC( "Light", 3 ) + '"' + CRLF )
  cMsg += ( 'PadC( "Light", 10, "@" ) --- "' + PadC( "Light", 10, "@" ) + '"' + CRLF )
  cMsg += ( 'PadC( .T., 9 ) --- "' + PadC( .T., 9 ) + '"' + CRLF )
  cMsg += ( 'PadC( 123, 9 ) --- "' + PadC( 123, 9 ) + '"' + CRLF )

return MsgInfo( cMsg, "PadC Example" )

Resultado do Exemplo

Abrangência

Todas as versões

Veja também

  • Sem rótulos