4D v14Video script |
||
|
4D v14
Video script
Video script
Neste vídeo, vamos a aprender a criar e programar arrays assim também os objetos que podemos utilizar para que sejam representados nos formulários. Ao igual que uma variável simples, um array deve:
Para nos ajudar a entender isto, vamos a criar um primeiro array no formulário DETAIL da tabela INTERVENTIONS. Este array preocupa os objetos.
Para simplificar as coisas, vamos a colocar toda a programação no objeto. Isto também nos permitirá revisar o conceito de evento.
$evt:=Form event O método objeto se compõe de certo número de elementos:
Vamos a rastrear o funcionamento deste método mediante a realização de uma prova inicial. Vemos que quando fazemos duplo clique em uma intervention, vamos a On load. Vamos poder mostrar o array que contém 5 elementos e a estes 5 elementos se lhes atribuem valores pouco a pouco. Quando elegemos um valor no menu, vemos aqui o número de linha indicado em uma variável, que é uma variável que tem o mesmo nome que o array, só que é uma variável de tipo inteiro longo. E aqui vemos os 5 elementos do array, os elementos de 1 a 5 e logo o elemento zero, ao qual volveremos mais a frente. Quando se executa este método:
Podemos substituir estas 3 linhas por uma só como segue: [Interventions]Object:=PopObjects{PopObjects} Por quê? Por que este valor é a variável inteiro longo que continha 3 antes, pelo que indica o número de linha do array em questão (que tem o mesmo nome). [Interventions]Object:=Self->{Self->} que utiliza um ponteiro ao objeto. Dado que a programação é levada a cabo no objeto em si mesmo, Self se refere ao objeto e quando escrevemos Self->{Self->}, indicamos o array {na linha escolhida no array} e transferimos o conteúdo diretamente no objeto. Vamos fazer seguimento para comprovar que se obtém o mesmo resultado.
Assim que esta divisão nos ajuda a entender em detalhe. Agora vamos a criar um novo array onde podemos introduzir uma data com mais ou menos 10 dias.
Esta é um array data de 21 elementos: hoje + 10 dias - 10 dias E vamos a escrever o código mais conciso desta maneira. Agora, Como encher estes elementos? Vamos a fazer um bucle no qual atribuímos um valor ao array da seguinte maneira: (Current date + $i-11). É claro, o array terá o nome correto e agora podemos provar: Agora que já sabe como programar arrays, pode representá-los em diferentes objetos 4D, tais como list boxes. Um list box é um objeto composto por uma ou mais colunas com um cabeçalho e uma coluna que é a que nos interessa, onde somente teremos que escrever o nome do array que temos administrado em memória. Se voltamos agora a uma intervenção, o list box contém os diferentes valores do array e vemos a sincronização direta entre a eleição no list box e a correspondente no array aqui. Vamos a programar o list box da mesma maneira para que quando façamos clique nele ou quando se faça uma nova seleção no mesmo list box, o valor do objeto se modifique automaticamente. No list box selecionamos os eventos On Clicked e On Selection Change. Somente temos que copiar a seguinte linha no método objeto do list box: [Interventions]Object:=PopObjects{PopObjects} Durante o uso, quando se seleciona um valor no list box com o mouse ou com as flechas do teclado, os valores se transferem de automaticamente. É claro, também é possível utilizar arrastar e soltar, sempre e quando as áreas se definam como arrastáveis e soltáveis. |
PROPRIEDADES
Produto: 4D ARTICLE USAGE
Autoformação ( 4D v13) |