je savais pas quoi faire alors j'ai voulu améliorer mon memo
mais voila je suis tombé sur un souci : (Quand on change de memo avec les flèche de droite ou gauche)
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiDateTimePicker.au3>
#include <File.au3>
#include <Misc.au3>
#include <Toast.au3>
#include <Array.au3>
Dim $memo[101]
Dim $heure[101]
Dim $min[101]
Dim $rappel[101]
Dim $date[101]
Global $active = False
Global $nombredememo, $heure, $min, $memo, $memo_fait, $rappel_fait, $memoactuel = 1, $normal = True
Global $fichier = @DesktopDir & "\Memo\Info.ini"
Global $dossier = @DesktopDir & "\Memo"
$nombredememo = IniRead($fichier, "Memo", "Nombre de memo", "1")
For $i = 1 To $nombredememo
$memo[$i] = IniRead($fichier, "Memo" & $i, "Memo", "")
$heure[$i] = IniRead($fichier, "Memo" & $i, "Heure", "")
$min[$i] = IniRead($fichier, "Memo" & $i, "Minute", "")
$rappel[$i] = IniRead($fichier, "Memo" & $i, "Rappel", "")
$date[$i] = IniRead($fichier, "Memo" & $i, "Date", "")
Next
Opt("TrayMenuMode", 1)
Global $Form1 = GUICreate("Memo", 585, 245, 215, 170)
Global $Group_information = GUICtrlCreateGroup("Informations", 160, 32, 265, 145)
Global $Label_memo = GUICtrlCreateLabel("Memo :", 176, 56, 48, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
Global $Label2 = GUICtrlCreateLabel("Heure :", 176, 88, 47, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
Global $Input_memo = GUICtrlCreateInput($memo[1], 232, 56, 169, 21)
Global $Input_heure = GUICtrlCreateInput($heure[1], 232, 88, 25, 21)
Global $Input_min = GUICtrlCreateInput($min[1], 280, 88, 25, 21)
Global $Label_h = GUICtrlCreateLabel("h", 264, 93, 13, 24)
Global $Label_date = GUICtrlCreateLabel("Date :", 184, 120, 39, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
Global $date = _GUICtrlDTP_Create($Form1, 232, 120, 177, 17)
_GUICtrlDTP_SetFormat($date, "d MMMM yyyy")
Global $Label_rappel = GUICtrlCreateLabel("Rappel ", 215, 147, 44, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
Global $Input_rappel = GUICtrlCreateInput($rappel[1], 264, 144, 17, 21)
Global $Label7 = GUICtrlCreateLabel("minute(s) avant", 288, 147, 94, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Label_info = GUICtrlCreateLabel($memoactuel & "/" & $nombredememo, 536, 208, 26, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
Global $bouton_droite = GUICtrlCreateButton("<", 8, 56, 137, 109)
GUICtrlSetFont(-1, 72)
Global $bouton_gauche = GUICtrlCreateButton(">", 432, 56, 137, 109)
GUICtrlSetFont(-1, 72)
Global $bouton_ajouter = GUICtrlCreateButton("+", 160, 184, 65, 57)
GUICtrlSetFont(-1, 60)
Global $bouton_valider = GUICtrlCreateButton("V", 256, 184, 73, 57)
GUICtrlSetFont(-1, 40)
Global $bouton_supprimer = GUICtrlCreateButton("X", 360, 184, 65, 57)
GUICtrlSetFont(-1, 40)
GUISetState(@SW_SHOW)
TraySetIcon("", -1)
TraySetClick("1")
TrayCreateItem("")
$Trayitem1 = TrayCreateItem("Restorer")
TrayCreateItem("")
$Trayitem2 = TrayCreateItem("Quitter")
While 1
$oldinput = GUICtrlRead($Input_rappel)
$oldmemo = $memo[$memoactuel]
If _IsPressed("0D") And WinActive($Form1) Then
actualiser_les_variables()
$active = True
GUISetState(@SW_HIDE, $Form1)
EndIf
$pos = GUIGetCursorInfo()
If $active = True Then
For $i = 1 To $nombredememo
$rappel_en_cour = $heure[$i] & $min[$i] - $rappel[$i]
If $min[$i] - $rappel[$i] = @MIN And $heure[$i] = @HOUR And $date[$i] = date() And $rappel_en_cour <> $rappel_fait Then
If $memo[$i] <> "" Then
_Toast_Show(64, "Memo", "Dans " & $rappel[$memoactuel] & " minute(s) : " & $memo[$i], 1)
Else
_Toast_Show(64, "Memo", "Dans " & $rappel[$memoactuel] & " minute(s) : Rappel sans informations", 1)
EndIf
$rappel_fait = $heure[$i] & $min[$i] - $rappel[$i]
_Toast_Hide()
EndIf
$memo_en_cour = $memo[$i] & $heure[$i] & $min[$i]
If $min[$i] = @MIN And $heure[$i] = @HOUR And $date[$i] = date() And $memo_en_cour <> $memo_fait Then
If $memo[$i] <> "" Then
MsgBox(64, "Memo", "Rappel : " & $memo[$i])
Else
MsgBox(64, "Memo", "Rappel : Sans information")
EndIf
$memo_fait = $memo[$i] & $heure[$i] & $min[$i]
EndIf
Next
EndIf
Global $msg = TrayGetMsg()
Global $nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
actualiser_les_variables()
enregistrement_des_variables()
Exit
Case $nMsg = $bouton_droite
If $memoactuel > 1 Then
actualiser_les_variables()
$memoactuel = $memoactuel - 1
actualiser_les_controls()
EndIf
Case $nMsg = $bouton_gauche
If $memoactuel < $nombredememo Then
actualiser_les_variables()
$memoactuel = $memoactuel + 1
actualiser_les_controls()
EndIf
Case $nMsg = $bouton_ajouter
If $nombredememo < 100 Then
$nombredememo = $nombredememo + 1
GUICtrlSetData($Label_info, $memoactuel & "/" & $nombredememo)
Else
MsgBox(64, "Information", "Vous oublier beaucoup de chose vous :p")
EndIf
Case $nMsg = $bouton_valider
actualiser_les_variables()
$active = True
GUISetState(@SW_HIDE, $Form1)
Case $nMsg = $bouton_supprimer
If $memoactuel = $nombredememo Then
If $nombredememo > 1 Then
$date[$memoactuel] = ""
$rappel[$memoactuel] = ""
$memo[$memoactuel] = ""
$heure[$memoactuel] = ""
$min[$memoactuel] = ""
$memoactuel = $memoactuel - 1
$nombredememo = $nombredememo - 1
actualiser_les_controls()
EndIf
Else
For $i = $memoactuel To $nombredememo
$rappel[$i] = $rappel[$i + 1]
$min[$i] = $min[$i + 1]
$heure[$i] = $heure[$i + 1]
$memo[$i] = $memo[$i + 1]
Next
$nombredememo = $nombredememo - 1
actualiser_les_controls()
EndIf
Case $msg = $Trayitem1
GUISetState(@SW_SHOW, $Form1)
Case $msg = $Trayitem2
actualiser_les_variables()
enregistrement_des_variables()
Exit
EndSelect
If $oldinput <> GUICtrlRead($Input_rappel) And GUICtrlRead($Input_rappel) <> 0 And GUICtrlRead($Input_rappel) <> "" And $oldmemo = $memo[$memoactuel] Then
If GUICtrlRead($Input_memo) = "" Then
_Toast_Show(64, "Memo", "Rappel dans " & GUICtrlRead($Input_rappel) & " minute(s) : votre memo", 1)
_Toast_Hide()
Else
_Toast_Show(64, "Memo", "Rappel dans " & GUICtrlRead($Input_rappel) & " minute(s) : " & GUICtrlRead($Input_memo), 1)
_Toast_Hide()
EndIf
EndIf
WEnd
Func date()
Return @MDAY & " " & @MON & " " & @YEAR
EndFunc ;==>date
Func actualiser_les_controls()
$datemodif = StringSplit($date[$memoactuel], "|")
If $datemodif[0] = 6 Then
$datemodif[0] = False
$datemodif = $datemodif[2] & " " & $datemodif[1] & " " & $datemodif[0]
_GUICtrlDTP_SetSystemTime($date, $datemodif)
EndIf
GUICtrlSetData($Input_heure, $heure[$memoactuel])
GUICtrlSetData($Input_min, $min[$memoactuel])
GUICtrlSetData($Input_rappel, $rappel[$memoactuel])
GUICtrlSetData($Label_info, $memoactuel & "/" & $nombredememo)
GUICtrlSetData($Input_memo, $memo[$memoactuel])
EndFunc ;==>actualiser_les_controls
Func actualiser_les_variables()
$dateold = _GUICtrlDTP_GetSystemTime($date)
If $dateold[2] < 10 Then $dateold[2] = "0" & $dateold[2]
If $dateold[1] < 10 Then $dateold[1] = "0" & $dateold[1]
$date[$memoactuel] = $dateold[2] & " " & $dateold[1] & " " & $dateold[0]
$rappel[$memoactuel] = GUICtrlRead($Input_rappel)
$memo[$memoactuel] = GUICtrlRead($Input_memo)
$heure[$memoactuel] = GUICtrlRead($Input_heure)
$min[$memoactuel] = GUICtrlRead($Input_min)
EndFunc ;==>actualiser_les_variables
Func enregistrement_des_variables()
If Not FileExists($dossier) Then DirCreate($dossier)
If Not FileExists($fichier) Then _FileCreate($fichier)
IniWrite($fichier, "Memo", "Nobre de memo", $nombredememo)
For $i = 1 To $nombredememo
IniWrite($fichier, "Memo" & $i, "Memo", $memo[$i])
IniWrite($fichier, "Memo" & $i, "Heure", $heure[$i])
IniWrite($fichier, "Memo" & $i, "Minute", $min[$i])
IniWrite($fichier, "Memo" & $i, "Rappel", $rappel[$i])
IniWrite($fichier, "Memo" & $i, "Date", $date[$i])
Next
EndFunc ;==>enregistrement_des_variables



