4D v14

Video script

Página Inicial

 
4D v14
Video script

Video script  


 

 

Neste vídeo, vamos a aprender sobre os ponteiros e como otimizar sua programação e que sejam genéricos.

Como vimos no exercício anterior, definir opções para cada ação (pesquisar, ordenar, etc) no método NAVIGATION_FUNCTIONS pode ser convertida rapidamente em algo chato. Portanto temos que orientar a ação em direção a tabela que corresponde à página selecionada.

Neste caso, é mais fácil indicar só uma vez ao princípio do método a tabela a utilizar. Podemos armazenar esta indicação em uma variável e depois usar esta variável nos comandos.

Logicamente, não podemos dizer que uma variável é igual a uma tabela, estes objetos são completamente diferentes e têm um conteúdo completamente diferente. Já aprendemos que uma variável pode ser de tipo inteiro, numérico, texto, imagem, etc.. e contém um valor do tipo correspondente. Uma tabela não é um "conteúdo" como é um valor numérico.

A solução é utilizar uma variável de tipo ponteiro.

Assim que vamos a definir esta variável, que é uma variável local:

 C_POINTER($TablePointer)

Esta variável existe em memória. Agora, para assinalar um valor, vamos a utilizar os seguintes tipos de sintaxes:

 $TablePointer:=->[INTERVENTIONS]

Assim como temos visto para as variáveis, temos:

  • Uma inicialização
  • Uma atribuição de valor

E, mais adiante, em qualquer lugar onde a tabela Interventions deveria ter sido utilizada, vamos poder substituí-la com esta variável, que teremos que "desapontar" neste caso.

A vantagem é que todo o código está aqui, que é um simples copiar colar com só uma mudança da tabela, se pode substituir por estas 2 mesmas linhas de código, sempre que temos previamente definido a tabela à que deve apontar dependendo do número de página.

Assim que temos que obter o código que foi escrito antes, e aqui nos indicam que:

  • Se estivermos na página 1, apontamos a interventions (->[INTERVENTIONS])
  • Se estivermos na página 2, apontamos a technicians  (->[TECHNICIANS])

Dito isto, já não é necessário provar as páginas aqui e portanto, já não é útil ter este programa duplicado.

Temos uma primeira programação aqui que nos permite:

  • Definir a tabela relativa dependendo da página
  • A continuação, definir a ação a realizar, independentemente da página já que a tabela correta foi definida.

O mesmo princípio aplica para as pesquisas:

  • Vamos a mover o código aqui
  • Eliminar por completo o "Case of" que está aqui
  • E substituir "intervention" com um ponteiro à tabela já que estamos na página 2

Quando chegamos aqui, o ponteiro será um ponteiro a "Technicians" e, portanto vamos a procurar na tabela "Technicians".

O número de registros encontrados é o número de registros que se encontram na tabela "Technicians".

 
PROPRIEDADES 

Produto: 4D
Tema: Ponteiros

 
ARTICLE USAGE

Autoformação ( 4D v13)
Autoformação ( 4D v14)