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

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 :

Code : Tout sélectionner

Func _Call ( $function , $param)
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 :cry:

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 :D