4D v16.3Arrays e objetos de formulário |
||
|
4D v16.3
Arrays e objetos de formulário
Arrays e objetos de formulário
Os arrays são objetos de linguagem. Você pode criar e usar arrays que nunca aparecerão na tela. Entretanto, arrays também são objetos de interface de usuários. Os seguintes tipos de Objetos de formulários estão sustentados por arrays:
Pode-se pré-definir estes objetos no Editor de Formulários de Ambiente de Designe usando o botão de valores da janela Lista de Propriedades (exceto List Box). Também se pode defini-los por programação, utilizando os comandos de arrays. Em ambos os casos, o objeto de formulário é sustentado por um array criado por você ou pelo 4D
O seguinte exemplo mostra como preencher um array e mostrá-lo em uma lista drop-down. Um array arSalarios cria-se utilizando o comando ARRAY REAL. Ele contém todos os salários de funcionários de uma empresa. Quando o usuário escolhe um elemento da lista drop-down, o campo [Empregados]Salario recebe o valor escolhido Crie uma lista drop-down e nomeie arSalarios. O nome da lista drop-down deve ser o mesmo que o nome do Array Inicializa o array arSalarios usando o evento On Load para o objeto. Para fazer isso, lembre-se de ativar o evento na janela Lista de propriedades, como mostrado a seguir:
As linhas: ARRAY REAL(arSalarios;10) criam o array numérico 2500, 3000... 7000, correspondendo aos salários anuais de $30,000 a $84,000, antes dos impostos. As linhas: arSalarios:=Find in array(arSalarios;[Empregados]Salario) controlam tanto a criação de um novo registro ou a modificação de um registro existente.
Nota: para maiores informações sobre o elemento de array selecionado, leia a próxima seção. Para reportar o valor selecionado da lista drop-down arSalarios, precisa-se apenas administrar o evento On Clicked do objeto. O número de elemento selecionado é o valor do array arSalarios. Por isso, a expressão arSalarios{arSalarios} retorna o valor escolhido na lista drop-down. Complete o método de objeto arSalarios desta forma: Case of A lista drop-down se vê assim: A seguinte seção descreve as operações comuns e básicas que você realizará sobre arrays quando os utiliza como objetos de formulário. Pode-se obter o tamanho do array usando o comando Size of Array. Usando um exemplo anterior, a seguinte linha de código mostrará: ALERT("O tamanho do array atNomes é: "+String(Size of array(atNomes))) Você pode reordenar os elementos do array usando o comando SORT ARRAY ou de diferentes arrays usando o comando MULTI SORT ARRAY. Usando o exemplo anterior, e sempre que o array se mostre como área de deslocamento: a. A princípio, a área se mostrará como a lista à esquerda. b. Depois da execução da seguinte linha de código: SORT ARRAY(atNomes;>) a área se mostrará como a lista do meio. c. Depois da execução da seguinte linha de código: SORT ARRAY(atNomes;<) a área se mostrará como a lista na direita. Você pode adicionar, inserir ou deletar elementos usando os comandos APPEND TO ARRAY, INSERT IN ARRAY e DELETE FROM ARRAY. Usando o exemplo anterior, e dado que o array é mostrado na área de rolagem, você pode manejar os cliques da seguinte forma: ` Método de objeto área de rolagem atNomes Nota: os eventos devem estar ativados nas propriedades do objeto. Enquanto a sintaxe atNomes{$vlElem} permite trabalhar com um elemento particular do array, a sintaxe atNomes devolve o número do elemento selecionado. Assim, a sintaxe atNomes{atNomes} significa 'o valor do elemento selecionado no array atNomes.” Se nenhum elemento for selecionado, atNomes é igual a 0 (zero), então o teste If (atNames#0) detecta se um elemento realmente foi selecionado ou não. Pode-se mudar por programação o elemento selecionado assinalando um valor ao array. ` Selecionar o primeiro elemento (se o array não estiver vazio) O comando Find in Array busca um valor em particular no array. Utilizando o exemplo anterior, o seguinte código selecionará o elemento cujo valor é 'Ricardo', se esse é o nome introduzido na caixa de diálogo de busca: $vsNome:=Request("Introduza o nome:") Menus de Pop-up, listas de drop-down, áreas de deslocamento e tab controls podem ser normalmente usadas da mesma maneira. Obviamente, nenhum código adicional é pedido para redesenhar objetos na tela toda vez que se muda o valor de um elemento, ou quando se adiciona ou deleta elementos. Nota: para criar e usar tab controls com ícones e ativar e desativar tabs, você deve usar uma lista hierárquica como objeto de suporte para o tab control. Para maiores informações, veja o exemplo para o comando New list. Enquanto você pode controlar menus de pop-up, listas de drop-down, áreas de deslocamento e tab controls com os algoritmos descritos na seção anterior, você deve manejar os combo boxes de maneira diferente. Um combo box é, na verdade, um área de entrada de texto, à qual é anexada uma lista de valores (os elementos do array). O usuário pode escolher um valor desta lista, e então editar o texto. Então, em um combo box, a noção do elemento selecionado não se aplica. Com os combo boxes, não há nunca um elemento selecionado. Cada vez que o usuário selecionar um dos valores anexos à área, o valor é colocado no elemento zero do array. Então, se o usuário edita o texto, o valor modificado pelo usuário é também colocado naquele elemento zero. ` Método de objeto Combo Box asCores
Ver também
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |