(DADOS) TYPE [AS]

(DADOS) TYPE [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 28/07/2021

Descrição

Determina o tipo de dado de uma expressão.

 

Sintaxe

Type( <cExpr>)

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
cExpr 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   X  

 

Retorno

Retorno Tipo Descrição
cRet Caracter
Tipo da Variável/Expressão

 

Exemplo

User Function Type()
Private cTexto := 'Eurai'
Private nValor := 0 
Private bBloco := {|| MsgAlert('ADVPL', 'UniversoADVPL') }
Private dDate := Date()
Private lRet := .T.
Private aArray := {}

MsgInfo( 'TYPE: ' + Type( "cTexto" ) + CRLF + ;
'TYPE: ' + Type( "nValor" ) + CRLF + ;
'TYPE: ' + Type( "bBloco" ) + CRLF + ;
'TYPE: ' + Type( "dDate" ) + CRLF + ;
'TYPE: ' + Type( "lRet" ) + CRLF + ;
'TYPE: ' + Type( "cTipo" ) + CRLF + ;
'TYPE: ' + Type( "aArray" ) + CRLF + ;
'TYPE: ' + Type( "Val('c')" ) ;
 , 'UniversoADVPL' )

Return( Nil )

 

Resultado
texto_-_resultado_01  

 

 

Informações adicionais

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

Usar variável private ao invés de local, resultado para local sempre será == U

 

 

 

Informações adicionais

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

 

 

 

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários