Criação de formulários em tempo real com novos comandos de fonte de dados

Tradução automática de Deepl

No desenvolvimento de aplicações, é frequentemente necessário criar formulários de forma dinâmica. Por exemplo, pode querer gerar um formulário de busca na hora, adaptado às necessidades do usuário. Em 4D, há duas abordagens principais para construir formulários dinâmicos: ou construir o formulário inteiro programaticamente ou adicionar objetos a um layout de formulário existente. Para a segunda opção, até agora, era possível duplicar objetos com OBJECT DUPLICATEe modificar a fonte de dados com OBJECT SET DATA SOURCEtudo usando uma abordagem clássica baseada em ponteiros.

Com 4D 20 R10, novos e poderosos comandos, OBJECT SET DATA SOURCE FORMULA e OBJECT Get data source formulapermitem aos desenvolvedores associar uma fórmula como fonte de dados de objetos de formulário. Além disso, pode atribuir fórmulas dinamicamente a propriedades chave da caixa de listagem com o comando LISTBOX SET PROPERTY como o item atual, a posição do item atual e os itens selecionados.

Isto abre caminho a uma abordagem mais moderna, flexível e legível, graças, nomeadamente, a expressões como Form.xx ou as classes.

HDI_SetDataSourceFormula

Novos comandos para manipular a propriedade da fonte de dados

Foram adicionados dois novos comandos para modificar a propriedade da fonte de dados:

OBJECT SET DATA SOURCE FORMULA ( {* ;} object ; formula)
OBJECT Get data source formula ( {* ;} object) : formula

Exemplo 1: Atualizar a fórmula

Imaginemos que temos uma entrada de texto chamada “myInput” num formulário e queremos associar a sua fonte de dados à fórmula “Form.myText”.

$myFormula:=Formula(Form.myText)
OBJECT SET DATA SOURCE FORMULA (*; "myInput"; $myFormula)

Exemplo 2: Recuperar a fórmula

Para recuperar a fórmula associada a um objeto de formulário, como uma entrada de texto chamada “myInput”, pode simplesmente escrever:

$formula:=OBJECT Get data source formula(*; "myInput")

Estes novos comandos facilitam a criação de modelos de formulários genéricos e reutilizáveis que podem ser configurados dinamicamente.

Capacidades alargadas para ListBoxes

Essas propriedades são acessíveis usando as seguintes constantes com os comandos LISTBOX Get property e LISTBOX SET PROPERTY:

  • lk current item expression
  • lk current item pos expression
  • lk selected items expression

Exemplo:

LISTBOX SET PROPERTY(*; "myListBox"; lk selected items expression; "Form.selectedItems")

Conclusão

Com OBJECT SET/GET DATA SOURCE FORMULA e as novas constantes de propriedade listbox, 4D fornece uma nova, elegante e poderosa maneira de construir interfaces dinâmicas.

Ao abraçar fórmulas e programação orientada a objetos, agora é possível criar formulários que são mais adaptáveis, mantidos e fáceis de ler.

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.