moutonjr
Messages postés65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention 5 juin 2012
-
23 nov. 2007 à 22:26
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
24 nov. 2007 à 20:53
Bonjour à tous,
Voilà le titre résume à peu près la chose, je chercherais à créer une fonction qui puisse renvoyer deux réponses (ici un string et un integer). Jusqu'ici je concaténais les deux dans la fonction puis je les séparais avec Mid() mais ce ne semble pas être du bon travail.
ex: fonction Mafonc(element1 As object, element2 as Object) <retourne string et integer>
est-ce possible??
Merci de votre compréhension, pour plus de précisions... bah c'est un forum ^^
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 nov. 2007 à 10:11
Pour info, les arguments passés à une fonction peuvent aussi servir à retrouner un résultat, pour peu qu'ils soient passer par référence (ByRef). Il n'est pas forcément necessaire de faire des structures pour cela :
Mafonc(element1 As object, element2 as Object, ByRef Result1 as string, ByRef Result2 as integer)
moutonjr
Messages postés65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention 5 juin 2012 24 nov. 2007 à 20:26
alors j'ai ma fonction Mafonc(byval element1 as object, byval element2 as object, byref reponse1 as string, byref reponse2 as integer) as ???
et aussi après avoir appelé mafonc, on peut utiliser reponse1 et reponse 2 comme si on les avait déclarées dans la sub? ex :
sub Subex
dim e1 as object, e2 as object 'définis...
dim mastr as string, i as integer
call Mafonc(e1,e2)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 nov. 2007 à 20:53
pour tes paramètres de retour, ils doivent etre déclaré avant l'appel de la fonction puisqu'ils doivent etre passés en paramètres
(dans ton exemple tu peux directement passer les variables que tu utilise) :
dim e1 as object, e2 as object 'définis...
dim mastr as string, i as integer
call Mafonc(e1,e2,mastr,i)
Pour le type de retour de ta fonction, effectivement dans ce cas là soit tu retourne une variable style code d'erreur qui et dis si ta fonction s'est bien passée ou non, soit tu n'as plus rien à retourner, et dans ce cas là ta fonction peut devenir une simple procedure.