Árvore de páginas

O AdvPL não é uma linguagem de tipos rígidos (strongly typed), o que significa que variáveis de memória podem diferentes tipos de dados durante a execução do programa.

Para quem está trabalhando com TLPP, siga a documentação disponível em Tipagem em TLPP.

Array (A)

Matrizes são um tipo de dado especial. É a disposição de outros elementos em colunas e linhas. O AdvPL suporta matrizes uni ou multidimensionais. Os elementos de uma matriz são acessados através de índices numéricos iniciados em 1, identificando a linha e coluna para quantas dimenões existirem.

Uma matriz pode conter no máximo 100000 elementos, independentemente do número de dimensões.

Matrizes devem ser utilizadas com cautela, pois se forem muito grandes podem exaurir a memória do servidor.

Code Block (B)

O bloco de código é um tipo de dado especial. É utilizado para armazenar instruções escritas em AdvPL que poderão ser executadas posteriormente.

Character (C)

Strings ou cadeias de caracteres são identificadas em AdvPL por blocos de texto entre aspas duplas (") ou aspas simples ('):

  • "Olá mundo!"
  • 'Esta é uma string'
  • "Esta é 'outra' string"

Uma variável do tipo caractere pode conter strings com no máximo 1 Mb, ou seja, 1048576 caracteres.

A declaração de conteúdos string em AdvPL não possui caracteres de "escape" para a declaração de strings. Uma string iniciada com aspas simples deve terminar com aspas simples. Caso seja necessário inserir uma aspa simples em uma string, você pode delimitá-la com aspas duplas; e vice-versa. Caso seja necessário declarar uma string que, ao mesmo tempo contenha aspas simples ou duplas, você deve realizar uma concatenação. Por exemplo:

"Esta é "+'"'+"uma"+'"'+" string 'diferente'"

Date (D)

O AdvPL tem um tipo de dados específico para datas. Internamente as variáveis deste tipo de dado são armazenadas como um número correspondente a data juliana.

Variáveis do tipo de dados Data não podem ser declaradas diretamente, e sim através da utilização de funções específicas como por exemplo ctod que converte uma string para data.

Fixed Size Decimal (F)

Trata-se de um tipo numérico diferenciado, que utiliza uma precisão inteira e decimal declaradas na criação do número. Seu uso é implementado mediante funções aritméticas específicas. Para informações detalhadas desta implementação, consulte o documento Decimais de Ponto Fixo

Logical (L)

Valores lógicos em AdvPL são identificados através de .T. ou .Y. para verdadeiro e .F. ou .N. para falso (independentemente se os caracteres estiverem em maiúsculo ou minúsculo).

Numeric (N)

O tipo numérico do AdvPL trabalha com aritmética de ponto flutuante, capaz de armazenar números inteiros e números fracionários. 

  • 2
  • 43.53
  • 0.5
  • 0.00001
  • 1000000

Uma variável do tipo de dado numérico pode conter números de mais de 15 dígitos, incluindo os dígitos decimais, porém a precisão garantida é de 15 dígitos, da esquerda para a direita – contemplando a parte inteira e dígitos decimais.