Voici un petit tuto sur la méthode de création d'un builder en autoit.
Tout d'abord nous allons voir les principes d'un builder(partie théorique) puis après nous verrons comment coder tout-ça.
Un builder? Comment ça fonctionne? (La théorie)
Pour commencer un builder est tout simplement un logiciel qui va écrire dans un autre programme pour que celui-ci récupère des données. Ainsi nous pouvons obtenir grâce à notre builder différent programme sans être obligé de re-compiler à chaque fois la source ce qui peux être très intéressant.
Maintenant que nous savons ce qu'il dois faire comment allons-nous faire?
Pour réaliser cela notre builder à besoin de 2 choses:
- Un fichier cible
- Une donnée à rentrer dans le fichier cible
- Une/des données
- Un délimiteur entre chaque donnée (pour repérer le début et la fin de chaque données)
Maintenant que l'on sais ça on va pouvoir coder
j'ai choisi de commenter chaque ligne je pense que cela est suffisant cependant si vous ne comprenez pas n'hésiter pas à demander
Notre Builder
Code : Tout sélectionner
$texte1 = "notre 1er texte"
$texte2 = "notre 2e texte"
$texte3 = "notre 3e texte"
;On demande où enregistrer notre fichier final
$Fichier_final = FileSaveDialog("Ou sauvegarder le .exe?",-1,"exe files (*.exe)", 16)
If @error Then ; Si on clic sur le bouton annulé
MsgBox(64,"Erreur","Sauvegarde annulé") ;on informe l'utilisateur
Else ; sinon
; On copie notre stub(donc notre fichier attendant les données)
FileCopy(@ScriptDir&"\Stub.exe",$Fichier_final)
; On écrit dans le fichier copier qui correspond au stub toute les données voulus.
; Les ~\0/~ étant nos délimiteurs.
FileWrite($Fichier_final, @CRLF & "~\0/~" & $texte1 &"~\0/~" & $texte2 & "~\0/~" & $texte3 & "~\0/~")
FileClose($Fichier_final); on ferme notre fichier
MsgBox(64, "Succès","Le fichier a était créé avec succès") ;on informe l'utilisateur
EndIf ;fin de la condition
Code : Tout sélectionner
;On split notre fichier c'est à dire qu'on va diviser la chaîne en sous-chaînes en fonction de notre délimiteurs
$Donnees = StringSplit(FileRead(@ScriptFullPath), "~\0/~", 1)
$1texte = $Donnees[2] ;on prend la 2e valeur car [1] vaut "MZ"
$2texte = $Donnees[3] ;je pense que la vous avez compris
$3texte = $Donnees[4]
MsgBox(0,"",$1texte & @CRLF & $2texte & @CRLF & $3texte)
Voila fin du tuto en espérant vous avoir fait comprendre le principe des stub en autoit