Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Incluir Página
tec:Type
tec:Type

Sintaxe

 

TYPE( <expressão caracter> )

 

Propósito

 

Determina o tipo de dado de uma expressão.

 

Argumentos

 

<expressão caracter>

 

Define uma cadeia de caracteres que resulta no dado a ser avaliado. Pode incluir o nome de um campo de arquivo de dados (incluindo o alias), o nome de uma variável ou uma expressão de qualquer tipo.

 

Utilização

 

A função fornece uma letra maiúscula identificando o tipo de dado da expressão. Os tipos de dados possíveis, e as suas letras identificadoras, são relacionados na tabela abaixo:

 

Letra

Tipo de dado

A

Array

B

Bloco de Código

C

Caracter

D

Data

L

Lógico

M

Campo memo

N

Numérico

O

Objeto

U

NIL, Local ou Estático

UE

Erro de sintaxe

UI

Erro indeterminado

 

A função TYPE() pode ser utilizada como um teste para verificar a existência de uma variável ou a validade de uma expressão.

 

Dicas

 

A função VALTYPE() é equivalente à função TYPE(). Contudo, VALTYPE() é capaz de avaliar o tipo de dado contido em variáveis locais e estáticas, e o tipo de dado resultante de uma função de usuário, enquanto que a função TYPE() não.

 

Se o argumento da função TYPE() for uma referência a um array, será fornecida a letra “A”. Todavia, se o argumento for um elemento de um array, será fornecido o tipo de dado contido neste elemento.

 

A função TYPE() pode avaliar apenas o tipo de dado de parâmetros recebidos através do comando PARAMETERS. Se forem avaliados parâmetros recebidos através da sintaxe das funções, isto é, FUNCTION(<lista de parâmetros>), o valor fornecido será sempre “U”. Neste caso, deve-se utilizar a função VALTYPE().

 

Por isso, recomenda-se sempre o uso da função VALTYPE(), ao invés da função TYPE().

 

Exemplos

 

PRIVATE aMatriz[10]

 

LOCAL cTexto := “AdvPL”

LOCAL nValor := 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” (Não definido)

TYPE(“cTexto / nValor”)      // Resulta “U” (Dado caracter não pode ser dividido por um número)

TYPE(“nValor / 2”)               // Resulta “N”, pois é uma expressão válida

TYPE(“SUBSTR(4,5)”)        // Resulta “UE” (Erro de Sintaxe)