Passagem de dados entre formulários

Tradução automática de Deepl

Não seria óptimo se pudesse simplesmente abrir um formulário e passar-lhe alguns parâmetros para inicializar os seus objectos de formulário? Que tal ser capaz de voltar a processar os dados, depois de terem sido modificados pelo utilizador? 4D v16 R5 torna a sua codificação muito mais fácil, simplificando grandemente as comunicações com formulários.

Até agora, quando queria exibir dados (não provenientes da própria base de dados, mas computados ou externos) a múltiplos utilizadores, tinha duas opções: ou escrever código complexo para lidar com a exibição de dados em múltiplos processos, ou criar tantos formulários quantos forem necessários com um monte de variáveis globais. Mas sabe que as variáveis globais não são uma forma optimizada de codificação, de um ponto de vista de memória.

Portanto, livre-se do seu código complexo e das variáveis globais! Com 4D v16 R5 pode simplesmente ligar um objecto ao seu formulário e utilizá-lo internamente com o novo comandoForm . Indolor…e poderoso!

Exemplo de base de dados

Passar parâmetros a um formulário

É agora possível passar parâmetros num objecto para um formulário utilizando o DIALOG comando. Qualquer propriedade deste objecto estará então disponível a partir do contexto do formulário através do comando Form comando.

C_LONGINT($window)
C_OBJECT($address)

$address:=Novoobjecto
$address.CompanyName:="4D"
$address.LastName:="Dupont"
...

$window:=Abrirjanela do formulário("AddressForm";caixa de diálogo do formulário móvel)

// O formulário é aberto com o objecto $address no parâmetro
// Isto permite modificar o objecto $address no formulário com o comando Form
DIALOG("AddressForm";$address)
FECHAR WINDOW($window)
ALERT("O novo nome da empresa é: "+
$address.CompanyName)

No formulário “AddressForm “, basta utilizar o comando Form no formulário fonte de dados do objecto:

Quando os utilizadores fecham o diálogo, os valores que introduziram estão disponíveis no método de chamada através do objecto $address .

Passar parâmetros a uma subforma

Da mesma forma que se passa um objecto a um formulário com o comando DIALOG também se pode passar um objecto para uma área de subforma utilizando a lista de propriedades. Depois, pode utilizá-lo na subforma com o comando Form comando. No exemplo abaixo, o objecto InvoiceAddress está ligado à subforma.

blank

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.