Histórico da Página
Sintaxis
TYPE( <expresión carácter> )
Propósito
Determina el tipo de dato de una expresión.
Argumentos
<expresión carácter>
Define una cadena de caracteres que resulta en el dato que se evaluará. Puede incluir el nombre de un campo de archivo de datos (incluyendo el alias), el nombre de una variable o una expresión de cualquier tipo.
Utilización
La función suministra una letra mayúscula identificando el tipo de dato de la expresión. Los tipos de datos posibles y sus letras identificadoras se listan en la siguiente tabla:
Letra | Tipo de dato |
A | < array > |
B | Bloque de código |
C | Carácter |
D | Fecha |
L | Lógico |
M | Campo memo |
N | Numérico |
O | Objeto |
U | NIL, Local o Estático |
UE | Error de sintaxis |
UI | Error indeterminado |
La función TYPE() puede utilizarse como una prueba para verificar la existencia de una variable o la validez de una expresión.
Sugerencias
La función VALTYPE() es equivalente a la función TYPE(). Sin embargo, VALTYPE() es capaz de evaluar el tipo de dato contenido en variables locales y estáticas, y el tipo de dato resultante de una función de usuario, mientras que la función TYPE() no.
Si el argumento de la función TYPE() es una referencia a un array, se suministrará la letra “A”. También, si el argumento es un elemento de un array, se suministrará el tipo de dato contenido en este elemento.
La función TYPE() puede evaluar solamente el tipo de dato de parámetros recibidos por medio del comando PARAMETERS. Si se evalúan parámetros recibidos por medio de la sintaxis de las funciones, es decir, FUNCTION(<lista de parámetros>), el valor suministrado será siempre “U”. En este caso, debe utilizarse la función VALTYPE().
Por eso se recomienda siempre el uso de la función VALTYPE(), en lugar de la función TYPE().
Ejemplos
PRIVATE aMatriz[10]
LOCAL cTexto := “AdvPL”
LOCAL nReserva := 1000
LOCAL dData := DATE()
TYPE(“cTexto”) // Resulta “C”.
TYPE(“AdvPL”) // Resulta “C”.
TYPE(“nValor”) // Resulta “N”.
TYPE(“aMatriz”) // Resulta “A”.
TYPE(“dData”) // Resulta “D”.
TYPE(“DATE()”) // Resulta “D”.
TYPE(“1 + 2 = 3”) // Resulta “L”.
TYPE(“w”) // Resulta “U” (No definido).
TYPE(“cTexto / nValor”) // Resulta “U” (Dato carácter no puede dividirse por un número).
TYPE(“nValor / 2”) // Resulta “N”, pues es una expresión válida.
TYPE(“SUBSTR(4,5)”) // Resulta “UE” (Error de sintaxis).