Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

ETL de données : ajouter des LiveBindings personnalisés à vos applications

pexels hitesh choudhary 879109

Dans le récent épisode TCoffeeAndCode axé sur les données ETL, il y a eu d’excellentes discussions sur l’utilisation de FireDAC pour extraire et manipuler des données de différentes manières.

Le replay, au cas où vous l’auriez manqué, la vidéo de replay est liée ci-dessous.

Data ETL en toute simplicité – grâce à un tweet !

Nous avons également – ​​entre autres choses – parlé des avantages de LiveBindings. Littéralement dix minutes avant le début du webinaire, je suis tombé sur un Tweet du tout nouveau MVP d’Embarcadero, David Cornelius, dans lequel il mentionnait qu’il avait expérimenté les LiveBindings de RAD Studio.

Eh bien, c’était au bon moment ! David poursuit dans son article de blog pour décrire un peu les LiveBindings et son parcours personnel où il est passé, un peu comme moi, d’un sentiment de complaisance tiède envers eux à une appréciation des subtilités de leur utilisation.

Les LiveBindings sont plus puissants qu’ils n’y paraissent

Lorsque j’ai entendu parler des LiveBindings pour la première fois, ils m’ont semblé être une sorte de variation de l’ancien datasource datafieldtype de relation trouvé dans les anciennes versions de Delphi et du vénérable Visual Basic. Il semblait que nous devions lier les contrôles à l’écran à un champ (ou des champs) d’une table de base de données, bien qu’avec un éditeur de relations graphique plus joli.

Une fois que vous commencez à gratter la surface des LiveBindings, si vous êtes comme moi, les LiveBindings commenceront à se révéler progressivement et vous constaterez qu’il y a BEAUCOUP plus de puissance que de simplement pointer ce champ sur ce type de contrôle. de relations. Lier des contrôles à des classes et à des structures de données de code interne est l’une de ces fonctionnalités du programmeur Super Power RAD Studio que je n’arrête pas de dire aux gens, c’est la raison pour laquelle un codeur assez paresseux comme moi peut en fait être terriblement productif. Ce n’est pas moi, c’est RAD Studio et, dans mon cas du moins, Delphi.

ETL de données avec expressions LiveBinding

Il existe d’autres excellents articles décrivant les LiveBindings depuis les débuts jusqu’à des sujets plus avancés :

Mais David Cornelius a embrassé l’idée des LiveBindings et est allé un peu plus loin !

Comment étendre LiveBindings avec des expressions de liaison personnalisées

David a produit un ensemble de code, disponible sur GitHub, qui ajoute des expressions personnalisées dans l’éditeur LiveBindings.

Le référentiel contient un ensemble d’unités qui peuvent être incluses dans vos applications, qui améliorent ensuite les expressions personnalisées LiveBinding disponibles pour inclure des éléments tels que le calcul automatique des années depuis la date contenue dans le champ de la base de données (ou l’enregistrement ou la classe – c’est un LiveBinding, ne le faites pas). ne pas oublier).

Expression personnalisée LiveBindings

Voici quelques lignes d’exemple de code du dépôt de David :

[crayon-67443e57b0bf3763795221/]

Ce code signifie que vous pouvez ajouter une expression personnalisée LiveBinding MinutesSince(MyDateTimeDBField, 2)pour afficher la valeur de « MyDateTimeDBField » en tant que nombre de minutes depuis la date et l’heure contenues dans ce champ. Très agréable.

Autres façons de calculer les dates et l’heure dans LiveBindings

David utilise un code assez efficace dans ses méthodes d’expression personnalisées. Si nous incluons l’ System.DateUtilsunité dans notre propre code, nous pourrions modifier et/ou étendre les fonctions de David pour inclure presque tous les calculs de date/heure contenus dans cette unité, le cas échéant. Par exemple, nous pourrions créer une fonction appelée « IsAM » et la lier à la IsAM fonction dans l’unité DateUtils et lui faire afficher un texte spécial si le champ datetime lié était, ou non, le matin ou l’après-midi.

Les LiveBindings de RAD Studio sont-ils efficaces ?

Bien sûr, plus vous ajoutez de fonctions et plus vous incluez d’unités, plus votre code gonflera, alors utilisez-les avec parcimonie. Vous devez également vous assurer que vos expressions personnalisées sont aussi précises et rapides que possible car elles sont liées et fonctionnent sur des champs ou des structures de base de données et vous pouvez, bien sûr, vous attendre à ce qu’un LiveBinding personnalisé lent ait un impact sur l’inefficacité globale si vous êtes traiter des milliers ou peut-être des dizaines de milliers d’enregistrements.

Où en savoir plus sur les LiveBindings personnalisés

Vous devez absolument vous rendre sur l’excellent article de blog de David Cornelius sur les fixations personnalisées en direct : https://corneliusconcepts.tech/beyond-standard-livebindings

Vous pouvez également accéder à sa page GitHub et cloner le dépôt directement à partir de là : https://github.com/corneliusdavid/LiveBindingsBeyond

Au moment d’écrire ces lignes, David n’apparaît pas encore dans le répertoire Embarcadero MVP, mais il le sera bientôt. J’ai hâte de voir la suite de ce qu’il propose !


RAD Studio Delphi rend l’extraction, la transformation et le chargement des données – Data ETL – rapides, efficaces et faciles. Pourquoi ne pas télécharger une copie d’essai aujourd’hui ?

Quitter la version mobile