Skip to end of metadata
Go to start of metadata

Sintaxe

 

VALTYPE( <expressão> )

 

Propósito

 

Determina o tipo de dado retornado por uma expressão.

 

Argumentos

 

<expressão>

 

Define uma expressão válida, de qualquer tipo, que resulta no dado a ser avaliado.

 

Utilização

 

Essa função fornece uma letra maiúscula identificando o tipo de dado resultante de uma expressão válida qualquer. 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

 

A função VALTYPE() pode ser utilizada como um teste para verificar o tipo de uma variável existente ou a validade de uma expressão.

 

A função VALTYPE() não atende ao propósito de verificar existência de uma variável, pois caso ela não exista a função retorna error.log "variable does not exist". Somente a funcão TYPE() retorna "U" caso a variável não esteja definida ou com conteúdo Nil

 

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 VALTYPE() for uma referência a um array, será fornecida a letra “A”. Todavia, se o argumento for um elemento de array, será fornecido o tipo de dado contido neste elemento.

 

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

 

VALTYPE(cTexto)                   // Resulta “C”

VALTYPE(“AdvPL”)                 // Resulta “C”

VALTYPE(nValor)                    // Resulta “N”

VALTYPE(aMatriz)                   // Resulta “A”

VALTYPE(dData)                     // Resulta “D”

VALTYPE(DATE())                  // Resulta “D”

VALTYPE(1 + 2 = 3)                // Resulta “L”

VALTYPE(w)                           // Resulta “U” (Não definido)

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

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

 

  • No labels