Aplicando uma máscara através da Transform – Maratona AdvPL e TL++ 503

Nesse vídeo demonstraremos a utilização da função Transform, que serve para aplicar uma máscara em um conteúdo.

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

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe503
Transforma uma expressão utilizando uma Picture (Máscara)
@type Function
@author Atilio
@since 04/04/2023
@see https://tdn.totvs.com/display/tec/Transform
@obs 

    Transform
    Parâmetros
        + xExp         , Indefinido    , Expressão a ser formatada
        + cSayPicture  , Caractere     , Define a máscara de formatação que será aplicada na transformação
    Retorno
        + Ret          , Caractere     , Retorna a expressão transformada conforme a picture fornecida

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

User Function zExe503()
    Local aArea      := FWGetArea()
    Local nValor     := 57485.3477
    Local cCEP       := "17000111"
    Local cTelefone  := "14988887777"
    Local cCPF       := "11122233344"
    Local cRG        := "998887776"
    Local cCNPJ      := "99888777000166"
    Local cNome      := "Daniel Atilio"
    Local cMensagem  := ""

    //Monta a mensagem transformando os valores
    cMensagem += "Valor com 2 casas: " + Alltrim(Transform(nValor,    "@E 999,999,999.99"    )) + CRLF
    cMensagem += "Valor com 4 casas: " + Alltrim(Transform(nValor,    "@E 999,999,999.9999"  )) + CRLF
    cMensagem += "CEP:               " + Alltrim(Transform(cCEP,      "@R 99999-999"         )) + CRLF
    cMensagem += "Telefone:          " + Alltrim(Transform(cTelefone, "@R (99) 9 9999-9999"  )) + CRLF
    cMensagem += "CPF:               " + Alltrim(Transform(cCPF,      "@R 999.999.999-99"    )) + CRLF
    cMensagem += "RG:                " + Alltrim(Transform(cRG,       "@R 99.999.999-X"      )) + CRLF
    cMensagem += "CNPJ:              " + Alltrim(Transform(cCNPJ,     "@R 99.999.999/9999-99")) + CRLF
    cMensagem += "Tudo Maiúsculo:    " + Alltrim(Transform(cNome,     "@!"                   )) + CRLF
    ShowLog(cMensagem)

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até 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