4D v14.3

Métodos

Página Inicial

 
4D v14.3
Métodos

Métodos  


 

 

Para criar comandos, operadores e outras partes da linguagem de trabalho, você os coloca dentro de métodos. Existem vários tipos de métodos: os métodos do objeto, métodos de formulário, os métodos de tabela(triggers), métodos de projeto e métodos de banco de dados. Esta seção descreve recursos comuns a todos os tipos de métodos.

Um método é composto de declarações; cada declaração consiste de uma linha no método. A declaração (ou instrução) executa uma ação, que pode ser simples ou complexa. Apesar de que uma declaração é sempre uma linha, uma linha pode ser tão longa quanto necessário (até 32.000 caracteres, o que provavelmente é suficiente para a maioria das tarefas).

Por exemplo, a linha a seguir é uma declaração que irá adicionar um novo registro na tabela [Pessoas]:

 ADD RECORD([Pessoas])

Um método também inclui testes e loops que controlam o fluxo da execução. Para uma discussão detalhada sobre o controle de fluxo de estruturas de programação, consulte a seção de controle de fluxo.

Nota: O tamanho máximo de um método é limitado a 2 GB de texto ou 32 000 linhas de comando. Ao ultrapassar esses limites, uma mensagem de aviso é exibida, indicando que as linhas extras não serão levadas em consideração.

Existem cinco tipos de métodos em 4D:

  • Métodos de objeto: um método de objeto é uma propriedade de um objeto. Geralmente é um método curto associado a um objeto ativo de formulário. Métodos de objetos em geral "administram" o objeto enquanto o formulário é exibido ou impresso. Você não chama um método de objeto - 4D o chama automaticamente quando um evento envolve o objeto ao qual o método de objeto está anexado.
  • Métodos de formulário: Um método de formulário é uma propriedade de um formulário. Você pode usar um método de formulário para gerenciar os dados e objetos, mas é geralmente mais simples e mais eficiente usar um método de objeto para esses fins. Você não chama um método de formulário - 4D o chama automaticamente quando um evento envolve o formulário ao qual o método de formulário está anexado.

Para obter mais informações sobre Métodos de objeto e Métodos de formulários, consulte o Manual de Referência 4D, bem como a seção

  • Métodos de tabela (Triggers): Um Trigger é uma propriedade de uma tabela. Você não chama um Trigger. Triggers são chamados automaticamente pelo mecanismo de banco de dados de 4D cada vez que você manipula os registros de uma tabela (adiciona, exclui e modifica). Triggers são métodos que podem evitar as operações "ilegais" com os registros do banco de dados. Por exemplo, em um sistema de faturamento, você pode impedir que alguém adicione uma fatura sem especificar o cliente para o qual a fatura é emitida. Triggers são uma ferramenta muito poderosa para restringir as operações em uma tabela, bem como para evitar a perda acidental de dados ou adulteração. Você pode escrever triggers muito simples, e depois torná-los mais e mais sofisticados.

Para informações detalhadas sobre Triggers, consulte a seção

  • Métodos de projeto: Ao contrário dos métodos do objeto, métodos de formulário, e triggers, que são associados com um determinado objeto, um formulário ou tabela, métodos de projeto estão disponíveis para uso em toda a sua base de dados. Métodos de projeto são reutilizáveis, e estão disponíveis para uso por qualquer outro método. Se você precisa repetir a tarefa, você não tem que escrever métodos idênticos para cada caso. Você pode chamar métodos de projeto, sempre que você precisar deles - a partir de outros métodos de projeto ou de objetos ou de métodos de formulários. Quando você chama um método de projeto, ele age como se você tivesse escrito o método no local onde você chamou. Métodos de projeto chamado de outros métodos são frequentemente referidos como "sub-rotinas." Um método de projeto que retorna um resultado também pode ser chamado de função.

Há uma outra maneira de usar métodos de projeto - associando-os com os comandos de menu. Quando você associa um método de projeto com um comando de menu, o método é executado quando o comando de menu é escolhido. Você pode pensar no comando de menu como se estivesse chamando o método de projeto.

Para obter informações detalhadas sobre métodos de projeto, consulte a seção .

  • Métodos de Banco de Dados: Da mesma forma que o objeto e os métodos de formulário são chamados quando os eventos ocorrem em um formulário, existem métodos associados com o banco de dados que são chamados quando um evento de sessão de trabalho ocorre. Estes são os métodos de banco de dados. Por exemplo, cada vez que você abre um banco de dados, você pode inicializar algumas variáveis que serão utilizadas durante toda a sessão de trabalho. Para fazer isso, você usa , automaticamente executado por 4D quando você abre o banco de dados.

Para mais informações sobre Métodos de Banco de Dados, consulte a seção .

Todos estes métodos são fundamentalmente os mesmos, eles começam na primeira linha e trabalham seu caminho através de cada declaração até chegar a última linha (ou seja, eles executam seqüencialmente). Aqui está um método de projeto de exemplo:

 QUERY([Perssas]` Mostrar o editor de consultas
 If(OK=1) ` O usuário clicou em OK, não cancelar
    If(Records in selection([Pessoas])=0) ` Se nenhum registro foi encontrado…
       ADD RECORD([Pessoas]` Permite ao usuário adicionar um novo registro
    End if
 End if ` Fim

Tudo o que você escreve usando a linguagem é vagamente conhecido como código. O código é executado ou interpretado, o que significa que 4D executa a tarefa indicada pelo código.

Vamos examinar a primeira linha em detalhe e em seguida, avançar mais rapidamente:

 QUERY([Pessoas]` Mostra o Editor de Consultas 

O primeiro elemento na linha, , é um comando. Um comando é parte da linguagem 4D, ele executa uma tarefa. Neste caso, mostra o editor de consultas. Isso é semelhante a escolher Consulta no menu Registros no ambiente de design.

O segundo elemento na linha, entre parenteses, é um argumento para o comando . Um argumento (ou parâmetro) é  um dado exigido por um comando a fim de completar sua tarefa. Neste caso, [Pessoas] é o nome de uma tabela. Os nomes de tabela sempre são especificados dentro de colchetes ([...]). No nosso exemplo, a tabela Pessoas é um argumento para o comando . Um comando pode aceitar vários parâmetros.

O terceiro elemento é um comentário no final da linha. Um comentário lhe diz (e a qualquer outra pessoa que possa ler o código) o que está acontecendo no código. É indicado pelo apóstrofo reverso (`). Qualquer coisa (na linha), após o sinal de comentário será ignorado quando o código for executado. Um comentário pode ser colocado em uma linha por si só, ou você pode colocar as suas observações à direita do código, como no exemplo. Use comentários generosamente por todo o código, o que torna mais fácil para você e outras pessoas lerem e entenderem o código.

Nota: um comentário pode ser de até 32 000 caracteres.

A linha seguinte do método verifica se os registros foram encontrados:

 If(Records in selection([Pessoas])=0) ` Se nenhum registro foi encontrado…

A instrução If é uma instrução de controle de fluxo - uma instrução que controla a execução passo a passo do seu método. A instrução If executa um teste, se a afirmação for verdadeira, a execução continua com as linhas seguintes. é uma função -um comando que retorna um valor. Neste caso, retorna o número de registros na seleção atual para a tabela passada como argumento.

Nota: Observe que apenas a primeira letra do nome da função é capitalizado. Esta é a convenção para nomeação de funções em 4D.

Você já deve saber o que a seleção atual é -é o grupo de registros que você está trabalhando em um dado momento. Se o número de registros for igual a 0 (em outras palavras, se não foram encontrados registros), a linha a seguir é executada:

 ADD RECORD([Pessoas]` permite ao usuário adicionar um novo registro 

O comando ADD RECORD exibe um formulário para que o usuário possa adicionar um novo registro. 4D formata seu código automaticamente; note que esta linha é recuada para mostrar que ela é dependente de uma declaração de controle de fluxo (If).

End if ` Fim

A instrução End if conclui a seção de controle da instrução If. Sempre que há uma declaração de controle de fluxo, você precisa ter uma declaração dizendo a linguagem onde o controle para.

Tenha certeza que você se sinta confortável com os conceitos desta seção. Se todos eles são novos, você pode querer revê-los até que sejam claros para você.

Para saber mais sobre:

 
PROPRIEDADES 

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

 
VER TAMBÉM 

Arrays
Constantes
Controle de fluxo
Convenções
Métodos de banco de dados
Operadores
Ponteiros
Tipos de dados
Triggers
Variáveis

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)