TRANSFORM()
 Converte qualquer valor para uma cadeia de caracteres formatada
------------------------------------------------------------------------------

 Sintaxe

     TRANSFORM(<exp>, <cSayPicture>) --> cStringMáscara

 Argumentos

     <exp> é o valor a ser formatado.  Esta expressao pode ser qualquer
     tipo de dados válidos do Clipper, exceto vetor, bloco de código, e NIL.

     <cSayPicture> é um string de caracteres de máscara e template usado
     para descrever o formato da cadeia de caracteres a ser retornada.

 Retorno

     TRANSFORM() converte <exp> para uma cadeia de caracteres formatada
     conforme a definiçao em <cSayPicture>.

 Descriçao

     TRANSFORM() é uma funçao de conversao que formata valores caractere,
     data, lógicos e numéricos conforme um string de máscara especificado
     que inclui uma combinaçao de strings de template e funçoes de picture.
     Ela faz o mesmo que a cláusula PICTURE do comando @...SAY.  TRANSFORM()
     é utilizada para formatar dados a serem enviados à tela ou à
     impressora.

       String de funçao: Um string de funçao de picture
        especifica as regras de formataçao que se aplicam ao valor de
        retorno de TRANSFORM() como um todo, e nao a posiçoes de caracteres
        específicos na <exp>.  O string de funçao consiste no caractere @,
        seguido de um ou mais caracteres adicionais, cada um deles com um
        significado específico (veja a tabela abaixo).  Se um string de
        funçao estiver presente, o caractere @ deve ser o caractere mais à
        esquerda do string de máscara, e o string de funçao nao deve conter
        espaços.  Um string de funçao pode ser especificado sozinho ou com
        um string de template.  Caso ambos estejam presentes, o string de
        funçao deve preceder ao string de template, e os dois devem ser
        separados por um único espaço.

        Tabela 5-34: Funçoes TRANSFORM()
        ---------------------------------------------------------------------
        Funçao            Açao
        ---------------------------------------------------------------------
        B                 Exibe números alinhados à esquerda
        C                 Exibe CR após números positivos
        D                 Exibe data conforme SET DATE
        E                 Exibe data em formato British
        R                 Caracteres nao-template sao inseridos
        X                 Exibe DB após números negativos
        Z                 Exibe zeros como brancos
        (                 Coloca números negativos entre parênteses
        !                 Converte letras para maiúsculas
        ---------------------------------------------------------------------

       String de template: Um string de template especifica as
        regras de formataçao para cada caractere.  O string de template
        consiste em uma série de caracteres, alguns dos quais têm
        significado especial (veja a tabela abaixo).  Cada posiçao no string
        de template corresponde a uma posiçao no valor do argumento <exp>.
        Os caracteres do string de template que nao têm significados
        atribuidos sao copiados literalmente no valor de retorno.  Se a
        funçao de picture @R for usada, estes caracteres sao inseridos entre
        os caracteres do valor de retorno; do contrário, eles sobre-escrevem
        os caracteres do valor de retorno.  Um string de template pode ser
        especificado sozinho ou com um string de funçao.  Caso ambos estejam
        presentes, o string de funçao deve preceder ao string de template, e
        os dois devem ser separados por um único espaço.

        Tabela 5-35: Templates TRANSFORM()
        ---------------------------------------------------------------------
        Template          Açao
        ---------------------------------------------------------------------
        A,N,X,9,#         Exibe dígitos para qualquer tipo de dados
        L                 Exibe lógicos como "T" ou "F"
        Y                 Exibe lógicos como "Y" ou "N"
        !                 Converte uma letra em maiúscula
        $                 Exibe o cifrao em lugar de espaço para valores
                          numéricos
        *                 Exibe um asterisco em lugar de espaço para
                          numéricos
        .                 Especifica a posiçao do ponto decimal
        ,                 Especifica a posiçao da vírgula
        ---------------------------------------------------------------------

 Exemplos

       O exemplo a seguir formata um número para um formato de moeda
        através de um template:

        ? TRANSFORM(123456, "$999.999")       // Resulta: $123,456

       O exemplo a seguir formata uma cadeia de caracteres através
        de uma funçao:

        ? TRANSFORM("maiuscula", "@!")        // Resulta: MAIUSCULA

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: LOWER() PAD() STR() UPPER() @...SAY Códigos PICTURE