4D v13.4

Tipos de dados

Página Inicial

 
4D v13.4
Tipos de dados

Tipos de dados  


 

 

Campos 4D, variáveis e expressões podem ser dos seguintes tipos de dados:

Tipos de dadosCampoVariávelExpressão
String (ver nota 1)SimSimSim
Numérico (ver nota 2)SimSimSim
DataSimSimSim
HoraSimSimSim
BooleanoSimSimSim
ImagemSimSimSim
PonteiroNãoSimSim
BLOB (ver nota 3)SimSimNão
Array (ver nota 4)NãoSimNão
Inteiro 64 bits (ver nota 5)SimNãoNão
Flutuante (ver nota 5)SimNãoNão
Indefinido NãoSimSim

Notas

1. A String inclui campo alfanumérico, variável de comprimento fixo, e um campo de texto ou variável.
2. Número inclui campo e variável tipo Real, Inteiro, Inteiro longo.
3. BLOB é um acrônimo para binary large object. Para mais informações sobre BLOBs, consulte a seção DISABLE MENU ITEM.
4. Array inclui todos os tipos de arrays. Para obter mais informações, consulte a seção Arrays.
5. O inteiro de 64 bits e os tipos float só podem ser controlados através de SQL. Não é recomendável trabalhar com eles através da linguagem 4D porque, neste caso, eles são convertidos para o tipo Real que poderia levar a alguma perda de precisão.

String  

String é um termo genérico que representa:

  • campos ou variáveis tipo alfanumérico
  • campos ou variáveis tipo texto
  • Qualquer string ou expressão de texto

Uma string é composta de caracteres. A manipulação de cadeias de caracteres varia dependendo se 4D é executado no modo Unicode ou no modo não Unicode (modo de compatibilidade). Este modo é definido através das preferências da aplicação (veja a seção de Códigos ASCII ).

Modo Unicode

  • Um campo alfanumérico pode conter de 0 a 255 caracteres (o limite é definido durante a definição do campo).
  • Um campo de texto, variável ou expressão pode conter de 0 a 2 GB de texto.
  • Não há nenhuma diferença entre uma string ou variável texto.

Modo não Unicode (compatibilidade)

Cada caractere pode ser um dos 256 caracteres ASCII suportados pelo Windows e Mac OS. Para obter mais informações sobre os códigos ASCII, consulte a seção Códigos ASCII.

  • Um campo alfanumérico pode conter de 0 a 255 caracteres (o limite é definido durante a definição do campo).
  • Uma variável de comprimento fixo pode conter de 0 a 255 caracteres (o limite depende da declaração da variável).
  • Um campo de texto, variável ou expressão pode conter de 0 a 32, 000 caracteres.

Não importa o modo, você pode atribuir uma string para um campo de texto e vice-versa; 4D faz a conversão, truncando, se necessário. Você pode misturar texto e string em uma expressão.

Nota: No manual Referência da Linguagem 4D, ambos parâmetros string e texto em descrições de comando são indicados como String, exceto quando indicado contrário.

Número é um termo genérico que representa:

  • Campo Real, variável ou expressão
  • Campo Inteiro, variável ou expressão
  • Campo Inteiro longo, variável ou expressão

O intervalo indicado para o tipo de dados Real é ±1.7e±308 (15 dígitos)
O intervalo para o tipo de dados número Inteiro (Inteiro de 2 bytes) é -32,768..32,767 (2^15..(2^15)-1)
O intervalo para o tipo de dados Inteiro longo (Inteiro de 4 bytes) é de -2^31..(2^31)-1

Você pode atribuir qualquer tipo de dados Número para o outro; 4D faz a conversão, truncamento ou o arredondamento, se for necessário. No entanto, quando os valores estão fora do intervalo, a conversão não irá retornar um valor válido. Você pode misturar tipos de dados Número em expressões.

Nota: No manual Referência da Linguagem 4D, não importa o tipo de dados, os parâmetros, Real, Inteiro, Inteiro Longo nas descrições de comando são representadas por Número, exceto quando indicado contrário.

Data  

  • Um campo de data, variável ou expressão pode ser estar no intervalo de 1/1/100 a 12/31/32,767.
  • Usando os a versão em Inglês de 4D, a data é ordenada no formato dia/mês/ano.
  • Se um ano é dado como dois dígitos, presume-se estar na década de 1900 se o valor for maior ou igual a 30, e de 2000, se o valor for inferior a 30 (esse padrão pode ser alterado usando o comando SET DEFAULT CENTURY).

Nota: No manual Referência de Linguagem 4D, os parâmetros de data nas descrições do comando são indicadas como data, salvo quando indicado o contrário.

Tempo  

  • Um campo de Tempo, variável ou expressão pode estar no intervalo de 0:00:00 a 596,000:00:00.
  • Na versão em Inglês de 4D, o tempo é ordenado em hora:minuto:segundo.
  • As horas estão no formato de 24 horas.
  • Um valor de tempo pode ser tratado como um número. O número retornado de um tempo é o número de segundos que o tempo representa. Para mais informações, consulte a seção de Operadores de Hora.

Nota: No Manual de Referência 4D da linguagem, parâmetros de tempo em descrições de comando são indicados como Tempo, exceto quando indicado o contrário.

Um campo booleano, variável ou expressão pode ser VERDADEIRO ou FALSO.

Nota: No Manual Referência de Linguagem 4D, os parâmetros booleanos em descrições de comando são indicadas como Booleano, exceto quando indicado o contrário.

Imagem  

Um campo de imagem, variável ou expressão pode ser qualquer imagem do Windows ou Macintosh. Em geral, isso inclui qualquer imagem que possa ser colocada na área de tranferência ou lida do disco usando 4D ou comandos de Plug-In.

Nota: No manual Referência de Linguagem 4D, os parâmetros de imagem nas descrições do comando são indicadas como Imagem, salvo quando indicado o contrário.

Uma variável ponteiro ou expressão é uma referência a outra variável (incluindo arrays e elementos de array), tabela ou campo. Não há nenhum campo de tipo ponteiro.

Para mais informações sobre ponteiros, consulte a seção Ponteiros.

Nota: No manual Referência de Linguagem 4D, os parâmetros de Ponteiro nas descrições do comando são indicados como Ponteiro, salvo quando indicado o contrário.
BLOB.

BLOB  

Um campo BLOB ou variável é uma série de bytes (0-2 GB de comprimento) que você pode endereçar individualmente ou usando os DISABLE MENU ITEM. Não há nenhum campo de tipo BLOB.

Nota: No manual Referência de Linguagem 4D, os parâmetros de BLOB nas descrições do comando são indicados como BLOB, salvo quando indicado o contrário.

Array  

Array não é na verdade um tipo de dados. Os vários tipos de arrays (como Array de Inteiros, Array de texto, e assim por diante) são agrupados sob este título. Arrays são variáveis, não existe um campo de tipo Array, e não existe uma expressão de tipo Array. Para obter mais informações sobre arrays, consulte a seção Arrays.

Nota: No manual Referência de Linguagem 4D, os parâmetros de Array nas descrições do comando são indicadas como Array, salvo quando indicado o contrário.

Indefinido não é realmente um tipo de dados. Ela denota uma variável que ainda não foi definida. A função (um método de projeto que retorna um resultado) pode retornar um valor indefinido, se, dentro do método, o resultado da função ($ 0) é atribuído a uma expressão indefinida (uma expressão calculada com pelo menos uma variável indefinida). Um campo não pode ser indefinido.

A linguagem 4D contém operadores e comandos para converter tipos de dados, onde tais conversões são significativas. A linguagem 4D reforça a verificação de tipo de dados. Por exemplo, você não pode escrever: "abc"+0.5+!12/25/96!-?00:30:45?. Isso irá gerar erros de sintaxe.

A tabela a seguir lista os tipos de dados básicos, os tipos de dados que podem ser convertidos, e os comandos usados para fazer isso:

Tipos a converterConverter em cadeiaConverter em númeroConverter em dataConverter em Hora
CadeiaNumDataHora
Numérico (*)String
DataString
HoraString
BooleanoNum


(*) Os valores de hora podem ser tratados como números.

Nota: Além das conversões de dados constantes da tabela, conversões de dados mais sofisticadas podem ser obtidas através da combinação de operadores e outros comandos.

 
PROPRIEDADES 

Produto: 4D
Tema: Apresentação da linguagem

 
VER TAMBÉM 

Arrays
Constantes
Controle de fluxo
Convenções
Métodos
Operadores
Ponteiros
Símbolos de referência de caracteres
String
Type
Variáveis