If immédiat (ou immediate if > iif)

Description

Cette astuce permet d'alléger les codes tels que "If machin then lbl.caption := 'abc' else lbl.caption := 'cba';"...

Grâce à une simple fonction, ce code tient en une ligne (sans compter les lignes de la fonction !). Le principe est de renvoyer une valeur d'un type défini si la condition est vraie, et une autre si celle-ci est fausse...

Avec le mot réservé "overload" après la déclaration de la fonction, on peut déclarer plusieurs fonctions du même nom, ayant des types différents pour les paramètres.
J'ai implémenté deux fonctions : une avec des string et l'autre avec des integer. Je ne suis pas allé cherhcé les exemples d'application bien loin, mais le principe est là !!

Source / Exemple :


L'utilisation est dans le projet et l'implémentation des fonctions IIF dans l'unité uIIF.pas...

Conclusion :


Reste à dire que cette astuce n'est pas de moi, mais que je la trouve assez intéressant pour qu'elle soit placée sur le site !
Je dois cette "découverte" à Olivier Dahan et à Paul Toth, rédacteurs du livre "Delphi 7 Studio" !

Merci à eux deux, et bonne prog' à tout le monde !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.