Paramètres optionnels dans une fonction/procédure - Delphi/Pascal - Programmation
Marsh Posté le 25-04-2005 à 15:27:40
moi aussi j'ai cherché à faire un truc pareil la dernière fois en cours mais j'ai pas trouvé :-\
Marsh Posté le 26-04-2005 à 10:11:56
Il suffit d'assigner une valeur par défaut aux paramètres optionnels :
procedure MaProc(const UnText: string; const UnNombre: Integer = 0);
Si on appelle MaProc en ne passant qu'un texte, UnNombre sera à 0.
Marsh Posté le 26-04-2005 à 10:22:45
Ca marche aussi pour les constructeurs ? J'aimerais pouvoir avoir le choix entre TBidule.Create; et TBidule.Create('Le bidule de Cate', 32, Button1);. Ce ne serait pas encore aussi souple que du Java, mais ce serait déjà rudement plus confortable pour moi.
Marsh Posté le 26-04-2005 à 10:41:15
Il y a quoi de plus en Java ?
constructor Create; overload;
constructor Create(const S: string; const N: Integer; Obj: TObject); overload;
puis dans la définition des deux Create tu mets un "inherited Create" pour appeler le constructeur du parent.
Marsh Posté le 26-04-2005 à 10:45:59
Oh, Delphi s'en sort avec 36 constructors du même nom définis avec des paramètres différents ? Je pensais que Delphi identifiait les méthodes par leur nom, et pas par leur nom+paramètres. Alors oui, Java fait pas mieux sur ce coup-là.
Je suis cruche de pas avoir essayé... -_-
Marsh Posté le 26-04-2005 à 10:50:31
Du moment que t'ajoutes "overload" derrière la déclaration pour indiquer qu'il y a plusieurs méthodes avec le même nom, ça passe
On peut aussi faire des constructeurs qui s'appellent autrement que "Create" mais alors la relecture du code est un peu plus complexe
Marsh Posté le 26-04-2005 à 10:58:44
Ben, jadis, sous Turbo Pascal 7, je multipliais les noms des constructeurs, mais c'était pas pratique. Et j'en étais resté là, à la POO paléolithique (j'ai quand même appris l'héritage multiple, les propriétés et les private/published/tout ça hein). Bon j'arrête de flooder . En tout cas c'était bon à savoir.
Marsh Posté le 25-04-2005 à 14:13:41
Salut tout le monde,
En Visual Basic, je peux définir une fonction ou procédure avec des paramètres optionnels (grâce au mot clé "optional" ). J'ai regardé dans l'aide en ligne de Delphi 7 sans rien trouver qui s'y rapporte.
Est-ce que cette possibilité existe dans Delphi?