Árvore de páginas

Versões comparadas

Chave

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

...

Portuguese

Pagetitle
Tipos de Dados
Tipos de Dados

Tipos de Dados

Abrangência

Versão 5.07

Versão 5.08

Versão 6.09

Versão 7.10

Versão 8.11

Versões Anteriores


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. Variáveis podem também conter objetos, mas os tipos primários da linguagem são:

  • Numérico

  • Lógico

  • Caracter

  • Data

  • Matriz (Array)

  • Bloco de Código

  • Variadic



Numérico


O AdvPl não diferencia valores inteiros de valores com ponto flutuante, portanto pode-se criar variáveis numéricas com qualquer valor dentro do intervalo permitido. Os seguintes elementos são do tipo de dado numérico:



2
43.53
0.5
0.00001
1000000



Uma variável do tipo de dado numérico pode conter um número de dezoito dígitos incluindo o ponto flutuante, no intervalo de 2.2250738585072014 E-308 até 1.7976931348623158 E+308.

Lógico


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


Caracter


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 caracter 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'"

Data


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.


Matriz (Array)


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.


Bloco de Código


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

Variadic

Variadic é um tipo de dado para ser utilizado em funções que necessitam receber uma quantidade variável de parâmetros. Para sua correta utilização, a função deve estar com os tipos de todos os parâmetros devidamente definidos, além disso, o parâmetro Variadic deve aparecer apenas uma vez e sempre na última posição da lista de parâmetros. Para saber a quantidade de parâmetros que foram passados em uma chamada de função que utiliza o Variadic, basta acessar a propriedade :vCount. E para acessar os parâmetros propriamente ditos, deve-se acessar a propriedade :vArgs[<posição do parâmetro>]. Para ilustrar a utilização, no exemplo a seguir temos uma função que recebe uma quantidade variável de parâmetros e imprime todos os valores recebidos:

Function exemplo(param As Variadic)
Local i
For i := 1 To param:vCount
Conout(param:vArgs[i])
Next
Return