Árvore de páginas

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).

 

  • Sem rótulos