Bonjour à tous,
Aujourd'hui, je vous présente un UDF appelé "
All.au3".
Il sert à ajouter automatiquement les include dans un script AutoIt.
Il suffit de mettre les 3 fichiers (All.au3, All.ini et Check.au3) dans le dossier des includes de AutoIt.
Puis dans votre script, mettez simplement :
Et à chaque fois que vous lancerez votre script, le fichier "Check.au3" vérifiera si il contient des fonctions ou des variables présentes dans les UDF par défaut d'AutoIt (les autres UDFs ne sont pas répertoriés
)
ATTENTION :
- Si vous voulez voir les includes ajoutés, il faut redémarrer SciTE !
- Il faut mettre un espace après les variables et les fonctions (ex : "_FileCountLines (...)")
Donc, voila le fichier All.au3 :
► Afficher le texte
Code : Tout sélectionner
#include <File.au3>
FileDelete(@TempDir&"\ext.tmp")
FileWrite(@TempDir&"\ext.tmp",@ScriptName)
_ReplaceStringInFile(@TempDir&"\ext.tmp",".",@CRLF)
$ext = FileReadLine(@TempDir&"\ext.tmp",_FileCountLines(@TempDir&"\ext.tmp"))
FileDelete(@TempDir&"\ext.tmp")
If $ext <> "exe" Then
$Arch = ""
If @OSArch = "x64" Then
$Arch = " (x86)"
EndIf
If FileExists(@ScriptDir&"\art") = 0 Then
FileWrite(@TempDir&"\art2",@ScriptDir&"\"&@ScriptName)
FileWrite(@ScriptDir&"\art","")
ShellExecute(@ProgramFilesDir&$Arch&"\AutoIt3\Include\Check.au3")
Exit
EndIf
If FileExists(@ScriptDir&"\art") = 1 Then
FileDelete(@ScriptDir&"\art")
EndIf
EndIf
Et le fichier Check.au3 :
► Afficher le texte
Code : Tout sélectionner
#include <File.au3>
#include <String.au3>
$FileToCheck = FileRead(@TempDir&"\art2")
FileDelete(@TempDir&"\art2")
$Funcs = ""
$String = FileRead($FileToCheck)
;CHECK FUNC
$Func = _StringBetween ($String,"_"," (")
If UBound($Func) <> 0 Then
For $i2 = 0 To UBound($Func) - 1 Step 1
$ini = IniRead(@ScriptDir&"\All.ini","Func",$Func[$i2],"Error")
If $ini <> "Error" Then
$Funcs = $Funcs&@CRLF&$ini
EndIf
Next
ElseIf UBound($Func) = 0 Then
$ini = IniRead(@ScriptDir&"\All.ini","Func",$Func,"Error")
If $ini <> "Error" Then
$Funcs = $Funcs&@CRLF&$ini
EndIf
EndIf
;END CHECK FUNC
;CHECK VAR
$Func = _StringBetween ($String,"$"," ")
If UBound($Func) <> 0 Then
For $i2 = 0 To UBound($Func) - 1 Step 1
$ini = IniRead(@ScriptDir&"\All.ini","Var",$Func[$i2],"Error")
If $ini <> "Error" Then
$Funcs = $Funcs&@CRLF&$ini
EndIf
Next
ElseIf UBound($Func) = 0 Then
$ini = IniRead(@ScriptDir&"\All.ini","Var",$Func,"Error")
If $ini <> "Error" Then
$Funcs = $Funcs&@CRLF&$ini
EndIf
EndIf
;END CHECK VAR
FileDelete(@TempDir&"\all.tmp")
FileWrite(@TempDir&"\all.tmp",$Funcs)
For $i3 = 2 To _FileCountLines(@TempDir&"\all.tmp") Step 1
$Line = FileReadLine(@TempDir&"\all.tmp",$i3)
If StringInStr($String,$Line) = 0 Then
_FileWriteToLine ($FileToCheck,1,$Line)
EndIf
Next
FileDelete(@TempDir&"\all.tmp")
ShellExecute($FileToCheck)
Exit
Et voici le zip contenant :
- All.au3
- All.ini
- Check.au3
- Exemple.au3
- All.zip
- (40.24 Kio) Téléchargé 331 fois
Voila, en espérant que ça vous servira