begin process at 2012 02 11 07:37:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > IF IMMÉDIAT (OU IMMEDIATE IF > IIF)

IF IMMÉDIAT (OU IMMEDIATE IF > IIF)


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :25/02/2003 Date de mise à jour :25/02/2003 22:18:32 Vu / téléchargé :3 151 / 127

Auteur : Bestiol

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


 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

  • L'utilisation est dans le projet et l'implémentation des fonctions IIF dans l'unité uIIF.pas...
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 !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip COLORATION SYNTAXIQUE AVEC TPARSER !!
Source avec Zip PETITE SCENE EN OPENGL
Source avec Zip DÉCOUPAGE DE FICHIER WAV
Source avec Zip UTILISER UN NUMÉRO DE SÉRIE
Source avec Zip CONCATENATION DE FICHIERS WAV

 Sources de la même categorie

Source avec Zip DICTIONNAIRE WORD DANS UN RICHEDIT par H60
Source avec Zip TRIER DU GREC DANS UNE APPLI EN CODE LOCAL FRANÇAIS. par fricot
Source avec Zip Source avec une capture INTÉGRATION DE PAGE HTML DANS LES RESSOURCES D'UNE DLL par christophe75018
FONCTION DE CONVERSION DE MILLISECONDES EN HH:MM:SS:MMM par vyseR
Source avec Zip Source avec une capture UTILISER UNE DLL INCLUSE EN RESSOURCES par Bacterius

Commentaires et avis

Commentaire de Bestiol le 25/02/2003 22:26:12

Désolé mais pour l'instant, le ZIP n'a pas l'air de vouloir passer...
Il ne fait pourtant que 4 Ko !

Commentaire de Delphiprog le 25/02/2003 22:30:10 administrateur CS

Pour les implémentations avec des integer, voir également la fonction IfThen déclarée dans l'unité math, livrée avec Delphi (extrait de l'aide en ligne) :

function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer = 0): Integer; overload;

function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64 = 0): Int64; overload;
function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;

Description

IfThen teste l'expression passée en tant que AValue, et renvoie ATrue si elle est évaluée comme True ou AFalse si elle est évaluée comme False. Si le paramètre AFalse est omis, IfThen renvoie 0 ou une chaîne vide lorsque AValue est évaluée comme False.

Pour les chaînes, voir la même fonction déclarée dans StrUtils :
function IfThen(AValue: Boolean; const ATrue: string;
  AFalse: string = ''): string;

Ca ne fait pas un peu double emploi ?

Commentaire de bgK le 26/02/2003 09:31:09

Une autre méthode pour écrire le code répétitif plus rapidement :
CTRL + J dans l'edi, puis le code (ifeb pour une structure if/else)

Sinon, ça fait un bon tutoriel sur la surcharge des fonctions.

Commentaire de Bestiol le 26/02/2003 13:57:31

Ah !! Désolé, je ne savais pas que ces fonctions étaient implémentées dans des unités de Delphi !! Et ils ne le disaient pas non plus dans le bouquin !
Bon, bah mon source sert à rien, alors ;o(

Bonne prog' quand même !

Commentaire de Delphiprog le 27/02/2003 00:19:18 administrateur CS

Un code source n'est jamais inutile s'il est une oeuvre de l'esprit et s'il démontre que l'on peut faire autrement, voire mieux...même pour arriver au même résultat.
Comme le dit bgk : "Sinon, ça fait un bon tutoriel sur la surcharge des fonctions" . C'est déjà çà !
Dans l'ensemble, je crois que nous ne prenons pas assez de temps de regarder ce que Borland nous a livré avec ses produits. Combien d'heures passées à se demander comment faire, alors que nous avions la réponse à portée de souris (ne pas confondre avec une couvée de souris ! ;-)).

Commentaire de Bestiol le 27/02/2003 00:40:42

lol !
Merci de me "remonter le moral", DelphiProg !! Ceci dit, je suis d'accord avec toi, mais je ne pense pas, sur le coup, avoir fait mieux ou autrement... Y a pas 36000 façons d'implémenter cette fonction !
:op

Bonne prog' !!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales