cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 12 oct. 2006 à 23:23
Non, une fonction ne peut retourner qu'un seul résultat.
Soit tu te débrouille pour que cette valeur de retour soit une structure contenant toutes les valeurs que tu souhaite pouvoir retourner,
Soit tu code ta fonction de sorte qu'elle puisse modifier des variables passées en arguments. Dans ce cas il faut que ces variables soit passées par référence.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 13 oct. 2006 à 11:22
Re
Private Function OUIOUI(xDonneeA,xDonneeB) as String
Dim Alors as String ,PourkoiPas as string
Alors = xDonneeA & space(1) & Date
PourkoiPas = xDonneeB & ....autre opération
OUIOUI = Alors & "/" & PourkoiPas
End Function
Private sub Command1_Click()
dim lol() as String
lol = split(OUIOUI,"/")
msgbox "premier résultat envoyer par la fonction ouioui " & lol(0)
msgbox "deuxieme resultat " & lol(1)
End sub
' a partir du moment ou on code nous meme notre fonction, on peut tout lui demander
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 oct. 2006 à 11:32
Ok B0mbJack,
Tu ne renvois qu'un seul résultat qui est la concaténation des différentes valeurs que tu souhaite en retour.
C'est une astuce supplémentaire.
Pour tu concurencer, voici la version, passage d'argument (ByRef est implicite en VB6, pas besoin de le préciser suaf pour la clarté du code) :
Private Function OUIOUI(xDonneeA As String, xDonneeB As String, Alors As String, PourkoiPas As String) As String
Alors = xDonneeA & Space(1) & Date
PourkoiPas = xDonneeB & Space(1) & Time
End Function
Private Sub Command1_Click()
Dim rslt1 As String, rslt2 As String
Call OUIOUI("La date :", "L'heure :", rslt1, rslt2)
MsgBox "premier résultat envoyer par la fonction ouioui -> " & rslt1
MsgBox "deuxieme resultat -> " & rslt2
End Sub