Nesta seção, vamos aprender a definir os tipos de variáveis, compreender o seu âmbito e seu ciclo de vida e cobrir o básico da programação.
Nos vídeos anteriores, podemos usar variáveis de vez em quando (como vNumRecords por exemplo). Agora demos uma olhada mais sobre perto exatamente o que são e como eles funcionam e dependendo do seu tipo, seu âmbito de utilização... Se compararmos o funcionamento de 4D com o funcionamento de uma empresa, podemos inferir o seguinte:
Lá são vários departamentos da empresa que realizam cada tarefa em particular, muitas vezes, independente dos outros serviços.
Cada departamento é projetado para executar várias tarefas em uma ordem específica.
Uma tarefa pode ser interrompida porque depende do resultado de outro processo.
Este novo processo provavelmente usa informações de um processo anterior, além de suas próprias informações específicas.
Se quisermos traduzir isto com um exemplo prático:
A empresa tem uma planta de produção, um departamento de vendas e um departamento de recursos humanos.
O departamento de folha de pagamento centraliza as horas trabalhadas por outros departamentos e pagam seus salários, calculam o número de dias de férias, etc.
O pagamento de salários envolve saber a taxa de horas extras, bem como a remuneração diferente e taxas de imposto. Esta informação é fornecida pelo departamento jurídico que mantém atualizado a documentação...
E agora vamos a fazer a comparação com 4D:
4D pode gerenciar vários processos simultaneamente (impressão, exibindo o conteúdo de várias tabelas, paletes de ferramentas, importação, servidor web, resposta aos serviços web, etc.)
O método que executa em cada processo pode incluir diversas fases.
Você pode chamar outros métodos no mesmo processo (colegas do mesmo departamento), ou solicitar informações de outro processo (colegas em um departamento diferente).
Para cada caso, temos variáveis adaptadas disponíveis:
Para ter informação disponível (em modo leitura/escritura) para todos os processos, utilizamos variáveis interprocesso. Para que 4D considere uma variável como interprocesso, deve estar precedida pelos símbolos <> (por exemplo: <>CurrentDate, <>Rate-TimeTable, etc.)
Enquanto um processo se está executando, um método pode necessitar informação especificamente para este processo. Neste caso, se trata de uma variável local, que 4D reconhece por seu prefixo o símbolo$ (por exemplo: $Counter, $StampZone, etc.
Todas as seguintes variáveis (sem prefixos) são variáveis processos, utilizadas por vários métodos no mesmo processo. (por exemplo: vNumRecords, etc.)
O último ponto sobre a necessidade de informação do departamento jurídico permite ilustrar a idéia de comunicação entre os processos.
Com 4D, você pode ler ou escrever variáveis de um processo a outro (e inclusive desde uma máquina cliente ao servidor) utilizando GET PROCESS VARIABLE e SET PROCESS VARIABLE.
Para usar outro exemplo da vida cotidiana, podemos o comparar com um colégio onde:
A variável local é o bloco de anotações do estudante: somente ele pode vê-lo ou ler e escrever nela.
A variável processo é a ardósia: pode ser visto e usado por todos os alunos da mesma classe e cada aluno pode ler e escrever nela ou excluí-la.
A variável interprocesso é o cartaz de anúncios na entrada da escola onde são publicados os resultados das provas: disponível para todos os alunos da escola, bem como professores e o diretor.
Comunicação interprocesso é quando um professor lê ou escreve no quadro-negro da classe (variável processo) de outro professor ou no boletim de anúncios da escola (variável interprocessos).
Agora que cobrimos o alcance das variáveis, podemos ver como funcionam.
Há dois tipos de variáveis em 4D:
As variáveis simples (com somente um valor)
Os arrays (com múltiplos valores).
Pode definir variáveis simples usando os mesmos tipos que param os campos (Texto, Inteiro longo, Data, Hora, BLOB,...) + o tipo Ponteiro. Os arrays aceitam os mesmos tipos exceto BLOB e Time.
A variável ainda existe, seu conteúdo é reinicializado
Vejamos isto com um exemplo:
Para lhe dar um nome a suas variáveis, tome o hábito de seguir o mesmo procedimento geral para manter as coisas simples.
Pode utilizar uma nomenclatura "estrita"
Ou pode optar pelos nomes de variáveis fáceis de ler e que falem por si mesmos.
Para começar, sempre é uma boa idéia utilizar nomes que sejam claros e fáceis de ler. Sempre é possível renomear suas variáveis posteriormente utilizando a função de pesquisa global de 4D.
Como em toda linguagem, as variáveis são indispensáveis em 4D. Pode utilizá-la quando queira.
Lembre que algumas variáveis não podem ser vistas em um formulário: