J’espère qu'il seras utile à quelqu'un d'autre et que je n'ai rien oublié
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.10.2
Author: Jeco
Script Function:
Permet de remettre un peu d'ordre dans un fichier .au3
#ce ----------------------------------------------------------------------------
Local $source=FileOpenDialog("ouvrir",@ScriptDir&"\","(*.au3)")
Local $file=FileOpen($Source,0)
Local $array_origi=FileReadToArray($file)
Local $taille=UBound($array_origi)
Local $array_final[$taille]
Local $nb_espace=0
Local $array_split
For $nb=0 to $taille-1
While StringLeft($array_origi[$nb],1)==" " Or StringLeft($array_origi[$nb],1)==" "
$array_origi[$nb]=StringMid($array_origi[$nb],2)
WEnd
$array_split=StringSplit($array_origi[$nb]," ",2)
If UBound($array_split)>0 Then
If StringUpper($array_split[0])=="IF" And Not(StringUpper($array_split[UBound($array_split)-1])=="THEN") Then
$array_final[$nb]=espace($nb_espace)&$array_origi[$nb]
Else
Switch StringUpper($array_split[0])
Case "IF","WHILE","FOR","DO","FUNC","WITH","SWITCH","SELECT"
$array_final[$nb]=espace($nb_espace)&$array_origi[$nb]
$nb_espace+=1
Case "ENDIF","WEND","NEXT","UNTIL","ENDFUNC","ENDWITH","ENDSWITCH","ENDSELECT"
$nb_espace-=1
$array_final[$nb]=espace($nb_espace)&$array_origi[$nb]
Case "CASE","ELSE","ELSEIF"
$array_final[$nb]=espace($nb_espace-1)&$array_origi[$nb]
Case Else
$array_final[$nb]=espace($nb_espace)&$array_origi[$nb]
EndSwitch
EndIf
Else
$array_final[$nb]=espace($nb_espace)&$array_origi[$nb]
EndIf
Next
FileClose($file)
$file=FileOpen($source,2)
For $nb=0 to $taille-1
FileWriteLine($file,$array_final[$nb])
Next
FileClose($file)
Msgbox(0,"fin","Fin du programme =)")
Func espace($nb_final)
Local $return=""
For $nb=0 to $nb_final-1
$return&=" "
Next
return $return
EndFunc