4D v16.3

Introdução a linguagem 4D

Página Inicial

 
4D v16.3
Introdução a linguagem 4D

Introdução a linguagem 4D  


 

 

A linguagem 4D é composta por vários componentes que ajudam a executar tarefas e gerenciar seus dados.

  • Tipos de dados: Classificações dos dados em um banco de dados. Veja a discussão desta seção, bem como a discussão detalhada na seção  Tipos de dados
  • Variáveis: locais de armazenamento temporário de dados na memória. Veja discussão detalhada na seção Variáveis.
  • Operadores: Símbolos que executam o cálculo entre os dois valores. Veja a discussão desta seção, bem como a discussão detalhada na seção Operadores e suas subseções.
  • Expressões: Combinações de outros componentes que resultam em um valor. Veja a discussão nesta seção. 
  • Comandos: instruções integradas Built-in para executar uma ação. Todos os comandos 4D, tais como  ADD RECORD,, são descritos neste manual, agrupados por tema e, quando necessário, o tema é precedido por uma seção introdutória. Você pode usar Plug-ins 4D para adicionar novos comandos ao seu ambiente de desenvolvimento 4D. Por exemplo, uma vez que você adicionou o Plug-in 4D Write no seu sistema 4D, os comandos 4D Write-se tornam disponíveis para criar e manipular documentos de processamento de texto.
  • Constantes predefinidas: valores constantes acessíveis por nome. Por exemplo, XML DATA é uma constante (valor 6). As constantes pré-definidas permitem escrever código mais legível. As constantes são descritas com os comandos que os utilizam e estão totalmente listadas na seção Lista de temas constantes
  • Métodos: Instruções que você escreve com todas as partes da linguagem listadas aqui. Veja mais detalhes na seção de Métodos e suas sub-seções.

Esta seção apresenta os Tipos de dados, Operadores e Expressões. Para os outros componentes, consulte as seções citadas acima. 

Além disso:

  • Componentes de linguagem, como variáveis, têm nomes chamados de identificadores. Para uma discussão detalhada sobre os identificadores e as regras para nomear objetos, consulte a seção Convenções
  • Para saber mais sobre variáveis array, consulte a seção Arrays
  • Se você planeja compilar o banco de dados, consulte a seção Comandos de Compilação bem como o Manual de Desenho 4D.

A partir de 4D v15, o editor de métodos 4D utiliza o padrão "Inglês-US" como língua internacional, independentemente da versão 4D ou da configuração do sistema local. Esta funcionalidade neutraliza as variações regionais que possam afetar a interpretação do código entre aplicativos 4D (formatos de data, por exemplo) aplicações; e nas versões francesa de 4D, os comandos e as constantes são agora escritas em "Inglês-US" como já acontecia em outros idiomas.


Essa configuração padrão fornece aos desenvolvedores 4D várias vantagens:
  • Facilita a troca de código entre desenvolvedores, independentemente do seu país, configuração regional, ou da versão 4D usada. Um método 4D pode agora ser alterado por simples copiar/colar, ou salvo em um arquivo de texto, sem problemas de compatibilidade.
  • Também torna possível a inclusão de métodos 4D em ferramentas de controle de fontes, que muitas vezes exigem que as exportações sejam independentes das opções regionais e idiomas.
Essa configuração pode ser desabilitada através da opção "Usar a configuração do sistema regional" no diálogo Preferências de 4D (ver Página Métodos).

As configurações Inglês-US podem ter vários efeitos sobre a maneira de escrever métodos. Isto se refere a código escrito em modo de desenvolvimento, assim como fórmulas em aplicativos implementados. Neste modo, o código deve estar de acordo com as regras seguintes:

  • Separadores decimais para números reais devem ser agora pontos (".") em todas as versões (e não vírgulas (",") como é o costume em português e francês, por exemplo).
  • Constantes de data agora devem usar o formato ISO (! AAAA-MM-DD!) em todas as versões.
  • Comando e nomes de constantes devem ser em Inglês (esta alteração diz apenas respeito às versões francesa de 4D, jã que este era o caso com outros idiomas).

Nota: O editor de métodos inclui mecanismos específicos que corrigem automaticamente entradas incorretas, se necessário.

A tabela a seguir ilustra as diferenças entre o código 4D v15 em (ou superior) e em versões anteriores:


Exemplo de código em métodos/fórmulas
4D v15 and higher (modo padrão, todas as versões)a:=12.50
b:=!2013-12-31!

Current date
4D v14 or 4D v15 (preferencia marcada para versão US)a:=12.50
b:=!12/31/2013!
Current date
4D v14 or 4D v15 (preferencia marcada para versão Francesa)a:=12,50
b:=!31/12/2013!
Date du jour

Nota: Quando a preferência for marcada, formatos de data a número real são baseadas nas preferências de sistema.

Na linguagem, os diferentes tipos de dados que podem ser armazenados em um banco de dados 4D são referidos como tipos de dados. Existem sete tipos básicos de dados: string, numérico, data, hora, Booleano, imagem e ponteiro.

  • String: Uma série de caracteres, como "Olá". Alfa e campos de texto, string e variáveis de texto, são do tipo de dados string.
  • Numéricos: números, como 2 ou 1.000,67. Inteiro, Inteiro Longo, e Real e as variáveis são do tipo de dados numéricos.
  • Datas: As datas do calendário, como 20/12/89. Campos de data e as variáveis são do tipo de dados data.
  • Hora: Horas, incluindo as horas, minutos e segundos, como 01:00:00 ou 04:35:30. campos de tempo e as variáveis são do tipo de dados tempo.
  • Booleano: os valores lógicos de VERDADEIRO ou FALSO. Campos booleanos e as variáveis são do tipo de dados Booleano.
  • Imagem: campos de Imagem e as variáveis são do tipo de dados imagem.
  • Ponteiro: Um tipo especial de dado utilizado na programação avançada. Variáveis tipo Ponteiro são do tipo dados de ponteiro. Não há nenhum tipo de campo correspondente.
  • Object: Data de tipo composite que pode conter qualquer tipo de data sets na forma de pares key/valor. Campos Objeto e variáveis são do tipo dado de Objeto.

Note que na lista de tipos de dados, os tipos de dados numéricos e string são associados com mais de um tipo de campo. Quando os dados são colocados em um campo, a linguagem automaticamente converte os dados para o tipo correto. Por exemplo, se um campo inteiro é utilizado, seus dados são automaticamente tratados como numéricos. Em outras palavras, você não precisa se preocupar com mistura de tipos de campo similares ao usar a linguagem, 4D irá administrá-los para você.

Entretanto, quando se utiliza a linguagem é importante que você não misture tipos diferentes de dados. Da mesma forma que não faz sentido armazenar "ABC" em um campo de data, não faz sentido colocar "ABC" em uma variável usada para datas. Na maioria dos casos, 4D é muito tolerante e vai tentar ver sentido naquilo que você está fazendo. Por exemplo, se você acrescentar um número a uma data, 4D irá supor que você quer adicionar o número de dias para a data, mas se você tentar adicionar uma string para uma data, 4D lhe dirá que a operação não é permitida.

Há casos em que você precisa armazenar dados como um tipo e usá-lo como um outro tipo. A linguagem contém um conjunto completo de comandos que lhe permite converter um tipo de dados a outro. Por exemplo, você pode precisar criar um número de peça que começa com um número e termina com caracteres como "ABC". Neste caso, você pode escrever:

 [Produtos]Matricula:=String(Número)+"abc"

Se Número é 17, então [Produtos]Matricula terá a string “17abc”.

Os tipos de dados estão totalmente definidos na seção Tipos de dados.

 Quando você usa a linguagem, é raro que você simplesmente queira dados. É mais provável que você vai querer fazer algo com os dados. Você vai querer executar cálculos com operadores. Operadores, em geral, recebem dois pedaços de dados e executam uma operação em que os resultados são armazenados em um novo pedaço de dado. Você já está familiarizado com muitos operadores. Por exemplo, 1 + 2 utiliza a adição (ou operador de sinal de adição) para somar dois números, e o resultado é 3. Esta tabela mostra alguns operadores numéricos familiares:

OperadorOperaçãoExemplo
+Soma1 + 2 é igual a 3
Subtração3 – 2 é igual a 1
*Multiplicação2 * 3 é igual a 6
/Divisão6 / 2 é igual a 3


Os operadores numéricos são apenas um tipo de operador disponível para você. 4D suporta muitos tipos diferentes de dados, como números, texto, datas e imagens, por isso há operadores que realizam operações sobre estes tipos de dados diferentes.

Os mesmos símbolos são usados para operações diferentes, dependendo do tipo de dados. Por exemplo, o sinal de mais (+) executa operações diferentes, com dados diferentes:

Tipo de dadosOperaçãoExemplo
NúmeroSoma1 + 2 soma os número e o resultado é 3
StringConcatenação“Bom” + “dia” concatena (une)
as strings e o resultado é “Bom dia”
Data e númeroSomar datas!1/1/1989! + 20 adiciona 20 dias a data
Janeiro 1, 1989, e o resultado é a data
21 de Janeiro, 1989


Os operadores estão totalmente definidos na sua seção  Operadores e suas sub-seções.

Simplificando, as expressões retornam um valor. Na verdade, quando se utiliza a linguagem 4D, você pode usar expressões todo o tempo e pensar apenas em termos do valor que elas representam. As expressões são também as vezes referidas como fórmulas.

As expressões são compostas de quase todas as outras partes da linguagem: comandos, operadores, variáveis e campos. Você usa expressões para construir declarações (linhas de código), que por sua vez, são usadas para construir métodos. A linguagem utiliza expressões onde quer que ele necessite pedaço de dados.

Expressões raramente são auto-suficientes. Poucas vezes em 4D uma expressão pode ser usada por si só:

  • Consulta pela caixa de diálogo Fórmula
  • Depurador onde o valor das expressões podem ser verificadas
  • Aplicar caixa de diálogo Fórmula
  • Editor Quick Report como uma fórmula para uma coluna

Uma expressão pode ser simplesmente uma constante, tal como o número 4 ou a string "Olá". Como o nome indica, o valor de uma constante nunca muda. É quando os operadores são introduzidas que as expressões começam a ficar interessantes. Em seções anteriores você já viu as expressões que usam operadores. Por exemplo, 4 + 2 é uma expressão que usa o operador de adição para somar dois números e retornar o resultado 6.

Você se refere a uma expressão pelo tipo de dados que ela retorna. Existem sete tipos de expressão:

  • expressão String
  • expressão numérica (também designado como número)
  • expressão Data 
  • expressão Hora
  • expressão Booleana
  • expressão Imagem
  • expressão Ponteiro

A tabela a seguir apresenta exemplos de cada um dos sete tipos de expressões.

ExpresiónTipoExplicación
“Olá”StringA palavra "Olá" é uma string constante,
indicada pelas aspas duplas.
“Olá ” + “lá”StringDuas strings, "Olá" e "lá", 
são somadas (concatenadas)
com o operador de concatenação (+).
A string "Olá lá" é retornada.
“Sr.” + [Pessoas]NomeStringDuas strings são concatenadas:
a seqüência de "Mr." e o valor atual
do campo Nome na tabela Pessoas.
Se o campo contém "Smith"
então a expressão retorna "Mr. Smith"
Uppercase (“Smith”)StringEssa expressão usa "maiúscula",
um comando da linguagem,
para converter a string "Smith" em maiúsculas.
Ela retorna "SMITH".
4Númerico Este é um número constante, 4.
4 * 2NúmericoDois números, 4 e 2, são multiplicados
usando o operador de multiplicação (*)
O resultado é o número 8.
Meu BotãoNúmericoEste é o nome de um botão. 
Ele retorna o valor atual do botão:
1 se foi clicado, 0 se não.
!1/25/97!DataEsta é uma data constantes para a data de 1/25/97
(25 de janeiro de 1997).
Current date + 30DataEsta é uma expressão de data que usa
o comando "data atual" para obter 
a data de hoje.
Acrescenta 30 dias para a data de hoje e retorna
a nova data.
?8:05:30?HoraEste é um tempo constante, que representa 8 horas 
5 minutos, e 30 segundos.
?2:03:04? + ?1:02:03?HoraEsta expressão acrescenta uma hora e
e retorna o tempo 03:05:07.
TrueBooleanoEste comando retorna o valor booleano TRUE.
10 # 20BooleanoEsta é uma comparação lógica entre dois números.
O sinal de número (#) significa "não é igual a". 
Como 10 "não é igual a" 20, a expressão
retorna TRUE.
“ABC” = “XYZ”BooleanoEsta é uma comparação lógica entre as duas strings.
Eles não são iguais, então a expressão retorna FALSE.
Minha Imagem + 50ImagemEsta expressão pega a foto em Minha Imagem,
move-a 50 pixels para a direita
e retorna a imagem resultante.
->[Pessoas]NomePonteiroEssa expressão retorna um ponteiro para o campo
chamado [Pessoas]Nome.
Tabela (1)PonteiroEste é um comando que retorna um ponteiro
para a primeira tabela.



Ver também 

Arrays
Constantes
Métodos
Operadores
Ponteiros
Tipos de dados
Variáveis

 
PROPRIEDADES 

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

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)