Plein de parametres vers une fonction

cs_JFC Messages postés 5 Date d'inscription dimanche 19 mai 2002 Statut Membre Dernière intervention 16 mai 2005 - 9 sept. 2002 à 21:06
cs_JFC Messages postés 5 Date d'inscription dimanche 19 mai 2002 Statut Membre Dernière intervention 16 mai 2005 - 10 sept. 2002 à 23:34
Bonjour

je suis à la recherche de la syntaxe (si elle existe) pour faire comme en C, lors du passage de parametres a une fonction.
Ex : call F("titi", "toto")
Puis : call F("titi, "toto", "tutu")

existe-t-il un argc/argv ?

Merci d'avance pour les reponses !
;-)

4 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 sept. 2002 à 23:47
2 syntaxes possibles pour la fonction F :

F "titi", "toto"
ou bien
Call F("titi", "toto")
mais pas call F("titi, "toto", "tutu")
si la fonction F attend 2 paramètres.

à moins qu'elle en attende 3, auquel cas
Call F("titi, "toto", "tutu")
Call F("titi, "toto", "")
0
cs_JFC Messages postés 5 Date d'inscription dimanche 19 mai 2002 Statut Membre Dernière intervention 16 mai 2005
10 sept. 2002 à 07:20
Merci pour la réponse mais, le but est d'avoir une fonction dont on ne connait pas le nombre de parametres. Un peu comme en C.
sub F (argc as integer, argv() as variant)
argc = nombre de paramètres
argv = tableau des valeurs passee a la fonction lors de l'execution.

Merci d'avance pour votre aide
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
10 sept. 2002 à 13:45
Salut,

rene38 connait bien mal le VB6...
Il est dommage qu'il te donne de si mauvais espoirs.

Voici ta fonction f comme en C. Tu remarqueras que j'utilises la syntaxe ParaArray qui permet justement de passer un nombre de paramètres aléatoires. Le code interne à cette procédure permet de récupérer les différents paramètres.

Tu peux à présent utiliser ta fonction comme ceci:

call F("titi, "toto", "tutu")

Public Sub f(ParamArray vParametre() As Variant)

Dim I As Integer

For I = LBound(vParametre) To UBound(vParametre)
Debug.Print vParametre(I)
Next I

End Sub

Tchao

NéoB
0
cs_JFC Messages postés 5 Date d'inscription dimanche 19 mai 2002 Statut Membre Dernière intervention 16 mai 2005
10 sept. 2002 à 23:34
Merci beaucoup

Ca fait plaisir d avoir des reponses de pro.

encore merci
0
Rejoignez-nous