Bonjour à tous,
Oui je me rends compte que le titre du post n'est pas très parlant alors je vais développer Tout le monde sait qu'un paramètre défini comme implicite ou optionnel dans la déclaration d'une fonction ou procédure peut être omis lors d'un appel... je donne comme exemple:
Bon... Si je n'ai besoin dans la procédure MachinChose que des paramètres GrosseValeur, et UneChaine, j'aimerais avoir la possibilité d'appeler cette procédure en ne lui fournissant bien entendu les paramètres obligatoires et seulement l'un des paramètres optionnels QUELQUE QUE SOIT son ordre d'apparition dans la liste.... En gros je voudrais pouvoir appeler cette procédure sans être obligé de fournir le paramètre EncoreUneValeur (qui se trouve être le premier des optionnels). Un appel du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure MachinChose(const GrosseValeur, AutreValeur: integer; const EncoreUneValeur = 0; const UneChaine: string = 'test'); var locale1 : integer; ChaineX : string; begin blablabla... end;
MachinChose(158476, 54293,, 'MaChaine');
Bien entendu, j'ai déjà testé cette syntaxe et ça ne passe pas. Et dans ma petite logique, je me dis qu'il doit bien y avoir un moyen d'appeler une telle procédure ou fonction sans avoir explicitement besoin de citer un paramètre optionnel puisque par définition il est optionnel avec une valeur par défaut !
Je pose donc la question aux pros du forum:
Sous Delphi, peut on appeler une procedure ou fonction dotée de paramètres implicites en omettant un des paramètres optionnels même si ce dernier se trouve au milieu de la liste (des paramètres optionnels bien entendu) ?
Merci d'avance pour vos réponses.
Bonne continuation et A+++
Partager