4D v16Programação genérica (sem ponteiros) |
||
|
4D v16
Programação genérica (sem ponteiros)
Programação genérica (sem ponteiros)
Além das manipulações explicadas no vídeo, também se deve ter em conta que: Estes exercícios estão configurados para mostrar uma maneira específica de fazer as coisas. Em função de seus próprios hábitos e normas de desenvolvimento de sua empresa, pode utilizar diferentes formas de organização, de nomear aos campos e variáveis, de estabelecer uma ordem para passar parâmetros, etc. Um método pode receber até 32 parâmetros (de $1 a $32). No entanto, é incomum utilizar mais de 7 ou 8 parâmetros. Use e abuse da programação genérica. A seguinte seção cobre o uso de ponteiros, complementando o que veremos aqui. A programação genérica também lhe permite reduzir o tamanho de seu código mediante a concentração de uma série de funções dentro do mesmo método nos quais passam vários parâmetros.
Neste vídeo, vamos a aprender a chamar aos métodos e a utilizar parâmetros. Cobriremos os parâmetros de tipo ponteiro mais a frente. O objetivo da programação genérica é otimizar o desenvolvimento e facilitar a manutenção e a portabilidade. Já usamos uma chamada simples a um método (sem parâmetros) no método de base "On Startup" onde chamamos o método NAVIGATION. Nas primeiras lições de programação, vimos como configurar os botões em função da página selecionada no formulário navigation. Agora vamos a otimizar esta programação para conservar somente um método utilizável para todos os botões de navegação (All, Query, Order by, etc...).
Receberá 2 parâmetros:
Chamamos a este método da seguinte maneira: Em um botão, chamamos a NAVIGATION_FUNCTIONS
NAVIGATION_FUNCTIONS("All";FORM Get current page) Há duas formas de escrever os parâmetros do método que vai ser chamado, ou seja, o método NAVIGATION_FUNCTIONS: Notará que para nomear os parâmetros, se utiliza a sintaxes $1, $2, ... $n para recuperar cada parâmetro. Para fazer que seu método seja fácil de ler, lhe sugerimos criar variáveis locais com nomes explícitos, onde é assinalado o valor dos parâmetros recebidos. Portanto, é melhor escrever: C_TEXT($1;$Action) Já que podemos declarar várias variáveis em uma diretiva de compilação C_TEXT para as variáveis simples. C_LONGINT($2;$PageNum) y para recuperar o valor de $1 em $Action e o valor de $2 em $PageNum, pode escrever: $Action:=$1 O resto do método é uma adaptação do que se descreveu nas seções anteriores, adaptação da ação à petição e a configuração em função da página e, portanto da tabela escolhida: Vamos a utilizar:
:($Action="All")
Qual é a informação que necessitamos substituir?:
Quando cobrimos os ponteiros, vamos a substituir o que temos aqui por um método mais genérico. Podemos fazer o mesmo com o botão Query.
E, como o realizamos antes, substituímos FORM Get current page pela variável que recebemos. Vamos a colocar um ponto de ruptura e comprovar que vamos a este método quando se executa o formulário: Se fizermos clique em "Todos", vemos que o método que se está executando, mas no que estamos especialmente interessados é no empilhamento dos métodos:
Se fizermos duplo clique neste método aparece o código que é traído a este ponto e podemos ver que o método NAVIGATIONS_FUNCTIONS foi chamado (com os parâmetros: "All", FORM Get current page).O método foi recebido. Aqui recebeu os seguintes parâmetros: $1 = "All", $2 = o número de página, aqui é a página 1. Logo, $Action é "All" de maneira que vamos a esta parte Logo vamos a:
Assim podemos ver que nosso método funciona corretamente, é chamado e recebe os parâmetros necessários.
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
ARTICLE USAGE
Autoformação ( 4D v16) |