Meilleur auteur de réponses
Mot clef OPTIONAL avec variable

Question
-
Réponses
-
Bonjour,
Pas directement avec "optional", mais une autre solution serait de définir une routine Ecrire(Mot) qui ferait un appel à la routine Ecrire(Mot,Variable). Qq chose comme :
Public Property def As String = "Valeur par défaut" Public Sub MaSub(ByVal a As String) MaSub(a, def) End Sub Public Sub MaSub(ByVal a As String, ByVal b As String) ' Code...
End SubCe qui permet de changer éventuellement la valeur par défaut. Bien sûr si cette valeur par défaut change fréquemment cela reviendrait à passer tout simplement cette variable comme deuxième paramètre et il deviendrait sans doute plus logique d'avoir simplement une routine avec deux arguments.
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".- Proposé comme réponse Gilles TOURREAUModerator lundi 20 décembre 2010 20:15
- Marqué comme réponse Alex Petrescu mardi 28 décembre 2010 13:16
Toutes les réponses
-
Bonjour,
Pas directement avec "optional", mais une autre solution serait de définir une routine Ecrire(Mot) qui ferait un appel à la routine Ecrire(Mot,Variable). Qq chose comme :
Public Property def As String = "Valeur par défaut" Public Sub MaSub(ByVal a As String) MaSub(a, def) End Sub Public Sub MaSub(ByVal a As String, ByVal b As String) ' Code...
End SubCe qui permet de changer éventuellement la valeur par défaut. Bien sûr si cette valeur par défaut change fréquemment cela reviendrait à passer tout simplement cette variable comme deuxième paramètre et il deviendrait sans doute plus logique d'avoir simplement une routine avec deux arguments.
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".- Proposé comme réponse Gilles TOURREAUModerator lundi 20 décembre 2010 20:15
- Marqué comme réponse Alex Petrescu mardi 28 décembre 2010 13:16
-
Bonjour,
oui c'est possible mais ta variable doit etre une constante comme ceci:
Public Class Form1 Public Const prenom As String = "toto" Public Sub Ecrire(ByVal Mot As String, Optional ByVal Mot1 As String = "exemple") 'code End Sub Public Sub Ecrire2(ByVal Mot As String, Optional ByVal Mot1 As String = prenom) 'code End Sub End Class
fred -
Merci pour vos réponses. J'avais envisagé la seconde solution en utilisant une variable globale. La première est intéressante aussi.
En VB6.0 on pouvait utiliser une variable locale et la gérer avec la fonction IsMissing. En .net il faut passer par une variable globale.
@+