Histórico da Página
Estado | ||||||
---|---|---|---|---|---|---|
|
Section |
---|
Esta documentação apresenta a |
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Tipagem de Dados
...
Versão a Definir
Índice | ||
---|---|---|
|
1. Introdução
...
tipagem de dados na linguagem |
...
2. Requisitos
...
TLPP |
...
- TOTVS Appserver - em definição;
- Pré-processador - em definição;
...
. |
...
3. Tipos de Dados Primitivos
...
Tipo
...
Descrição
...
Indicador
...
numeric
...
Utilizado para valores numéricos inteiros ou decimais, positivos ou negativos.
...
N
...
char / character
...
Utilizado para valores do tipo caracter
...
C
...
date
...
Utilizado para armazenar datas
...
D
...
block / codeblock
...
Armazena um bloco de código para macro execução
...
B
...
logical
...
Armazena valores lógicos, verdadeiro (.T.) ou falso (.F.)
...
L
...
array
...
Utilizado para armazenar uma matriz de valores
...
A
...
object
...
Armazena objetos de interface ou classes
...
O
...
variadic
...
Utilizado para passagem de parâmetros de quantidades variáveis em funções
...
H
4. Funções
A criação de funções com o uso de tipagem de dados deve seguir a seguinte sintaxe:
...
Function <Nome da Funcao>([<parametro1> as <Tipo1>, <paramentroN as <TipoN>]) [as <Tipo>]
...
Return
...
5. Classe
A uso de tipo de dados em classes deve usar a seguinte sintaxe:
Class <Nome da Classe>
// Declaração de propriedades
...
// Declaração de métodos
Method New() // Construtor, retorna Self
...
EndClass
// Construtor da Classe
Method New() Class <Nome da Classe>
Return Self
// Definição de métodos
Method <Nome do Método>(nParam1) Class <Nome da Classe> [as <tipo>]
Local n1 as numeric
...
...
ConOut("Classe:MethodA")
Return n1
...
6. Compilação
...
#include "protheus.ch"
Function xTipagem()
Local c1 as character
Local n1 as numeric
...
Temos o seguinte resultado na compilação:
TIPAGEM.PRW(7) warning W0015 Incompatible Types : cannot convert from 'C' to 'N'
TIPAGEM.PRW(8) warning W0015 Incompatible Types : cannot convert from 'N' to 'C'
7. Execução
...
User Function xTMain()
Local c1 as character
Local l1 as logical
...
ConOut("Chamada 1 - xTLog")
ConOut(U_xTLog(l1))
ConOut("Chamada 2 - xTLog")
...
Return
User Function xTLog(l1 as logical)
...
ConOut("Logical .T.")
Else
ConOut("Logical .F.")
EndIf
Return l1
...
Chamada 1 – xTLog
Logical .T.
.T.
Chamada 2 - xTLog
*** Warning - Mismatched parameters type calling U_XTLOG at parameter 1 - expected L -> C
Logical .F.
NIL
...