► Afficher le texte
Main_GUI()
Func Main_GUI()
Global $MainGUI = GUICreate("Password Manager", 300, 100)
Local $button_Edit = GUICtrlCreateButton(" Créer mot de passe ",10,40)
Local $button_View = GUICtrlCreateButton(" Mots de passe créées ", 160, 40)
GUISetState(@SW_SHOW, $MainGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $button_Edit
_Gene_Pwd()
Case $button_View
MsgBox("","OUPS","Oh, seems u have forgotten some passwords")
EndSwitch
WEnd
GUIDelete($MainGUI)
EndFunc
Func _IsChecked($control)
Return BitAnd(GUICtrlRead($control),$GUI_CHECKED) = $GUI_CHECKED
EndFunc
Func _Gene_Pwd()
Global $Word=""
GUIDelete($MainGUI)
Global $GeneGUI = GUICreate("Password Manager", 840, 570)
Global $Group_rand = GUICtrlCreateGroup("Mot de passe aléatoire",10,10,400,200)
Global $full_Random = GUICtrlCreateButton(" Créer un mot de passe totalement aléatoire ", 20,40)
Global $set_numbers = GUICtrlCreateInput("Nombre de caractères",20,80,196,20,0x2000)
Global $ChB_Letters = GUICtrlCreateCheckbox("Lettres",20,150)
Global $ChB_Numbers = GUICtrlCreateCheckbox("Nombres",20,170)
Global $set_frequency = GUICtrlCreateCombo("Frequence des lettres",20,110,196,20,0x0003) ; 0x0003 ---------> SCROLL ONLY: CANNOT CHANGE CONTENT
GUICtrlSetData($set_frequency, "1 sur 2|1 sur 3|1 sur 4|1 sur 5|1 sur 6|1 sur 7|1 sur 8|1 sur 9|1 sur 10|Aléatoire")
Global $frequency_details_strict = GUICtrlCreateRadio("Strictement",226,110)
Global $frequency_details_generl = GUICtrlCreateRadio("En général", 306,110)
Global $frequence = 0
Dim $frequency[4]
Global $input_changed=0
Global $reset=0
Global $file_open=""
Global $Group_custom = GUICtrlCreateGroup("Mot de passe personnalisé",430,10,400,200)
Global $custom = GUICtrlCreateButton(" Créer un mot de passe personnalisé ",440,40)
Global $set_file = GUICtrlCreateCombo("Fichier de mots",440,80,180,20,0x0003)
Global $Group_add_file = GUICtrlCreateGroup("Ajouter un fichier de mots",10,220,820,337)
Global $Group_add = GUICtrlCreateGroup("Texte à ajouter",40,340,650,200)
Global $Add_text = GUICtrlCreateEdit("",60,370,400,150)
GUICtrlSetState($Add_text, $GUI_DISABLE)
Global $Modify_file = GUICtrlCreateRadio("Modifier un fichier",20,245)
Global $delete_file = GUICtrlCreateRadio("Supprimer un fichier",20,270)
Global $Create_file = GUICtrlCreateRadio("Créer un fichier",20,295)
Global $file_change = GUICtrlCreateCombo("Fichier à modifier",160,245,120,20,0x0003)
Global $file_delete = GUICtrlCreateCombo("Fichier à supprimer",160,270,120,20,0x0003)
GUICtrlSetState($file_change, $GUI_DISABLE)
GUICtrlSetState($file_delete, $GUI_DISABLE)
$save_change = GUICtrlCreateButton(" Enregistrer les modifications ",490,370)
Global $Result=""
Global $Current_file=""
Global $first = FileFindFirstFile(".\Banque\*.")
While 1
$Name=FileFindNextFile($first)
If @error Then ExitLoop
$Result &= ""&$Name&"|"
WEnd
GUICtrlSetData($set_file,""&$Result)
GUICtrlSetData($file_change,""&$Result)
GUICtrlSetData($file_delete,""&$Result)
GUISetState(@SW_SHOW, $GeneGUI)
While 1
Dim $Window_pos[2]
$Window_pos = WinGetPos("Password Manager")
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $custom
$file=GUICtrlRead($set_file)
$Lines=_FileCountLines(".\Banque\"&$file&"")
MsgBox("","lines",$lines)
$Random_Line = Random(1,$Lines,1)
MsgBox("","word","WORD: "&FileReadLine(".\Banque\"&$file&"",$Random_Line))
Case $save_change
If _IsChecked($Modify_file) Then
$file_open = FileOpen(".\Banque\"&GUICtrlRead($file_change),$FO_OVERWRITE)
FileWrite($file_open,""&GUICtrlRead($Add_text))
FileClose($file_open)
EndIf
If _IsChecked($Create_file) Then
$New_file_name = InputBox("Création d'un fichier","Nom du fichier")
_FileCreate(".\Banque\"&$New_file_name)
$file_open = FileOpen(".\Banque\"&$New_file_name,$FO_OVERWRITE)
FileWrite($file_open,""&GUICtrlRead($Add_text))
FileClose($file_open)
EndIf
GUICtrlSetData($set_file,""&$New_file_name)
GUICtrlSetData($file_change,""&$New_file_name)
GUICtrlSetData($file_delete,""&$New_file_name)
Case $Modify_file And $Create_file And $delete_file
If (_IsChecked($Modify_file) Or _IsChecked($Create_file)) Then
GUICtrlSetState($Add_text, $GUI_ENABLE)
GUICtrlSetState($file_delete, $GUI_DISABLE)
EndIf
If (_IsChecked($Modify_file)) Then
GUICtrlSetState($file_change, $GUI_ENABLE)
$reset=0
EndIf
If (_IsChecked($delete_file)) Then
GUICtrlSetState($file_delete, $GUI_DISABLE)
EndIf
If (_IsChecked($Create_file)Or _IsChecked($delete_file)) Then
GUICtrlSetState($file_change, $GUI_DISABLE)
EndIf
If (((MouseGetPos(0)>$Window_pos[0]+60) And (MouseGetPos(1)>$Window_pos[1]+370)) And ((MouseGetPos(0)<$Window_pos[0]+470) And (MouseGetPos(1)<$Window_pos[1]+520))) Then
$Current_file = GUICtrlRead($file_change)
EndIf
If (((MouseGetPos(0)<$Window_pos[0]+60) Or (MouseGetPos(1)<$Window_pos[1]+370)) Or ((MouseGetPos(0)>$Window_pos[0]+470) Or (MouseGetPos(1)>$Window_pos[1]+520))) Then
If $Current_file = GUICtrlRead($file_change) Then
If _IsChecked($Create_file) And $reset=0 Then
GUICtrlSetData($Add_text,"")
$reset=1
Endif
Else
$Content = FileRead(".\Banque\"&GUICtrlRead($file_change))
GUICtrlSetData($Add_text,$Content)
EndIf
EndIf
EndSwitch
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $full_Random
$How_Many_Characters = GUICtrlRead($set_numbers)
Global $ERROR=0
If (Not _IsChecked($ChB_Letters) And Not _IsChecked($ChB_Numbers)) Or ($How_Many_Characters="Nombre de lettres" Or $How_Many_Characters="" Or $How_Many_Characters=0) Or (_IsChecked($ChB_Letters) And _IsChecked($ChB_Numbers) And Not (_IsChecked($frequency_details_strict) Or _IsChecked($frequency_details_generl))) Then
MsgBox("","ERROR","Vous n'avez pas choisi d'options valides")
$ERROR=1
EndIf
If Not _IsChecked($ChB_Letters) And _IsChecked($ChB_Numbers) And $ERROR=0 Then
For $i=0 To $How_Many_Characters-1
$Rand = Random(0,9,1)
$Word &= $Rand
Next
MsgBox("","Mot de passe généré",""&$Word&"")
$Word=""
EndIf
If _IsChecked($ChB_Letters) And Not _IsChecked($ChB_Numbers) And $ERROR=0 Then
For $i=0 To $How_Many_Characters-1
$Letter = Random(97,122,1)
$Word &= Chr($Letter)
Next
MsgBox("","Mot de passe généré",""&$Word&"")
$Word=""
EndIf
If _IsChecked($ChB_Letters) And _IsChecked($ChB_Numbers) And $ERROR=0 Then
Global $frequency = StringSplit(GUICtrlRead($set_frequency),' ')
If _IsChecked($frequency_details_strict) Then
For $i=1 To $How_Many_Characters
$Letter = Random(97,122,1)
$Word &= Chr($Letter)
If $i = $How_Many_Characters Then
ExitLoop
EndIf
If $frequency[1] = "Aléatoire" Then
$frequence=Random(0,Random(1,40,1),1)
Else
$frequence=$frequency[3]
EndIf
For $j=1 To $frequence-1
$Letter = Random(0,9,1)
$Word &= $Letter
$i += 1
If $i = $How_Many_Characters Then
ExitLoop(2)
EndIf
Next
Next
EndIf
If _IsChecked($frequency_details_generl) Then
For $i=1 To $How_Many_Characters
If $frequency[1] = "Aléatoire" Then
$frequence=Random(0,Random(1,40,1),1)
Else
$frequence=$frequency[3]
EndIf
$Letter_Y_N = Random(0,$frequence,1)
If $Letter_Y_N=0 Then
$Letter = Chr(Random(97,122,1))
Else
$Letter = Random(0,9,1)
EndIf
$Word &= $Letter
Next
EndIf
MsgBox("","Mot de passe généré",""&$Word&"")
$Word=""
EndIf
Case ($ChB_Letters And $ChB_Numbers)
If (_IsChecked($ChB_Letters) And _IsChecked($ChB_Numbers)) Then
GUICtrlSetState($set_frequency, $GUI_ENABLE)
GUICtrlSetState($frequency_details_strict, $GUI_ENABLE)
GUICtrlSetState($frequency_details_generl, $GUI_ENABLE)
ElseIf Not(_IsChecked($ChB_Letters) And _IsChecked($ChB_Numbers)) Then
GUICtrlSetState($set_frequency, $GUI_DISABLE)
GUICtrlSetState($frequency_details_strict, $GUI_DISABLE)
GUICtrlSetState($frequency_details_generl, $GUI_DISABLE)
EndIf
If ((MouseGetPos(0)>($Window_pos[0]+14) And MouseGetPos(1)>($Window_pos[1]+110)) And (MouseGetPos(0)<($Window_pos[0]+218) And MouseGetPos(1)<($Window_pos[1]+127))) And $input_changed=0 Then
GUICtrlSetData($set_numbers,"")
$input_changed=1
ElseIf ((MouseGetPos(0)<($Window_pos[0]+14) Or MouseGetPos(1)<($Window_pos[1]+110)) Or (MouseGetPos(0)>($Window_pos[0]+218) Or MouseGetPos(1)>($Window_pos[1]+127))) And $input_changed=1 And GUICtrlRead($set_numbers)="" Then
GUICtrlSetData($set_numbers,"Nombre de caractères")
$input_changed = 0
EndIf
EndSwitch
WEnd
GUIDelete($GeneGUI)
EndFunc