Problèmes de fonctions non reconnues dans mon script
Posté : lun. 13 mai 2019 15:41
Bonjour à tous et à toutes et je vous remercie d'avance de l'aide que vous me fournirez car je suis assez bloqué.
Je me forme au langage Autoit en suivant les exercices d'Openclassroom.
Pour mon dernier script, j'ai défini deux fonctions à la fin de mon code :
- une pour lire le contenu d'une liste et renseigner une valeur dans une variable
- une autre pour vérifier le status d'un bouton radio.
Sauf que le script m'indique toujours qu'il ne reconnait pas les fonctions définies à la fin.
C'est surement basique pour la plupart des membres de ce forum mais je suis bloqué sur cette erreur.
Merci de l'aide que vous m'apporterez.
Je me forme au langage Autoit en suivant les exercices d'Openclassroom.
Pour mon dernier script, j'ai défini deux fonctions à la fin de mon code :
- une pour lire le contenu d'une liste et renseigner une valeur dans une variable
- une autre pour vérifier le status d'un bouton radio.
Sauf que le script m'indique toujours qu'il ne reconnait pas les fonctions définies à la fin.
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <StringConstants.au3>
#include <WindowsConstants.au3>
#include <Crypt.au3>
global $chemin = ""
Global $algo= ""
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Interface 1", 1108, 525, 195, 129)
$Group1 = GUICtrlCreateGroup("Que voulez vous chiffrer ?", 32, 32, 281, 113)
$rtexte = GUICtrlCreateRadio("texte", 56, 56, 225, 33)
$rfichier = GUICtrlCreateRadio("fichier", 56, 96, 241, 41)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Options", 456, 32, 545, 145)
$mdp = GUICtrlCreateInput("", 568, 56, 161, 21)
$Label1 = GUICtrlCreateLabel("mot de passe", 464, 56, 67, 17)
$Label2 = GUICtrlCreateLabel("Alogrithme :", 768, 64, 59, 17)
global $liste = GUICtrlCreateCombo("RC4", 520, 40, 73, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData($liste,"3DES|AES128|AES192|AES256|DES|RC2")
$chiffrer = GUICtrlCreateButton("Chiffrer", 504, 128, 225, 33)
$dechiffrer = GUICtrlCreateButton("déchiffrer", 752, 128, 233, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Chiffrer un texte", 32, 200, 993, 209)
$texte = GUICtrlCreateEdit("", 48, 232, 953, 161)
GUICtrlSetData(-1, "texte")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("chiffrer un fichier", 32, 424, 1033, 81)
$parcourir = GUICtrlCreateButton("parcourir", 104, 464, 193, 33)
$Label3 = GUICtrlCreateLabel("Chemin du fichier", 376, 456, 85, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $GUI_EVENT_CLOSE
Exit
case $rfichier
GUICtrlSetState($Group4,$GUI_ENABLE)
GUICtrlSetState($parcourir,$GUI_ENABLE)
GUICtrlSetState($Label3,$GUI_ENABLE)
GUICtrlSetState($Group3,$GUI_DISABLE)
GUICtrlSetState($texte,$GUI_DISABLE)
case $texte
GUICtrlSetState($Group4,$GUI_DISABLE)
GUICtrlSetState($parcourir,$GUI_DISABLE)
GUICtrlSetState($Label3,$GUI_DISABLE)
GUICtrlSetState($Group3,$GUI_ENABLE)
GUICtrlSetState($texte,$GUI_ENABLE)
case $parcourir
$sourcefile = FileOpenDialog("tp",@ScriptDir&'\',"tous (*,*)",9)
GUICtrlSetData($Label3,"chemin du fichier : "& $sourcefile)
case $chiffrer
;si on clique sur chiffrer
algo()
if _IsChecked($rfichier) Then ; on crypte le fichier
if $sourcefile = '' Then
MsgBox(0,"tp","choisir un fichier")
ElseIf _Crypt_EncryptFile($sourcefile,$sourcefile&".crypt",GUICtrlRead($mdp),$algo) Then
MsgBox(0,"tp","votre fichier a été crypté")
Else
;on crypte le texte
$cryptdata = _Crypt_EncryptData(GUICtrlRead($texte),GUICtrlRead($mdp),$algo)
GUICtrlSetData($texte,BinaryToString($cryptdata))
EndIf
EndIf
case $dechiffrer
;si on clique sur dechiffrer
algo()
if _IsChecked($rfichier) Then
if $sourcefile = '' Then
MsgBox(0,"tp", " choisir un fichier")
ElseIf _Crypt_DecryptFile($sourcefile,StringLeft($sourcefile,StringLen($sourcefile)-6),GUICtrlRead($mdp),$algo) Then
MsgBox(0,"tp", "votre fichier a été décrypté")
Else
MsgBox(0,"tp","votre fichier n'a pas été décrypté")
EndIf
Else
$cryptdata = _Crypt_EncryptData(GUICtrlRead($texte),GUICtrlRead($mdp),$algo)
GUICtrlSetData($texte,BinaryToString($cryptdata))
EndIf
EndSwitch
WEnd
Func algo()
Switch GUICtrlRead($liste)
Case "3DES"
$algo = $CALG_3DES
Case "DES"
$algo = $CALG_DES
Case "RC2"
$algo = $CALG_RC2
Case "RC4"
$algo = $CALG_RC4
EndSwitch
EndFunc
;Func _IsChecked($control) --> Retourne 1 si le controle est checké, sinon 0
; On fait une comparaison de Bits entre la variable $GUI_CHECKED Et notre valeur de controle. Si le Bit correspondant à l'état checké vaut 1, alors notre BitAnd va renvoyé 1.
Func _IsChecked($control)
Return BitAnd(GUICtrlRead($control),$GUI_CHECKED) = $GUI_CHECKED
EndFunc
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <StringConstants.au3>
#include <WindowsConstants.au3>
#include <Crypt.au3>
global $chemin = ""
Global $algo= ""
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Interface 1", 1108, 525, 195, 129)
$Group1 = GUICtrlCreateGroup("Que voulez vous chiffrer ?", 32, 32, 281, 113)
$rtexte = GUICtrlCreateRadio("texte", 56, 56, 225, 33)
$rfichier = GUICtrlCreateRadio("fichier", 56, 96, 241, 41)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Options", 456, 32, 545, 145)
$mdp = GUICtrlCreateInput("", 568, 56, 161, 21)
$Label1 = GUICtrlCreateLabel("mot de passe", 464, 56, 67, 17)
$Label2 = GUICtrlCreateLabel("Alogrithme :", 768, 64, 59, 17)
global $liste = GUICtrlCreateCombo("RC4", 520, 40, 73, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData($liste,"3DES|AES128|AES192|AES256|DES|RC2")
$chiffrer = GUICtrlCreateButton("Chiffrer", 504, 128, 225, 33)
$dechiffrer = GUICtrlCreateButton("déchiffrer", 752, 128, 233, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Chiffrer un texte", 32, 200, 993, 209)
$texte = GUICtrlCreateEdit("", 48, 232, 953, 161)
GUICtrlSetData(-1, "texte")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("chiffrer un fichier", 32, 424, 1033, 81)
$parcourir = GUICtrlCreateButton("parcourir", 104, 464, 193, 33)
$Label3 = GUICtrlCreateLabel("Chemin du fichier", 376, 456, 85, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $GUI_EVENT_CLOSE
Exit
case $rfichier
GUICtrlSetState($Group4,$GUI_ENABLE)
GUICtrlSetState($parcourir,$GUI_ENABLE)
GUICtrlSetState($Label3,$GUI_ENABLE)
GUICtrlSetState($Group3,$GUI_DISABLE)
GUICtrlSetState($texte,$GUI_DISABLE)
case $texte
GUICtrlSetState($Group4,$GUI_DISABLE)
GUICtrlSetState($parcourir,$GUI_DISABLE)
GUICtrlSetState($Label3,$GUI_DISABLE)
GUICtrlSetState($Group3,$GUI_ENABLE)
GUICtrlSetState($texte,$GUI_ENABLE)
case $parcourir
$sourcefile = FileOpenDialog("tp",@ScriptDir&'\',"tous (*,*)",9)
GUICtrlSetData($Label3,"chemin du fichier : "& $sourcefile)
case $chiffrer
;si on clique sur chiffrer
algo()
if _IsChecked($rfichier) Then ; on crypte le fichier
if $sourcefile = '' Then
MsgBox(0,"tp","choisir un fichier")
ElseIf _Crypt_EncryptFile($sourcefile,$sourcefile&".crypt",GUICtrlRead($mdp),$algo) Then
MsgBox(0,"tp","votre fichier a été crypté")
Else
;on crypte le texte
$cryptdata = _Crypt_EncryptData(GUICtrlRead($texte),GUICtrlRead($mdp),$algo)
GUICtrlSetData($texte,BinaryToString($cryptdata))
EndIf
EndIf
case $dechiffrer
;si on clique sur dechiffrer
algo()
if _IsChecked($rfichier) Then
if $sourcefile = '' Then
MsgBox(0,"tp", " choisir un fichier")
ElseIf _Crypt_DecryptFile($sourcefile,StringLeft($sourcefile,StringLen($sourcefile)-6),GUICtrlRead($mdp),$algo) Then
MsgBox(0,"tp", "votre fichier a été décrypté")
Else
MsgBox(0,"tp","votre fichier n'a pas été décrypté")
EndIf
Else
$cryptdata = _Crypt_EncryptData(GUICtrlRead($texte),GUICtrlRead($mdp),$algo)
GUICtrlSetData($texte,BinaryToString($cryptdata))
EndIf
EndSwitch
WEnd
Func algo()
Switch GUICtrlRead($liste)
Case "3DES"
$algo = $CALG_3DES
Case "DES"
$algo = $CALG_DES
Case "RC2"
$algo = $CALG_RC2
Case "RC4"
$algo = $CALG_RC4
EndSwitch
EndFunc
;Func _IsChecked($control) --> Retourne 1 si le controle est checké, sinon 0
; On fait une comparaison de Bits entre la variable $GUI_CHECKED Et notre valeur de controle. Si le Bit correspondant à l'état checké vaut 1, alors notre BitAnd va renvoyé 1.
Func _IsChecked($control)
Return BitAnd(GUICtrlRead($control),$GUI_CHECKED) = $GUI_CHECKED
EndFunc
Merci de l'aide que vous m'apporterez.