IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Notion d'optional en Delphi


Sujet :

Langage Delphi

  1. #1
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut Notion d'optional en Delphi
    Salut,
    En VB, on peut trouver des méthodes ayant comme paramètres des champs précédés du mot réservé optional. Dans ce cas, ces paramètres peuvent être omis lors d'un appel à la méthode concernée.
    Est ce que la notion d'optional existe en Delphi ?
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    non, mais on peut donner une valeur par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function test(valeur1:string; valeur2:integer=123);
    begin
    end;
     
    begin
     test('utilise la valeur par défaut'); 
     test('force la valeur',456);
    end.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Merci. Y aurait-il un moyen pour savoir si cette valeur par défaut a été spécifiée dans l'appel de méthode ?
    Si je ne veux pas spécifier une valeur par défaut je serais obligé de faire :
    Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    procedure test(valeur1:string; valeur2:integer);overload;
    procedure test(valeur1:string);overload;
     
    procedure test(valeur1:string; valeur2:integer);
    begin
    end;
     
    procedure test(valeur1:string);
    begin
    end;
     
    begin
     test('utilise la valeur par défaut'); 
     test('force la valeur',456);
    end.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    je ne comprend pas bien là,

    si tu fais ça ce sont deux méthodes différentes avec des traitements différents (ou tu répètes le code)

    je ne connais pas les paramètres optionnels de VB...mais sous Delphi, rien n'est optionnel, tu peux ignorer un paramètre, lui donner une valeur par défaut pour ne pas le saisir (pas comme le ,, de VB) mais il existe toujours.

    peux-tu préciser ce que tu cherches à faire ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par AL1986
    Si je ne veux pas spécifier une valeur par défaut je serais obligé de faire :......
    Citation Envoyé par Paul TOTH
    si tu fais ça ce sont deux méthodes différentes avec des traitements différents (ou tu répètes le code)
    Je voulais dire en répétant le même code dans les deux fonctions, mais je pense que ce n'est pas très utile.
    Sinon, pour ma question d'avant:
    Citation Envoyé par AL1986
    Y aurait-il un moyen pour savoir si cette valeur par défaut a été spécifiée dans l'appel de méthode ?
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  6. #6
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Il n'y a pas moyen de savoir si la valeur par défaut a été utilisée ou non, sauf si la valeur que tu donnes par défaut n'est pas une valeur "acceptable" normalement. Par exemple, -1 pour un entier positif.

    Les valeurs par défaut ne sont pas des paramètres optionnels. Comme l'a dit Paul Toth, si tu ne mets pas le paramètre, il est quand même mis "automatiquement" comme si tu avais spécifié la valeur par défaut.

    Si tu as vraiment besoin de savoir si un paramètre a été donné ou non, tu dois ajouter un booléen.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/12/2014, 15h31
  2. option delphi "noeud" bloc begin end
    Par adelcrb dans le forum Débuter
    Réponses: 3
    Dernier message: 30/04/2014, 14h51
  3. Options débogueur : Arrêter sur exceptions Delphi
    Par juju1988 dans le forum Débuter
    Réponses: 2
    Dernier message: 28/12/2011, 14h06
  4. Comment créer une boite de dialogue d'options comme Delphi?
    Par Patrick25300 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/01/2008, 17h56
  5. Problème avec l'option version de Delphi 2006
    Par richard038 dans le forum Delphi
    Réponses: 4
    Dernier message: 05/12/2006, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo