Page 1 sur 1
[..] Fonction avec n paramètres
Posté : lun. 03 août 2009 11:58
par Iste
Salutations,
Je m'excuse d'avance si la réponse se trouve pas loin, mais j'ai reelement beaucoup cherché dans la doc, et sur le forum,
Je ne trouve pas comment créer une fonction qui prendrait n paramètres
Pour le moment j'utilise des taleaux, mais maintenant que je doit en envoyer plusieurs, ca devient assez compliqué ^^'
Voila, merci
Re: [..] Fonction avec n paramètres
Posté : lun. 03 août 2009 16:01
par Tlem
Pourriez-vous être un peut plus explicite ?
Un Schéma ?
Un Exemple ?
Une description ?
Re: [..] Fonction avec n paramètres
Posté : lun. 03 août 2009 16:25
par Iste
Hum, je pensais etre assez claire, enfin, pour prendre un exemple simple, j'aimerai refaire la fonction Call()
Donc, je crée une fonction _Call() qui va directement appeler Call()
C'est innutile bien sur, mais c'est un exemple !
Bref, donc j'en arrive a définir la fonction qui dois donc prendre n parametres
Code : Tout sélectionner
Func _Call ( $function , $param1 , $param2 , $param3 , $param4 , $param5 , $paramN )
Enfin, j'espere que cette foi c'est claire
Comme dit, pour le moment j'utilise un array pour me débrouiller, mais c'est pas top, me demande pas mal de calcul etc.
Vala, merci
Re: [..] Fonction avec n paramètres
Posté : lun. 03 août 2009 16:40
par SagePourpre
Exactement la question que je suis en train de me poser ...
Si je trouve l'info, je la poste ici
► Afficher le texte
Et aussi, je ne veux pas perdre de vue ce sujet
Re: [..] Fonction avec n paramètres
Posté : lun. 03 août 2009 18:51
par Tlem
Selon le type de masturbation intellectuelle que vous voulez faire, je dirais qu'il y à deux solutions principale (je parle de solutions simples, hein ...

).
Solution N°1 (ma préférée) :
Vous faite un appel à une fonction de base avec un seul paramètre :
Par contre évidement, ce fameux paramètre va inclure une liste d'autres paramètres qui seront traité dans la fonction appelée.
Exemple :
Code : Tout sélectionner
Call("MonTest", "/parametre1 /parametre2 /parametre3")
Func MonTest($sMsg)
$aMesParametres = StringSplit($sMsg, "/") ; Ici je sépare mes paramètres.
; Ensuite une simple boucle pour les exécuter ...
EndFunc
Solution N°2 (a la bourrin) :
Créez une fonction avec un max de paramètres et appelez cette fonction avec le nombre de paramètre voulut ...
Exemple :
Code : Tout sélectionner
Call("MonTest", "parametre1", "parametre2", "parametre3", "parametre4")
Func MonTest($Param01="", $Param02="", $Param03="", $Param04="", $Param05="", $Param06="", $Param07="", $Param08="", $Param09="", $Param10="")
; Ici je fait le traitement de mes paramètres.
If $Param01 <> "" Then ...
If $Param02 <> "" Then ...
If $Param03 <> "" Then ...
...
EndFunc
N'oubliez pas que vous pouvez aussi appeler une fonction avec comme paramètre un tableau. Dans ce cas, chaque éléments du tableau sera considéré comme paramètre (attention au nombre de paramètres de la fonction

).
Comme je ne sais pas ce que vous voulez exactement faire, ce sera à vous de voir comment gérer ceci. Peut être existe il à votre besoin un solution plus simple.
Re: [..] Fonction avec n paramètres
Posté : dim. 18 sept. 2011 18:24
par PandiPanda
Bonjour,
désoler de remonter ce vieux topic, je me demandais si depuis le temps, une méthode n'existerai pas pour déclarer "n paramètre" d'une fonction.
Sinon je devrai me contenter des méthodes citée dessus ...
Re: [..] Fonction avec n paramètres
Posté : dim. 18 sept. 2011 19:02
par bloodwolff
Re: [..] Fonction avec n paramètres
Posté : dim. 18 sept. 2011 19:05
par PandiPanda
Oui en effet c'est dommage
Merci d'avoir répondu tout de même !
Re: [..] Fonction avec n paramètres
Posté : dim. 18 sept. 2011 19:09
par Tlem
Oui c'est possible.
Vous avez ces deux liens :
http://www.autoitscript.fr/wiki/Les_Fon ... _les_Flags
http://www.autoitscript.fr/forum/viewto ... =11&t=8211
Le principe : 1 seul et unique paramètre, mais qui contiendrait lui même X paramètres avec X options.
Re: [..] Fonction avec n paramètres
Posté : dim. 18 sept. 2011 19:12
par PandiPanda
Merci pour ces informations, j'en prend note
