Dicas

Uma classe para facilitar o tratamento dos seus subformulários

No fórum, foram feitos vários pedidos, dicas ou perguntas sobre a apresentação de uma mensagem, uma ampulheta ou alguns elementos de interface no primeiro plano de um formulário, esbatendo o resto. É possível criar este tipo de interface com subformulários e formulários de chamada. O código pode tornar-se complicado se estiver a trabalhar com um formulário de várias páginas.

Para facilitar o seu trabalho, Vincent De Lachaux preparou uma classe para simplificar a gestão dos subformulários apresentados num formulário de várias páginas. Trata do carregamento do subformulário em tempo real, controlando-o a partir de um worker e reposicionando-o se o formulário principal for redimensionado. Pode concentrar-se nos seus diálogos sem se preocupar com a mecânica.

Produto blank

Conheça a função Distinct melhorada

A recuperação da lista de elementos de dados únicos é sempre útil na manipulação de dados. Em alguns casos, a recuperação do número de ocorrências de cada valor é essencial. A função distinct das classes de Coleção e Seleção de entidades permite a recuperação de uma lista de valores únicos. Com 4D v20, também se pode recuperar o número de ocorrências de cada valor distinto.

E isso não é tudo!

Um objeto na base de dados pode ser utilizado para guardar dados personalizados introduzidos pelo usuário. Assim, no lado do código, é necessário conhecer todos os caminhos possíveis para o objeto. A função distinctPaths foi adicionada à classe de Seleção de entidades.

Aqui está tudo o que precisa de saber.

Dicas blank

Dicas e truques para as suas aplicações 4D – Edição de Setembro

Tradução automática de Deepl

por Add Komoncharoensiri, Director de Serviços Técnicos da 4D Inc

Aqui vamos nós com outro conjunto de dicas e truques.

Como sabem, a Base de Conhecimento 4D é uma biblioteca de informação sobre tecnologia 4D onde são publicadas semanalmente dicas técnicas e notas técnicas mensais de forma activa. Se falhou as últimas dicas sobre a KB, tudo bem; aqui está uma compilação das últimas semanas.

Este post do blogue cobre 16 dicas:

Dicas blank

Novas Dicas e Truques para as suas aplicações 4D

Tradução automática de Deepl

por Add Komoncharoensiri, Director de Serviços Técnicos da 4D Inc

Como sabe, a Base de Conhecimento 4D é uma biblioteca de informação sobre a tecnologia 4D onde são activamente publicadas dicas técnicas semanais e técnicas mensais. Se falhou as últimas dicas sobre a KB, tudo bem; aqui está uma compilação das últimas semanas.

Este post do blogue cobre 12 dicas:

Produto blank

Uma forma sem costura de gerir os parâmetros

Tradução automática de Deepl

Na declaração de uma função ou método, defina explicitamente os seus parâmetros. Depois, ao chamar essa função ou método, pode passar-lhe menos parâmetros, se alguns forem opcionais. Ou, se utilizou a declaração com ${n}, o número de parâmetros passados é variável. Neste caso, utiliza-se a função Count Parameters com um loop sobre os argumentos. Este código funciona sem falhas. Ainda assim, é um pouco pesado.

Pediu-nos uma forma mais leve de lidar com os parâmetros, e nós ouvimos. Começando com 4D v19 R5, fornecemos-lhe um novo comando, Copy parameters, permitindo-lhe escrever um código sem costura, mais elegante, e mais fácil de ler.

Produto blank

Aceda às suas aulas de componentes do seu projecto anfitrião

Tradução automática de Deepl

Os componentes podem agora publicar aulas! E ainda melhor, se a sua aplicação ainda estiver em modo binário, pode agora beneficiar de classes e desenvolvimento orientado para objectos, utilizando um componente (em modo de projecto) para criar as suas próprias classes e utilizá-las a partir da sua aplicação (baseada em modo binário).

Produto blank

Saltar rapidamente para diferentes funções de uma classe

Tradução automática de Deepl

Asclasses foram introduzidas com 4D v18 R3. Permitem organizar a sua lógica empresarial e separá-la mais rapidamente da parte da UI.

As classes são compostas por várias funções de duração variável, pelo que nem sempre é fácil encontrar a função que deseja modificar, ou passar de uma função para outra. Pode utilizar o explorador, que exibe classes e funções, mas quando está a codificar na janela do editor, não quer perder tempo a mudar de janela.

Com 4D v19 R4, a lista de funções da sua classe é exibida na barra de ferramentas do editor de código, permitindo-lhe saltar facilmente para uma função específica.

Produto blank

Precisa de uma varinha de condão? Aqui estão as propriedades da classe computorizada!

Tradução automática de Deepl
A aparição de classes no ambiente de desenvolvimento 4D tornou a programação mais moderna e mais fácil de escalonar. As classes permitem a definição de propriedades, funções e também apoiam a herança.
Na sua aplicação, tem provavelmente uma classe para gerir dados científicos ou financeiros. Tomemos o exemplo dos dados financeiros. Digamos que tenha criado funções para calcular impostos. Se também gerir vários países, poderá ter utilizado a herança para gerir as diferentes regras. Então, apresenta estes resultados numa caixa de listagem, mas se o utilizador alterar um dos atributos utilizados na fórmula, terá de gerir este evento para actualizar o resultado.
Com 4D v19 R3, 4D permite-lhe simplificar este processo graças às propriedades computorizadas: Pode definir uma função get and set para a sua propriedade calculada, e quando adiciona a sua propriedade a uma caixa de listagem, tudo é tratado automaticamente por 4D. Acabou-se a lógica comercial na sua UI.

Produto blank

Criar um atributo BLOB num objecto

Tradução automática de Deepl

Com a introdução de classes no ambiente 4D, a necessidade de armazenar os seus dados em objectos, e especialmente em blobs, tem aumentado. É por isso que 4D v19 R2 lhe permite encapsular os blobs em objectos.

Para além do aspecto do armazenamento, uma vez que o objecto blobs é um tipo de referência, o seu desempenho em termos de ocupação de memória e velocidade será grandemente melhorado.

Produto blank

Sintaxe amiga do codificador para funções e métodos de classe

Tradução automática de Deepl

Utilizar variáveis de $1, $2, e $n no seu código não só torna o código menos legível, como também pode aumentar a confusão, uma vez que o cérebro humano pode ter dificuldade em lembrar-se a que correspondem estas variáveis. A solução é criar uma variável com um nome compreensível e atribuir-lhe o valor de $1, $2, ou $n.

4D v18 R5 tem boas notícias, pode agora nomear os seus parâmetros ao declarar:

  • um método de projecto,
  • um gatilho
  • um método de base de dados
  • um método de formulário
  • um construtor de uma classe
  • uma função de uma classe.

Vamos ver como!