Árvore de páginas

Versões comparadas

Chave

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

Estado
subtletrue
colourGreen
titletlpp - language

Section

Esta documentação apresenta a

Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Tipagem de Dados

...

Versão a Definir

Índice
minLevel3

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

...


Visite a seção de introdução e tome ciência das novidades.

Índice:

Exibir filhos

...

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

...