Conseils

Une classe pour faciliter la gestion de vos sous-formulaires

Sur le forum, plusieurs demandes, astuces ou questions ont été posées concernant l’affichage d’un message, d’un sablier ou de certains éléments d’interface au premier plan d’un formulaire tout en estompant le reste. Vous pouvez créer ce type d’interface avec des sous-formulaires et des formulaires d’appel. Le code peut être compliqué si vous travaillez avec un formulaire de plusieurs pages.

Pour vous faciliter la tâche, Vincent De Lachaux a préparé une classe qui simplifie la gestion des sous-formulaires affichés dans un formulaire multi-pages. Elle gère le chargement du sous-formulaire à la volée, son contrôle depuis un worker, et son repositionnement en cas de redimensionnement du formulaire principal. Vous pouvez ainsi vous concentrer sur vos dialogues sans vous soucier de la mécanique.

Produit blank

Découvrez la fonction Distinct améliorée

La récupération de la liste des éléments de données uniques est toujours utile lors de la manipulation des données. Dans certains cas, le nombre d’occurrences de chaque valeur est essentiel. La fonction distinct des classes de sélection Collection et Entity permet de récupérer une liste de valeurs uniques. Avec 4D v20, vous pouvez également récupérer le nombre d’occurrences de chaque valeur distincte.

Et ce n’est pas tout !

Un objet de la base de données peut être utilisé pour sauvegarder les données personnalisées saisies par l’utilisateur. Du côté du code, vous devez donc connaître tous les chemins possibles vers l’objet. La fonction distinctPaths a été ajoutée à la classe de sélection des entités.

Voici tout ce que vous devez savoir.

Conseils blank

Conseils et astuces pour vos applications 4D – Édition de septembre

Traduit automatiquement de Deepl

par Add Komoncharoensiri, directeur des services techniques de 4D Inc.

 

C’est parti pour une nouvelle série de conseils et d’astuces.

Comme vous le savez, la base de connaissances 4D est une bibliothèque d’informations sur la technologie 4D où des conseils techniques hebdomadaires et des notes techniques mensuelles sont activement publiés. Si vous avez manqué les derniers conseils sur la KB, ce n’est pas grave ; voici une compilation des dernières semaines.

Ce billet de blog couvre 16 conseils:

Conseils blank

Nouveaux trucs et astuces pour vos applications 4D

Traduit automatiquement de Deepl

par Add Komoncharoensiri, directeur des services techniques de 4D Inc.

Comme vous le savez, la base de connaissances 4D est une bibliothèque d’informations sur la technologie 4D où des conseils techniques hebdomadaires et des technotes mensuelles sont activement publiés. Si vous avez manqué les derniers conseils sur la KB, ce n’est pas grave ; voici une compilation des dernières semaines.

Ce billet de blog couvre 12 conseils:

Produit blank

Une manière transparente de gérer les paramètres

Traduit automatiquement de Deepl

Dans la déclaration d’une fonction ou d’une méthode, vous définissez explicitement ses paramètres. Ensuite, lorsque vous appelez cette fonction ou cette méthode, vous pouvez lui passer moins de paramètres si certains sont facultatifs. Ou, si vous avez utilisé la déclaration avec ${n}, le nombre de paramètres passés est variable. Dans ce cas, vous utilisez la commande Count Parameters avec une boucle sur les arguments. Ce code fonctionne parfaitement. Pourtant, il est un peu lourd.

Vous nous avez demandé une façon plus légère de gérer les paramètres, et nous vous avons écouté. À partir de 4D v19 R5, nous vous fournissons une nouvelle commande, Copy parameters qui vous permet d’écrire un code transparent, plus élégant et plus facile à lire.

Produit blank

Accédez à vos classes de composants à partir de votre projet hôte

Traduit automatiquement de Deepl

Les composants peuvent désormais publier des classes ! Et mieux encore, si votre application est encore en mode binaire, vous pouvez maintenant bénéficier des classes et du développement orienté objet en utilisant un composant (en mode projet) pour créer vos propres classes et les utiliser à partir de votre application (basée sur le mode binaire).

Produit blank

Passer rapidement aux différentes fonctions d’une classe

Traduit automatiquement de Deepl

Lesclasses ont été introduites avec 4D v18 R3. Elles vous permettent d’organiser votre logique métier et de la séparer de la partie interface utilisateur plus rapidement.

Les classes sont composées de plusieurs fonctions plus ou moins longues, il n’est donc pas toujours facile de trouver la fonction que l’on veut modifier, ou de passer d’une fonction à une autre. Vous pouvez utiliser l’explorateur, qui affiche les classes et les fonctions, mais lorsque vous codez dans la fenêtre de l’éditeur, vous ne voulez pas perdre de temps à changer de fenêtre.

Avec 4D v19 R4, la liste des fonctions de votre classe est affichée dans la barre d’outils de l’éditeur de code, ce qui vous permet de passer facilement à une fonction spécifique.

Produit blank

Besoin d’une baguette magique ? Voici des propriétés de classes calculées !

Traduit automatiquement de Deepl
L’apparition des classes dans l’environnement de développement 4D a rendu la programmation plus moderne et plus facile à mettre à l’échelle. Les classes permettent de définir des propriétés, des fonctions et supportent également l’héritage.
Dans votre application, vous avez probablement une classe pour gérer des données scientifiques ou financières. Prenons l’exemple des données financières. Disons que vous avez créé des fonctions pour calculer les impôts. Si vous gérez également plusieurs pays, vous avez peut-être utilisé l’héritage pour gérer les différentes règles. Ensuite, vous affichez ces résultats dans une boîte de liste, mais si l’utilisateur modifie un des attributs utilisés dans la formule, vous devez gérer cet événement pour mettre à jour le résultat.
Avec 4D v19 R3, 4D vous permet de simplifier ce processus grâce aux propriétés calculées : Vous pouvez définir une fonction get et set pour votre propriété calculée, et lorsque vous ajoutez votre propriété à une zone de liste, tout est géré automatiquement par 4D. Plus de logique métier dans votre interface utilisateur.

Produit blank

Créer un attribut BLOB dans un objet

Traduit automatiquement de Deepl

Avec l’introduction des classes dans l’environnement 4D, la nécessité de stocker vos données dans des objets, et notamment des blobs, a augmenté. C’est pourquoi 4D v19 R2 vous permet d’encapsuler des blobs dans des objets.

Au-delà de l’aspect stockage, l’objet blob étant un type de référence, vos performances en termes d’occupation mémoire et de rapidité seront grandement améliorées.

Produit blank

Syntaxe conviviale pour les fonctions et les méthodes des classes.

Traduit automatiquement de Deepl

L’utilisation de variables $1, $2 et $n dans votre code ne rend pas seulement le code moins lisible, elle peut aussi augmenter la confusion puisque le cerveau humain peut avoir du mal à se souvenir de ce à quoi ces variables correspondent. La solution consiste à créer une variable avec un nom compréhensible et à lui attribuer la valeur de $1, $2 ou $n.

4D v18 R5 a une bonne nouvelle, vous pouvez maintenant nommer vos paramètres lors de la déclaration :

  • une méthode de projet,
  • un trigger
  • une méthode de base de données
  • une méthode de formulaire
  • un constructeur d’une classe
  • une fonction d’une classe.

Voyons comment !