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.