4D v14Arrays, pop-ups, list boxes |
||||||||||||||||||||||||||||||||||||
|
4D v14
Arrays, pop-ups, list boxes
|
Etapa | Variável simples | Variável array |
Inicialização | C_TEXT(vText) | ARRAY TEXT(ArrayText;10) `10 linhas |
Valorização | vText:="Tascher da Pagerie" | ArrayText{1}:="De Beauharnais" `linha 1 |
ArrayText{2}:="Barras" `linha 2 | ||
ArrayText{3}:="Bonaparte" `linha 3 | ||
... | ||
Uso | $NumChar:=Length(vText) | $Amant:=ArrayText{1} |
Apagar o conteúdo | CLEAR VARIABLE(vText) | ARRAY TEXT(ArrayText;0) |
(o comportamento é diferente entre uma aplicação interpretada e compilada, | ||
ver a documentação 4D) | ||
Visualização em um formulário | Da o nome da variável a um objeto de tipo área de deslocamento, | Dar o nome da variável a um objeto de tipo área de deslocamento/menu pop-up |
Tipos | Inteiro, Inteiro longo, Numérico, Alfa, Texto, Booleano, Data, Hora, Imagem, BLOB, ponteiros | Idênticos aos tipos de variáveis exceto Hora e BLOB |
Como pode ver, há um número de similaridades entre as duas.
O nome do array se utiliza as vezes com chaves {}, as vezes sozinho. Neste caso, se trata de uma variável (inteiro longo) criada automaticamente por 4D.
Esta variável, associada ao array, serve como um índice (número de linha) de array. É através desta variável que podemos saber que linha foi selecionada pelo usuário ou forçar as seleções de uma linha especifica no menu pop-up.
Esta é a razão pela que verá muitas vezes esta sintaxe concisa escrita na base de dados:
[INTERVENTIONS]Object:=ObjectsArr{ObjectsArr}
que podemos decifrar da seguinte maneira: "Object := conteúdo do array {na linha selecionada}"
Também encontrará, ainda que mais concisa e muito mais genérica, esta sintaxe que utiliza o comando Self (ponteiro ao objeto cujo método se está executando):
[INTERVENTIONS]Object:=Self->{Self->}
Independentemente da sintaxe utilizada, o funcionamento é o mesmo.
Em 4D, uma guia é um objeto único, com vários títulos (valores). Este é um exemplo de um objeto de interface que pode representar um array.
Geralmente, colocamos as guias na página 0 do formulário (ver a seção cobre este ponto).
Notará que os arrays se tornam bem úteis rapidamente, na verdade pronto se convertem em uma necessidade.
Um array contém somente elementos do mesmo tipo. Não pode ter um array com um elemento Alfa, um elemento Data e um terceiro elemento Hora.Como se mencionou na lição sobre os ponteiros, se podem combinar ponteiros e arrays para obter "arrays de ponteiros".
Também pode considerar que um list box é uma série de arrays conectados (da mesma dimensão X).
É um objeto que agrupa e sincroniza um ou mais arrays.
Em um list box, pode configurar:
Em total, se o list box tem X colunas, você tem 2X+1 objetos (X colunas, X cabeçalhos + 1 list box).
Os list boxes permitem:
Leve em conta que o list box sincroniza suas colunas, toma o menor número de linhas dos arrays que o compõe.
Este ponto é importante de lembrar, já que poderia ter arrays que estão cheios de dados e ainda assim terminar com um list box vazio se um de seus arrays está vazio.
Produto: 4D
Tema: Arrays, pop-ups, list boxes
Autoformação ( 4D v13)
Autoformação ( 4D v14)