De acordo com os 10 primeiros posts no blogue de 2019, a Fórmula: Mais poder por detrás da simplicidade dos posts classificados nos cinco primeiros lugares … Parece que Formula chamou realmente a vossa atenção, por isso aqui vai outra dica que Vincent de Lachaux (programador e perito 4D) me mostrou e que estou a partilhar convosco!
Use a fórmula num diálogo genérico
O comando FORM permite-lhe criar facilmente um diálogo de alerta genérico. Basta direccionar o diálogo para diferentes textos a serem exibidos num objecto:
$object:=New Object(\
"mainText"; "Are you sure you want to empty the trash?";
"additionalText"; "You can't undo this action";
"okText"; "Empty Trash";
"cancelText"; "Cancel "
)
Pode ainda enriquecer este objecto com uma fórmula para as acções por detrás dos botões OK e Cancelar. A sua fórmula pode chamar um comando 4D ou um método de projecto, com ou sem parâmetros.
$object.okAction:=Formula(myMethod("Lixo"; "ok"))
$object .cancelAction:=Formula(myMethod("Lixo"; "cancelar"))
Em seguida, utilizar código genérico nos botões:
Form.cancelAction.call()
// Ou
Form .okAction.call()
É isso mesmo! Tem agora um diálogo de alerta completamente genérico.
Adicionar fórmulas no objecto de Armazenamento
Se tiver funções de verificação ou cálculo em qualquer parte do seu código, pode adicionar fórmulas ao objecto de Armazenamento.
Aqui fica um exemplo:
// Define common functions
If ( . = ) ( ) . := ( . ) . . := ( ) . . . := ( ) StorageƒNull
UseStorage
StorageƒNew shared object
UseStorageƒ
// Register the function in Storage
StorageƒisValidFormula
StorageƒcomputeXFormula
End use
End use
End if
Usando esta função, não se altera o conteúdo do armazenamento, pelo que não é necessário Use/End Use.
Criar fórmulas ao carregar um componente
Para utilizar os métodos de um componente da base de dados anfitriã, é necessário primeiro partilhar o método. No entanto, quando se adicionam métodos, pode ser fácil esquecer. Aqui fica uma ideia para partilhar fórmulas de componentes!
No seu componente, crie um método que devolva um objecto à base de dados anfitriã. Este objecto contém fórmulas que chamam os métodos do seu componente. Resultado? Apenas um método para partilhar. Não é fixe!?
Isto é tudo para este post no blogue. Agora é a sua vez de partilhar esta dica com outra pessoa!