TRANSFORM( )

Convierte cualquier valor en una cadena de caracteres formateada

Sintaxis

     TRANSFORM(, <cPatrónFormatoSay>) –> cCadenaFormato

Argumentos

es el valor que se va a formatear. Puede ser una expresión de cualquier tipo de datos válido en DPXBASE excepto matrices, bloques de código y NIL.

<cPatrónFormatoSay> es una cadena de caracteres que describe el formato del valor devuelto.

Devuelve

TRANSFORM() convierte en una cadena de caracteres formateada según lo definido en<cPatrónFormatoSay>.

Descripción

TRANSFORM() es una función de conversión que formatea valores de caracteres, fechas, lógicos y numéricos de acuerdo a una cadena de formato especificada compuesta por una combinación de funciones de formato y cadenas de plantilla.

TRANSFORM() formatea los datos para su salida por pantalla o por impresora de la misma manera que la cláusula PICTURE del mandato @…SAY.

     ¦  Cadena de función: Cadena que especifica las reglas de formato aplicadas al valor devuelto por TRANSFORM() en su conjunto, en vez de a las posiciones de carácter individuales en . Está formada por el carácter @ seguido de uno o más caracteres adicionales, cada uno de los cuales tiene un significado determinado (consulte la tabla siguiente). Si se indica una cadena de función, el carácter @ debe ser el primero a la izquierda de la cadena de formato, y la cadena de función no debe contener espacios.

Puede especificarse una cadena de función sola o acompañada de una cadena de plantilla. Si se utilizan ambas, la cadena de función debe preceder a la cadena de plantilla y las dos deben estar separadas por un espacio.

        Funciones TRANSFORM()

        ———————————————————————

        Función    Acción

        ———————————————————————

        B          Muestra números justificados a la izquierda

        C          Muestra RC después de los números positivos

        D          Muestra las fechas en el formato especificado por SET DATE

        E          Muestra la fecha en formato británico

        R          Inserta caracteres que no aparecen en la plantilla

        X          Muestra DB después de los números negativos

        Z          Muestra los ceros como espacios en blanco

        (          Sitúa los números negativos entre paréntesis

        !          Convierte en mayúsculas los caracteres alfabéticos

        ———————————————————————

     ¦  Cadena de plantilla: La cadena de plantilla especifica las reglas de formato carácter a carácter. La cadena de plantilla está formada por una serie de caracteres, algunos de los cuales tienen significados especiales (consulte la tabla siguiente). Cada posición de la cadena de plantilla corresponde a una posición en el valor del argumento . Esta plantilla se utiliza con TRANSFORM(), por lo que puede servir para insertar caracteres tales como comas, signos de dólar y paréntesis.

Los caracteres de la cadena de plantilla que no tengan significados asignados se copian literalmente en el valor devuelto. Si se utiliza la función de imagen @R, estos caracteres se insertan entre los caracteres del valor devuelto; en caso contrario sustituyen a los caracteres correspondientes de dicho valor. Puede especificarse una cadena de plantilla sola o acompañada de una cadena de función. Si se utilizan ambas, la cadena de función debe ir antes que la cadena de plantilla y ambas cadenas deben estar separadas por un espacio.

        Plantillas TRANSFORM()

        ———————————————————————

        Plantilla      Acción

        ———————————————————————

        A,N,X,9,#      Muestra dígitos de cualquier tipo de datos

        L              Muestra los valores lógicos como “T” o “F”

        Y              Muestra los valores lógicos como “S” o “N”

        !              Convierte en mayúscula un carácter alfabético

        $              Muestra un signo de dólar en cada espacio inicial en

                       blanco de un valor numérico

        *              Muestra un asterisco en cada espacio inicial en blanco

                       de un valor numérico

        .              Especifica una posición de punto decimal

        ,              Especifica una posición de coma

        ———————————————————————

Ejemplos

     ¦  Este ejemplo asigna un formato monetario a un número utilizando una plantilla:

        ? TRANSFORM(123456, “$999,999”)        // Resultado: $123,456

     ¦  Este ejemplo formatea una cadena de caracteres utilizando una función:

        ? TRANSFORM(“en mayúsculas”, “@!”)     // Resultado: EN MAYUSCULAS

 Ficheros:  La biblioteca asociada es DPXBASE.CH.