Descrição
(DADOS) TYPE [AS] - Determina o tipo de dado de uma expressão.
|
Sintaxe
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
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! 😎