[R] Les fonctions à nombre variable de paramètres
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Les fonctions à nombre variable de paramètres
Bonjour!!
Alors comme écris dans le sujet, comment créer une fonction avec en paramètre n éléments, en C j'ai trouvé mais sous AutoIt cela ne marche pas: http://openclassrooms.com/courses/les-f ... parametres
Alors comme écris dans le sujet, comment créer une fonction avec en paramètre n éléments, en C j'ai trouvé mais sous AutoIt cela ne marche pas: http://openclassrooms.com/courses/les-f ... parametres
Modifié en dernier par sozary le mer. 24 déc. 2014 11:26, modifié 1 fois.
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Les fonctions à nombre variable de paramètres
Je ne pense pas que ce soit possible mais une confirmation serait préférable.
J'utiliserais un "array" pour faire ça :
J'utiliserais un "array" pour faire ça :
Code : Tout sélectionner
Func multiplication(ByRef $resultat, $nombresAMultiplier)
For $nombre In $nombresAMultiplier
$resultat *= $nombre
Next
EndFunc ;==>multiplication
Local $variable = 1
Local $args[] = [2, 5, 3]
multiplication($variable, $args)
ConsoleWrite($variable & @CRLF)
Modifié en dernier par orax le sam. 20 déc. 2014 19:39, modifié 2 fois.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Les fonctions à nombre variable de paramètres
+1 pour la solution d'orax.
Sinon dans l'aide, lisez la documentation de la fonction Call (ou cliquez sur le lien ...) et lisez la section Remarks concernant "CallArgArray".
Sinon dans l'aide, lisez la documentation de la fonction Call (ou cliquez sur le lien ...) et lisez la section Remarks concernant "CallArgArray".
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Les fonctions à nombre variable de paramètres
Je crée une fonction intermédiaire :
IF GuiCtrlRead($monControle) = "xxx" Then Fonction(arguments)
ou encore :
if @GUI_CtrlId = $monControle Then Fonction(arguments)
IF GuiCtrlRead($monControle) = "xxx" Then Fonction(arguments)
ou encore :
if @GUI_CtrlId = $monControle Then Fonction(arguments)
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Les fonctions à nombre variable de paramètres
► Afficher le texte:mrgreen: StringSplit()
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: [..] Les fonctions à nombre variable de paramètres
Je partage l'idée du tableau. Une autre idée, dans la doc : https://www.autoitscript.com/autoit3/do ... s/Func.htm (voir exemple 2 avec @NumParams)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Les fonctions à nombre variable de paramètres
Merci pour toutes ces solutions!
En attendant j'avais moi aussi utilisé l'astuce du tableau! Juste donc jguinch, si j'ai bien compris, dans l'exemple 2, il faut définir tous les arguments possible (donc limités)?
En attendant j'avais moi aussi utilisé l'astuce du tableau! Juste donc jguinch, si j'ai bien compris, dans l'exemple 2, il faut définir tous les arguments possible (donc limités)?
Code : Tout sélectionner
Test_Numparams($v1 = 0, $v2 = 0, $v3 = 0, $v4 = 0, $v5 = 0, $v6 = 0, $v7 = 0, $v8 = 0, $v9 = 0, _
$v10 = 0, $v11 = 0, $v12 = 0, $v13 = 0, $v14 = 0, $v15 = 0, $v16 = 0, $v17 = 0, $v18 = 0, $v19 = 0)"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Re: [..] Les fonctions à nombre variable de paramètres
Oui c'est ça l'idée, donc pas top pour ce que tu veux faire... Mais bon savoir quand même
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Les fonctions à nombre variable de paramètres
De toute façon cette notion de paramètres optionnels à quantité variable n'existe pas en AutoIt, donc il faut contourner le pb
Ce que suggère jguinch est la solution la plus proche même si ça peut être un poil acrobatique à l'utilisation : un certain nombre de params obligatoires à valeur prédéfinie par défaut
Ce que suggère jguinch est la solution la plus proche même si ça peut être un poil acrobatique à l'utilisation : un certain nombre de params obligatoires à valeur prédéfinie par défaut
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Les fonctions à nombre variable de paramètres
Oui en effet!
Merci pour votre aide! Je crois que les tableaux vont rester mes amis pendant encore un peu de temps alors
Merci pour votre aide! Je crois que les tableaux vont rester mes amis pendant encore un peu de temps alors
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli


