sturtrid
Messages postés133Date d'inscriptiondimanche 20 mai 2007StatutMembreDernière intervention13 juillet 20121 27 févr. 2009 à 17:06
Peut être que cette précision sera utile...
En fait, lorsque tu créés une procédure ou une fonction qui requière un ou plusieurs paramètres, comme cela:
Public Sub MaFonction(ByVal NomDuParamètre As TypeDuParamètre)
Il y a 3 informations obligatoires à donner:
1) Le mode de transmission : - ByVal : Transmission par valeur (Défaut) = > Envoie une copie de la valeur fournie à la procédure.
- ByRef : Transmission par référence => Envoie l'adresse mémoire de la variable fournie à la procédure.
2) Un nom pour ton paramètre :
- Ce nom renseigne sur ce que représente le paramètre, mais est indépendant du nom de la variable que tu
passeras à la procédure lors de l'appel.
3) Le type du paramètre (Après le mot-clé As qui permet justement de définir un type) :
- As Integer ou As String par exemple et sans mettre de virgule comme tu l'avais fait...
- Cela indique que ta procédure demande un paramètre du type que tu as indiqué.
Du coup, pour exemple :
(Admettons que ton projet contienne une TextBox appelée TextBox1)
Dim unTexte As String = "Salut !"
Public Sub Afficher(
ByVal MonMessage
As String)
MessageBox.Show(MonMessage)
End Sub
Ainsi, tu peux appeler ta Sub "Afficher" comme cela :
Afficher("Un exemple de chaîne...")
Ou
Afficher(unTexte)
Ou
Afficher(TextBox1.Text)
Voilà, c'était peut être inutile de t'expliquer tout ça, mais je sais que quelques fois on préfère trop que pas assez....
++
sturtrid
Messages postés133Date d'inscriptiondimanche 20 mai 2007StatutMembreDernière intervention13 juillet 20121 27 févr. 2009 à 17:22
Et on retombe sur le code initial de Renfield...
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ValideMail(TextBox1.text) Then
MessageBox.Show("Adresse valide")
Else
MessageBox.Show("Adresse invalide")
End If
End Sub
End Class
Module Module1
Public Function ValideMail(ByRef vsAdresseATester As String) As Boolean
If vsAdresseATester.Contains("@") Then ValideMail = True
End Function