Partagez des fonctions et des UDF AutoIt.
Zippo
Niveau 6
Messages : 243 Enregistré le : mar. 30 nov. 2010 12:50
Status :
Hors ligne
#1
Message
par Zippo » sam. 24 nov. 2012 03:14
Bonsoir tout le monde,
je vous transmet une fonction assez sympathique, elle permet de rendre vos scripts plus "organisés".
Description de la commande :
Ajoute un en-tête classique au script (version d'autoit, l'auteur,fonction du script)
Supprime toutes les fonctions, et les ajoutes à la fin du script avec des commentaires (nom de la fonction, nombres d'arguments, description)
Renvoie le nouveau code source
Description du programme :
Récupère les variables attribués au langage de l'utilisateur (fr)
Récupère les variables dans le config.ini
Ouvre un FileOpenDialog pour sélectionner un fichier AutoIt
Lance la commande _MakeCuteFileAU3([le scriptsource] ,[l'array aStringLang] ,[l'array aConfig] )
Supprime l'ancien fichier généré par le programme
Sauvegarde le nouveau script ([Répertoire du script]\NomDuFichier(cute).au3)
Description de
$aStringLang :
$aStringLang est une variable de type array, elle contient les suites de mots utilisé dans la fonction principale : _MakeCuteFileAU3
Pour la version français l'array se tien comme ceci : Code : Tout sélectionner
$aStringLang[7] = [6,"AutoIt Version","Auteur","Fonction du Script","Nombre d'argument","Description","à compléter"]
Description de
$aConfig :
$aConfig est une variable de type array, elle contient pour l'instant simplement le nom de l'utilisateur.
Exemple :
Script original :► Afficher le texte
Code : Tout sélectionner
Call("Test1")
Call("Test2", "Message from Call()!")
Global $aArgs[4]
$aArgs[0] = "CallArgArray"
$aArgs[1] = "This is a string"
$aArgs[2] = 47
Global $array[2]
$array[0] = "Array Element 0"
$array[1] = "Array Element 1"
$aArgs[3] = $array
Call("Test3", $aArgs)
Local Const $s = "DoesNotExist"
Call($s)
If @error = 0xDEAD And @extended = 0xBEEF Then MsgBox(4096, "", "does not exist.")
Func Test1()
MsgBox(4096, "", "Hello")
EndFunc
Func Test2($sMsg)
MsgBox(4096, "", $sMsg)
EndFunc
Func Test3($sString, $nNumber, $aArray)
MsgBox(4096, "", "The string is: " & @CRLF & $sString)
MsgBox(4096, "", "The number is: " & @CRLF & $nNumber)
For $i = 0 To UBound($aArray) - 1
MsgBox(4096, "", "Array[" & $i & "] contains:" & @CRLF & $aArray[$i])
Next
EndFunc
Script modifier :► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.8.1
Auteur : AutoIt Help
Fonction du Script :
à compléter
#ce ----------------------------------------------------------------------------
Call("Test1")
Call("Test2", "Message from Call()!")
Global $aArgs[4]
$aArgs[0] = "CallArgArray"
$aArgs[1] = "This is a string"
$aArgs[2] = 47
Global $array[2]
$array[0] = "Array Element 0"
$array[1] = "Array Element 1"
$aArgs[3] = $array
Call("Test3", $aArgs)
Local Const $s = "DoesNotExist"
Call($s)
If @error = 0xDEAD And @extended = 0xBEEF Then MsgBox(4096, "", "does not exist.")
;#######################
; Test1
; Nombre d'argument = 0
; Description = à compléter
Func Test1()
MsgBox(4096, "", "Hello")
EndFunc
;#######################
;#######################
; Test2
; Nombre d'argument = 1
; Description = à compléter
Func Test2($sMsg)
MsgBox(4096, "", $sMsg)
EndFunc
;#######################
;#######################
; Test3
; Nombre d'argument = 3
; Description = à compléter
Func Test3($sString, $nNumber, $aArray)
MsgBox(4096, "", "The string is: " & @CRLF & $sString)
MsgBox(4096, "", "The number is: " & @CRLF & $nNumber)
For $i = 0 To UBound($aArray) - 1
MsgBox(4096, "", "Array[" & $i & "] contains:" & @CRLF & $aArray[$i])
Next
EndFunc
;#######################
Attention :
Il est fortement déconseillé d'écrire func dans le script quand ce n'est pas pour créer une fonction. Ce bug sera résolu dans l'avenir ...
Sur ce, merci d'avoir lu
Fichiers joints
CuteSyntaxe.rar
(2.91 Kio) Téléchargé 441 fois
Modifié en dernier par
Zippo le sam. 24 nov. 2012 16:36, modifié 1 fois.
Tlem
Site Admin
Messages : 11784 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#2
Message
par Tlem » sam. 24 nov. 2012 08:13
Merci du partage, mais tel quel, juste à la lecture de votre sujet, on ne sait pas vraiment à quoi sert votre fonction !
Vous devriez rajouter quelques informations.
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#3
Message
par mikell » sam. 24 nov. 2012 10:08
Effectivement, très obscur, aucun commentaire ni mode d'emploi, on dirait du TommyDDR
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Iste
Niveau 11
Messages : 1870 Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status :
Hors ligne
#4
Message
par Iste » sam. 24 nov. 2012 11:12
Je n'ai pas trop regardé les changements effectués au codes, mais comme ca, quelles sont les grosse différences avec Tidy AutoIt Source ?
Signez ici
Zippo
Niveau 6
Messages : 243 Enregistré le : mar. 30 nov. 2010 12:50
Status :
Hors ligne
#5
Message
par Zippo » sam. 24 nov. 2012 16:38
Edit !
Hier soir je me disais bien qu'il manquait quelque chose ...
J'espère que les explications fournis sont parlant !
Iste
Niveau 11
Messages : 1870 Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status :
Hors ligne
#6
Message
par Iste » sam. 24 nov. 2012 21:15
Hum, donc si je comprend bien, cela ne touche pas au code, mais ajoute simplement des commentaires ?
Si c'est bien le cas, je crois qu'on peut trouver un bon exemple générant de la doc AutoIt sur le forum US. Très pratique pour ensuite générer un fichier d'aide.
Signez ici
TommyDDR
Modérateur
Messages : 2102 Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status :
Hors ligne
#7
Message
par TommyDDR » dim. 25 nov. 2012 17:34
mikell a écrit : Effectivement, très obscur, aucun commentaire ni mode d'emploi, on dirait du TommyDDR
TommyDDR n'a malheureusement pas tout le temps tout le temps qu'il voudrait pour commenter son code
^^
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#8
Message
par mikell » dim. 25 nov. 2012 19:10
Je compatis de tout coeur, mais ça ne change rien au problème ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
sylvanie
Niveau 11
Messages : 1556 Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status :
Hors ligne
#9
Message
par sylvanie » lun. 26 nov. 2012 11:39
Et bien moi je trouve l'idée pas mal, car elle ouvre une porte intéressante :
j'y vois un prémisse vers un automatiseur ( peut être que semi mais bon) de balises Doxygen. Si ce petit projet évolue vers ça, là ça risque bien d'envoyer du steak !
Pour l'instant on n'y est pas du tout, mais sincèrement ça m'y fait pas mal songer ...
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Zippo
Niveau 6
Messages : 243 Enregistré le : mar. 30 nov. 2010 12:50
Status :
Hors ligne
#10
Message
par Zippo » dim. 02 déc. 2012 06:45
► Afficher le texte sylvanie
sylvanie a écrit : Et bien moi je trouve l'idée pas mal, car elle ouvre une porte intéressante :
j'y vois un prémisse vers un automatiseur ( peut être que semi mais bon) de balises Doxygen . Si ce petit projet évolue vers ça, là ça risque bien d'envoyer du steak !
Pour l'instant on n'y est pas du tout, mais sincèrement ça m'y fait pas mal songer ...
Merci pour ta suggestion sylvanie je connaissais pas mais sa va me guider pour l'avenir ..