Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css
Portuguese

Pagetitle

...

Função: PADC / PADL / PADR

Inserem caracteres de preenchimento em valores, do tipo caracter, data e numérico, para criar uma nova string de tamanho especificado.
Para isso, cada função tem a seguinte característica:
- PADC() centraliza o conteúdo do parâmetro <cExp> adicionando caracteres de preenchimento à direita e à esquerda.
- PADL() adiciona caracteres de preenchimento à esquerda.
- PADR() adiciona caracteres de preenchimento à direira. Caso o tamanho do parâmetro <cExp> exceda o <nTamanho>, todas as funções PAD() truncam <cCaracPreench> ao <nTamanho> especificado.

PadC
PadC

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

Sintaxe

Bloco de código
collapsefalse
PadC( < xExp >, < nLen >, [ cFill ] )

Parâmetros

PADC / PADL / PADR ( < cExp>, < nTamanho>, [ cCaracPreench] ) --> cRet

...

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 (" ").
    cRet(caracter)
  • PADC(), PADL() e PADR() retornarão o resultado do parâmetro cExp na forma de uma string preenchida com <cCaracPreench> para totalizar o tamanho especificado no <nTamanho>.

Estas funções são utilizadas para exibir strings de tamanho variável em uma área de tamanho fixo.

Pode-se utilizar, por exemplo, essas funções para:

  • Assegurar o alinhamento com comandos consecutivos.
  • Exibir textos em uma tela de tamanho fixo para certificar-se de que o texto anterior foi completamente sobrescrito.

As funções PADC(), PADL() e PADR() são o inverso das AllTrim(), LTrim() e RTrim() que eliminam espaços em branco à direita e à esquerda da string.

PADC( "Texto", 30 )  // Resultado: "            Texto             "PADL( "Texto", 30 )  // Resultado: "                         Texto"PADR( "Texto", 30 )  // Resultado: "Texto                         "
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10
  • 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

Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
#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

Image Added

Abrangência

Todas as versões

Veja também

...