Adicionando caracteres em um texto com as funções PadC, PadL e PadR – Maratona AdvPL e TL++ 379

Nesse vídeo demonstraremos a utilização das funções PadC, PadL e PadR que servem para adicionar caracteres em um texto (como por exemplo espaço em branco), seja na esquerda, na direita ou centralizando.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe379
Adiciona caracteres no centro, a esquerda ou a direita de uma string
@type Function
@author Atilio
@since 28/03/2023
@see https://tdn.totvs.com/display/tec/PadC e https://tdn.totvs.com/display/tec/PadL e https://tdn.totvs.com/display/tec/PadR
@obs 

    Função PadC
    Parâmetros
        + xExp           , Indefinido   , Indica o valor que terá os caracteres adicionados
        + nLen           , Numérico     , Define o tamanho que a string ficará
        + cFill          , Caractere    , Indica o caractere que será usado para preenchimento (se não for informado será o espaço)
    Retorno
        + cRet           , Caractere    , Retorna a string com o tamanho preenchido

    Função PadL
    Parâmetros
        + xExp           , Indefinido   , Indica o valor que terá os caracteres adicionados
        + nLen           , Numérico     , Define o tamanho que a string ficará
        + cFill          , Caractere    , Indica o caractere que será usado para preenchimento (se não for informado será o espaço)
    Retorno
        + cRet           , Caractere    , Retorna a string com o tamanho preenchido

    Função PadR
    Parâmetros
        + xExp           , Indefinido   , Indica o valor que terá os caracteres adicionados
        + nLen           , Numérico     , Define o tamanho que a string ficará
        + cFill          , Caractere    , Indica o caractere que será usado para preenchimento (se não for informado será o espaço)
    Retorno
        + cRet           , Caractere    , Retorna a string com o tamanho preenchido

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe379()
    Local aArea      := FWGetArea()
    Local cTexto     := ""
    Local cMensagem  := ""

    //Monta uma mensagem adicionando caracteres a direita e esquerda
    cTexto := "Daniel Atilio"
    cMensagem := "PadC: '" + PadC(cTexto, 25) + "'" + CRLF
    cMensagem += "PadL: '" + PadL(cTexto, 25) + "'" + CRLF
    cMensagem += "PadR: '" + PadR(cTexto, 25) + "'" + CRLF
    cMensagem += CRLF

    //Agora faz o exemplo, adicionando um 0 no lugar de espaço vazio
    cTexto := "55"
    cMensagem += "PadC: '" + PadC(cTexto, 6, "0") + "'" + CRLF
    cMensagem += "PadL: '" + PadL(cTexto, 6, "0") + "'" + CRLF
    cMensagem += "PadR: '" + PadR(cTexto, 6, "0") + "'" + CRLF
    cMensagem += CRLF

    //Exibe a mensagem
    ShowLog(cMensagem)

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação