;~ #NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\raat.ico #AutoIt3Wrapper_Outfile=Agearat2.1.exe #AutoIt3Wrapper_Compression=0 #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Res_Language=1036 #AutoIt3Wrapper_Add_Constants=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs ---------------------------------------------------------------------------- AutoIt Version: 3.2.10.0 Author: Damian Iste Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include ;~ Opt('MustDeclareVars', 1) $Annimalem = "rat" $Annimalema = "Rat" $Files = "c:\agedesrats.ini" ;@ProgramFilesDir &$Annimalem& $Dossier = @ProgramFilesDir & "\Agedes" & $Annimalema & "s" $SousDossier = $Dossier & "\Data" $FCouleur = "\Pref.ini" $FListe = "\Liste.ini" ; $Dossier&$FListe $NombreDOnglet = 10 $close = -1 $F2 = -1 $F3 = -1 $F4 = -1 $F5 = -1 $BoutonAfficherGraphique = -1 Global $rat[101] Global $listView[101] Global $ratpoi[101] Global $check[101] Global $t[101] Global $c[101] Global $Qc[101] Global $save[101] Global $IniCouleurs[101] Global $Create[101][2] Global $Ac[101] Global $irat[5] Global $oTliste[1] Global $oTrats[1] $graph = -1 $Aslider = -1 $Aok = -1 $Aannuler = -1 $Aappliquer = -1 $Adefaut = -1 $Asliderinfo = -1 $Odefaut = -1 $pd = -1 $pp = -1 $pa = -1 $ps = -1 $rattab = -1 $pneo = -1 $dx = -1 $dy = -1 $color = -1 $xD = -1 $Qnbmoisi = -1 $QLi = -1 $Qmoni = -1 $Qyeari = -1 $BoutonAfficherGraphiqueC1 = -1 $Ozoomx = -1 $Ozoomy = -1 $Oauto = -1 $Omanuel = -1 $Odebujour = -1 $Ofinjour = -1 $Odiference = -1 $Odebutgramme = -1 $Ofingramme = -1 $Ook = -1 $Oannuler = -1 $Oappliquer = -1 $BoutonCalendrier = -1 $AchoixFond = -1 $AchoiTrait = -1 $Achoimarge = -1 $Achoitexte = -1 $AcF = -1 $AcTe = -1 $AcTr = -1 $AcM = -1 Global $colonne[37][2] Global $Qd[2] Global $mousse[5] ;~ valeur fixe $oAppli = 0 $menu = 0 $Ody = 500 $Odyi = 0 $Odx = 365 * 3 $Odxi = 0 $Omxi = 1 $Omyi = 1 $dxi = 0 $dyi = 0 $mxi = 1 $myi = 1 $dx = 365 * 3 $dy = 500 $Automatiqueoubienmanuel = 0 DirCreate($SousDossier) If Not FileExists($Dossier & $FListe) Then IniWrite($Dossier & $FListe, "Info liste", "Autre", "oui") EndIf If Not FileExists($Dossier & $FCouleur) Then DirCreate($Dossier) For $i = 0 To 100 $Create[$i][0] = $i Next $Create[1][1] = 255 $Create[2][1] = 16711680 $Create[3][1] = 0x00FF00 $Create[4][1] = 0xFFFF00 $Create[5][1] = 0xFF00FF $Create[6][1] = 0x00FFFF $Create[7][1] = 0x9300FF $Create[8][1] = 0xFF9300 $Create[9][1] = 0x0093FF $Create[10][1] = 0xFF0093 $Create[11][1] = 0x0000BF $Create[12][1] = 0xBF0000 $Create[13][1] = 0x00BF00 $Create[14][1] = 0xBFBF00 $Create[15][1] = 0xBF00BF $Create[16][1] = 0x00BFBF $Create[17][1] = 0x6F00BF $Create[18][1] = 0xBF6F00 $Create[19][1] = 0x006FBF $Create[20][1] = 0xBF006F $Create[21][1] = 0x5555FF $Create[22][1] = 0xFF5555 $Create[23][1] = 0x55FF55 $Create[24][1] = 0xFFFF55 $Create[25][1] = 0xFF55FF $Create[26][1] = 0x55FFFF $Create[27][1] = 0xB755FF $Create[28][1] = 0xFFB755 $Create[29][1] = 0x55B7FF $Create[30][1] = 0xFF55B7 $Create[31][1] = 0xAAAAFF $Create[32][1] = 0xFFAAAA $Create[33][1] = 0xAAFFAA $Create[34][1] = 0xFFFFAA $Create[35][1] = 0xFFAAFF $Create[36][1] = 0xAAFFFF $Create[37][1] = 0xDBAAFF $Create[38][1] = 0xFFDBAA $Create[39][1] = 0xAADBFF $Create[40][1] = 0xFFAADB $Create[41][1] = 0x4A4AB5 $Create[42][1] = 0xB54A4A $Create[43][1] = 0x4AB54A $Create[44][1] = 0xB5B54A $Create[45][1] = 0xB54AB5 $Create[46][1] = 0x4AB5B5 $Create[47][1] = 0x884AB5 $Create[48][1] = 0xB5884A $Create[49][1] = 0x4A88B5 $Create[50][1] = 0xB54A88 $Create[51][1] = 0x93FF00 $Create[52][1] = 0x00FF93 $Create[53][1] = 0xFFD900 $Create[54][1] = 0xBE8341 $Create[55][1] = 0x48953E $Create[56][1] = 0 $Create[57][1] = 0x8787CD $Create[58][1] = 0x87CDCD $Create[59][1] = 0xFF8080 $Create[60][1] = 0x0080FF $Create[61][1] = 0x6FBF00 $Create[62][1] = 0x00BF6F $Create[63][1] = 0xBFA300 $Create[64][1] = 0x8E6231 $Create[65][1] = 0x2C5A25 $Create[66][1] = 0x555555 $Create[67][1] = 0xCD8787 $Create[68][1] = 0xAF87CD $Create[69][1] = 0xFFFF80 $Create[70][1] = 0xFF80C0 $Create[71][1] = 0xB7FF55 $Create[72][1] = 0x55FFB7 $Create[73][1] = 0xFFDD55 $Create[74][1] = 0xD3AC81 $Create[75][1] = 0x66BA5A $Create[76][1] = 0x6A6A6A $Create[77][1] = 0x87CD87 $Create[78][1] = 0xCDAF87 $Create[79][1] = 0x80FF80 $Create[80][1] = 0xFF80FF $Create[81][1] = 0xDBFFAA $Create[82][1] = 0xAAFFDB $Create[83][1] = 0xFFF2AA $Create[84][1] = 0xEAD6BF $Create[85][1] = 0xABDAA5 $Create[86][1] = 0x9F9F9F $Create[87][1] = 0xCDCD87 $Create[88][1] = 0x87AFCD $Create[89][1] = 0x00FF80 $Create[90][1] = 0x408080 $Create[91][1] = 0x88B54A $Create[92][1] = 0x4AB588 $Create[93][1] = 0xB5A54A $Create[94][1] = 0x9F8260 $Create[95][1] = 0x55844F $Create[96][1] = 0xD4D4D4 $Create[97][1] = 0xCD87CD $Create[98][1] = 0xCD87AF $Create[99][1] = 0x80FFFF $Create[100][1] = 0x209F56 IniWriteSection($Dossier & $FCouleur, "Couleurs", $Create, 1) IniWrite($Dossier & $FCouleur, "Graphique", "Fond", "0xffffff") IniWrite($Dossier & $FCouleur, "Graphique", "Trait", "0xf0f0f0") IniWrite($Dossier & $FCouleur, "Graphique", "Texte", "0x000000") IniWrite($Dossier & $FCouleur, "Graphique", "Marge", "0xf0f0f0") EndIf For $i = 1 To 100 $c[$i] = IniRead($Dossier & $FCouleur, "Couleurs", $i, 0) Next For $i = 1 To 100 $Ac[$i] = $c[$i] Next _InitialiserListeRats() $NombreDOnglet = IniRead("", "Info", "NombreDOnglet", 10) $F1 = GUICreate("Age des " & $Annimalem & "s", 380, 220) $DateDeDepart = GUICtrlCreateDate("", 5, 0, 200, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de naissance du " & $Annimalem) GUICtrlCreateLabel("Date de naissance du " & $Annimalem, 10, 20, 200, 20) $ComboDateDeRat = GUICtrlCreateCombo("", 250, 00, 120, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetTip(-1, "Selectioner la date de naissance d'un " & $Annimalem & " pré-enregistré") $DateDeCalcul = GUICtrlCreateDate("", 5, 40, 200, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de comparaison") GUICtrlCreateLabel("Date de comparaison", 10, 60, 200, 20) $BoutonAujourdhui = GUICtrlCreateButton("Aujourd'hui", 250, 40, 120, 20) GUICtrlSetTip(-1, "Selectioner la date d'aujourd'hui") $BoutonAjouterRat = GUICtrlCreateButton("Ajouter " & $Annimalem & "", 250, 60, 80, 20) GUICtrlSetTip(-1, "Ajouter un " & $Annimalem & " à la liste (ou recréer un " & $Annimalem & " déja existant (toutes les données seront perdu))") $BoutonSupprimerRat = GUICtrlCreateButton("Suppr", 330, 60, 40, 20) GUICtrlSetTip(-1, "Supprimer un " & $Annimalem & " de la liste") $InputNomDuRat = GUICtrlCreateInput("Nom", 250, 80, 120, 20) GUICtrlSetTip(-1, "Nom du " & $Annimalem & " à créer") $DateDeCreationDuRat = GUICtrlCreateDate("", 250, 100, 120, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de naissance du " & $Annimalem & " à créer (ou à modifier)") $InputAgeDuRat = GUICtrlCreateInput("Age du " & $Annimalem, 10, 100, 200, 20, $ES_READONLY) GUICtrlSetTip(-1, "Age du " & $Annimalem) GUICtrlSetBkColor(-1, 0xf9f9f9) $InputAgeDuRatEnJours = GUICtrlCreateInput("Nb jours", 10, 120, 200, 20, $ES_READONLY) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en nombre de jours - semaines") GUICtrlSetBkColor(-1, 0xf9f9f9) IniWriteSection($Files, "", "") $Link = GUICtrlCreateLabel("http://sita-rats.fr", 10, 205, 80, 20) GUICtrlSetColor(-1, 0x0000d0) GUICtrlSetCursor($Link, 0) GUICtrlCreateLabel("Quand le " & $Annimalem & " aura :", 10, 145, 200, 20) GUICtrlCreateLabel("Ans", 12, 165, 50, 20) GUICtrlCreateLabel("Mois", 62, 165, 50, 20) GUICtrlCreateLabel("Jours", 112, 165, 50, 20) GUICtrlCreateLabel("Semaines", 217, 165, 55, 20) $da = GUICtrlCreateInput("0", 10, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en années") $dm = GUICtrlCreateInput("0", 60, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en mois") $dj = GUICtrlCreateInput("0", 110, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en jours") $calg = GUICtrlCreateButton("Calcul", 160, 180, 50, 20) GUICtrlSetTip(-1, "Calculer à quelle date le " & $Annimalem & " aura l'age : années+mois+jours") $ds = GUICtrlCreateInput("0", 215, 180, 55, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en semaines") $cald = GUICtrlCreateButton("Calcul", 270, 180, 50, 20) GUICtrlSetTip(-1, "Calculer à quelle date le " & $Annimalem & " aura ce nombre de semaines") $BoutonMode = GUICtrlCreateButton("Avancé", 322, 165, 54, 50) GUICtrlSetTip(-1, "Basculer vers le mode avancé") $options = GUICtrlCreateButton("Options", 250, 120, 120, 20) GUICtrlSetTip(-1, "Ouvrir le menu des options") _inicombo() GUISetState() While 1 $button = GUIGetMsg(1) Select Case $button[0] = $GUI_EVENT_CLOSE If $button[1] = $F1 Then ExitLoop If $button[1] <> $F1 And $button[1] <> $F5 Then GUIDelete($button[1]) If $button[1] = $F5 Then For $i = 1 To 100 IniWrite($Dossier & $FCouleur, "Couleurs", $i, $Ac[$i]) $c[$i] = $Ac[$i] Next If $oAppli = 1 Then _MAJcombo() GUIDelete($button[1]) EndIf Case $button[0] = $BoutonAujourdhui GUICtrlSetData($DateDeCalcul, _NowCalc()) _CalculDeLAge() Case $button[0] = $ComboDateDeRat ;utilisation d'ini GUICtrlSetData($DateDeDepart, (IniRead($Files, (GUICtrlRead($ComboDateDeRat)), "ddn", "0000/00/00"))) GUICtrlSetData($DateDeCreationDuRat, (IniRead($Files, (GUICtrlRead($ComboDateDeRat)), "ddn", "0000/00/00"))) GUICtrlSetData($InputNomDuRat, (GUICtrlRead($ComboDateDeRat))) _CalculDeLAge() Case $button[0] = $BoutonAjouterRat ;utilisation d'ini, adapter a Aray <<>> <<>> If (GUICtrlRead($InputNomDuRat)) <> "Nom" Then _ObtenirListeAllRats($irat) ;~ _ArrayDisplay($irat) For $i = 1 To $irat[0] $continuer = 6 If $irat[$i] = (GUICtrlRead($InputNomDuRat)&".ini") Then $continuer = MsgBox(4, "Ajouter rat", "Un rat portant ce nom existe déja, voulez-vous l'écraser ?") ExitLoop EndIf Next If $continuer = 6 Then $sea = StringRight((StringLeft((GUICtrlRead($DateDeCreationDuRat)), 10)), 4) $sem = StringRight((StringLeft((GUICtrlRead($DateDeCreationDuRat)), 5)), 2) $sej = StringRight((StringLeft((GUICtrlRead($DateDeCreationDuRat)), 2)), 2) IniWriteSection($SousDossier & "\" & (GUICtrlRead($InputNomDuRat)) & ".ini", "Info", "ddn=" & $sea & "/" & $sem & "/" & $sej) ;~ $save[0] = GUICtrlRead($ComboDateDeRat) ;~ For $u = 1 To $NombreDOnglet ;~ $save[$u] = GUICtrlRead($ratpoi[$u]) ;~ Next If IniRead($Dossier&$FListe,"Info liste","Autre", "non") = "oui" Then GUICtrlSetData($ComboDateDeRat, (GUICtrlRead($InputNomDuRat))) For $u = 1 To $NombreDOnglet GUICtrlSetData($ratpoi[$u], (GUICtrlRead($InputNomDuRat))) Next _ObtenirListeOuiRats($irat) If $save[0] = 0 Then For $i = 1 To $irat[0] GUICtrlSetData($ComboDateDeRat, $irat[$i]) Next EndIf EndIf ;~ _GUICtrlComboBox_SelectString($ComboDateDeRat, $save[0]) ;~ For $u = 1 To $NombreDOnglet ;~ If $save[$u] = 0 Then ;~ For $i = 1 To $irat[0] ;~ GUICtrlSetData($ratpoi[$u], $irat[$i]) ;~ Next ;~ EndIf ;~ _GUICtrlComboBox_SelectString($ratpoi[$u], $save[$u]) ;~ Next ;~ For $u = 1 To $NombreDOnglet ;~ If GUICtrlRead($ratpoi[$u]) = GUICtrlRead($InputNomDuRat) Then _GUICtrlListView_DeleteAllItems($listView[$u]) ;~ Next _InitialiserListeRats() EndIf EndIf Case $button[0] = $DateDeDepart _CalculDeLAge() Case $button[0] = $DateDeCalcul _CalculDeLAge() Case $button[0] = $BoutonSupprimerRat ;utilisation d'ini, adapter a Aray <<>> <<>> If MsgBox(1 + 16 + 256, "Supprimer ?", "Supprimer le rat " & GUICtrlRead($InputNomDuRat) & " etes-vous sûr(e) ?" & @CRLF & "Toutes les informations le concernants seront perdues") = 1 Then FileDelete($SousDossier & "\" & (GUICtrlRead($InputNomDuRat)) & ".ini") If $menu = 1 Then For $u = 1 To $NombreDOnglet If GUICtrlRead($InputNomDuRat) = GUICtrlRead($ratpoi[$u]) Then GUICtrlSetData($rat[$u], $Annimalema & " " & $u) _GUICtrlListView_DeleteAllItems($listView[$u]) GUICtrlSetState($check[$u], $GUI_UNCHECKED) EndIf Next EndIf $save[0] = GUICtrlRead($ComboDateDeRat) If $menu = 1 Then For $u = 1 To $NombreDOnglet $save[$u] = GUICtrlRead($ratpoi[$u]) Next EndIf GUICtrlDelete($ComboDateDeRat) $ComboDateDeRat = GUICtrlCreateCombo("", 250, 00, 120, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) If $menu = 1 Then For $u = 1 To $NombreDOnglet GUICtrlDelete($ratpoi[$u]) $ratpoi[$u] = GUICtrlCreateCombo("", 585, 20, 92, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) Next EndIf _ObtenirListeOuiRats($irat) For $i = 1 To $irat[0] _GUICtrlComboBox_AddString($ComboDateDeRat, $irat[$i]) If $menu = 1 Then For $u = 1 To $NombreDOnglet _GUICtrlComboBox_AddString($ratpoi[$u], $irat[$i]) Next EndIf Next _GUICtrlComboBox_SelectString($ComboDateDeRat, $save[0]) If $menu = 1 Then For $u = 1 To $NombreDOnglet _GUICtrlComboBox_SelectString($ratpoi[$u], $save[$u]) Next EndIf ;~ _GUICtrlComboBox_SelectString($ComboDateDeRat, $save[0]) ;~ For $u = 1 To $NombreDOnglet ;~ _GUICtrlComboBox_SelectString($ratpoi[$u], $save[$u]) ;~ Next _InitialiserListeRats() EndIf Case $button[0] = $calg $CD0 = StringSplit(GUICtrlRead($DateDeDepart), "/") GUICtrlSetData($DateDeCalcul, (_DateAdd("Y", (GUICtrlRead($da)), $CD0[3] & "/" & $CD0[2] & "/" & $CD0[1]))) $CD0 = StringSplit(GUICtrlRead($DateDeCalcul), "/") GUICtrlSetData($DateDeCalcul, (_DateAdd("M", (GUICtrlRead($dm)), $CD0[3] & "/" & $CD0[2] & "/" & $CD0[1]))) $CD0 = StringSplit(GUICtrlRead($DateDeCalcul), "/") GUICtrlSetData($DateDeCalcul, (_DateAdd("D", (GUICtrlRead($dj)), $CD0[3] & "/" & $CD0[2] & "/" & $CD0[1]))) _CalculDeLAge() Case $button[0] = $cald $CD0 = StringSplit(GUICtrlRead($DateDeDepart), "/") GUICtrlSetData($DateDeCalcul, (_DateAdd("w", (GUICtrlRead($ds)), $CD0[3] & "/" & $CD0[2] & "/" & $CD0[1]))) _CalculDeLAge() Case $button[0] = $BoutonMode If $menu = 0 Then $menu = 1 advence() Else $menu = 0 clasik() EndIf Case 1 = 0; ################ mod advence ############## ################ mod advence ############## ################ mod advence ############## Case $button[0] = $graph $mousse = GUIGetCursorInfo($F2) If $mousse[3] = 1 Then $gpath = FileSaveDialog("Enregistrer graphique sous", @DesktopCommonDir, "Images (*.bmp)", -1, @YEAR & "." & @MON & "." & @MDAY & "." & @HOUR & "." & @MIN & "." & @SEC & ".bmp", $F2) If $gpath <> "" Then GUICtrlSetState($F2, $GUI_FOCUS) _ScreenCapture_CaptureWnd($gpath, $F2, -1, -1, -1, -1, 0) MsgBox("", "", "Immage enregistrée !" & @CRLF & @DesktopCommonDir & "\" & @YEAR & "." & @MON & "." & @MDAY & "." & @HOUR & "." & @MIN & "." & @SEC & ".bmp") EndIf Else GUIDelete($F2) EndIf Case $button[0] = $BoutonAfficherGraphique graf() Case $button[0] = $rattab ;adapter a Aray <<>>nglet For $i = 1 To $NombreDOnglet If GUICtrlRead($rattab, 1) = $rat[$i] Then GUICtrlSetBkColor($color, $c[$i]) EndIf Next Case $button[0] = $pa ;utilisation d'ini, adapter a Aray <<>> <<>> For $u = 1 To $NombreDOnglet If GUICtrlRead($rattab, 1) = $rat[$u] Then If GUICtrlRead($ratpoi[$u]) <> "" Then $CDx1 = (IniRead($SousDossier & "\" & (GUICtrlRead($ratpoi[$u])) & ".ini", "Info", "ddn", "0000/00/00")) $CDx2 = StringSplit(GUICtrlRead($pd), "/") $iDateCalcx = _DateDiff('D', $CDx1, $CDx2[3] & "/" & $CDx2[2] & "/" & $CDx2[1]) IniWrite($SousDossier & "\" & GUICtrlRead($ratpoi[$u]) & ".ini", "Poid", GUICtrlRead($pd), GUICtrlRead($pp)) EndIf EndIf Next inilist() Case $button[0] = $ps ;adapter a Aray <<>> utilisation d'ini <<>> For $i = 1 To $NombreDOnglet If GUICtrlRead($rattab, 1) = $rat[$i] Then While (GUICtrlRead($listView[$i])) <> 0 $CDx2 = StringSplit(GUICtrlRead(GUICtrlRead($listView[$i])), "|") IniDelete($SousDossier & "\" & (GUICtrlRead($ratpoi[$i])) & ".ini", "Poid", $CDx2[1]) GUICtrlDelete(GUICtrlRead($listView[$i])) WEnd EndIf Next inilist() Case $button[0] = $pneo ;adapter a Aray utilisation d'ini <<>> For $u = 1 To $NombreDOnglet If GUICtrlRead($rattab, 1) = $rat[$u] Then GUICtrlSetData(GUICtrlRead($rattab, 1), $Annimalema & " " & $NombreDOnglet) GUICtrlSetData($ratpoi[$u], "") GUICtrlSetState($check[$u], $GUI_UNCHECKED) $irat = IniReadSectionNames($Files) For $i = 1 To $irat[0] GUICtrlSetData($ratpoi[$u], $irat[$i]) Next _GUICtrlListView_DeleteAllItems($listView[$u]) EndIf Next Case $button[0] = $color ;adapter a Aray <<>> For $i = 1 To $NombreDOnglet If GUICtrlRead($rattab, 1) = $rat[$i] Then $coulor = _ChooseColor(2, $c[$i], 2, $F1) If $coulor <> -1 Then $c[$i] = $coulor GUICtrlSetBkColor($color, $c[$i]) EndIf Next Case $button[0] = $Link ShellExecute(GUICtrlRead($Link)) Case $button[0] = $BoutonCalendrier Calendar() Case $button[0] = $Qyeari If StringLen(GUICtrlRead($Qyeari)) = 5 Then GUICtrlSetData($Qyeari, StringLeft(GUICtrlRead($Qyeari), 1) & StringRight(GUICtrlRead($Qyeari), 3)) EndIf Case $button[0] = $BoutonAfficherGraphiqueC1 ;affichage des options du graphique, ranjoutr un bouton RAZ $F4 = GUICreate("Options", 246, 200, -1, -1, -1, -1, $F1) GUICtrlCreateLabel("Zoom x (%)", 6, 11) $Ozoomx = GUICtrlCreateInput($Omxi * 100, 66, 6, 44) GUICtrlSetTip(-1, "Réglages du zoom horizontal") GUICtrlCreateUpdown(-1, $UDS_ARROWKEYS) GUICtrlCreateLabel("Zoom y (%)", 114, 11) $Ozoomy = GUICtrlCreateInput($Omyi * 100, 174, 6, 44) GUICtrlSetTip(-1, "Réglages du zoom vertical") GUICtrlCreateUpdown(-1, $UDS_ARROWKEYS) $Oauto = GUICtrlCreateRadio("Adapter aux rats selectionés", 6, 30) GUICtrlSetTip(-1, "Ajuster le graphique automatiquement aux données des rats sélectionés") If $Automatiqueoubienmanuel = 1 Then GUICtrlSetState(-1, $GUI_CHECKED) $Omanuel = GUICtrlCreateRadio("Paramètre personalisés", 6, 50) GUICtrlSetTip(-1, "Ajuster le graphique suivant les paramètre indiqués ci dessous") If $Automatiqueoubienmanuel = 0 Then GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlCreateLabel("Début (jours)", 6, 77) $Odebujour = GUICtrlCreateInput($Odxi, 70, 72, 31) GUICtrlSetTip(-1, "Début du graphique en jours") GUICtrlCreateLabel("Fin en jours", 6, 97) $Ofinjour = GUICtrlCreateInput($Odx + $Odxi, 65, 92, 31) GUICtrlSetTip(-1, "Fin du graphique en jours") GUICtrlCreateLabel("Différence", 101, 97) $Odiference = GUICtrlCreateInput($Odx, 160, 92, 31) GUICtrlSetTip(-1, "Largeur du graphique en jours") GUICtrlCreateLabel("Début (grammes)", 6, 117) $Odebutgramme = GUICtrlCreateInput($Odyi, 90, 112, 31) GUICtrlSetTip(-1, "Début du graphique en grammes") GUICtrlCreateLabel("Fin (grammes)", 6, 137) $Ofingramme = GUICtrlCreateInput($Ody + $Odyi, 90, 132, 31) GUICtrlSetTip(-1, "Fin du graphique en grammes") $Odefaut = GUICtrlCreateButton("Défaut", 168, 130, 75, 23) GUICtrlSetTip(-1, "Appliquer les paramètres par défauts") $Ook = GUICtrlCreateButton("OK", 6, 165, 75, 23) GUICtrlSetTip(-1, "Appliquer les informations et fermer la fenêtre") $Oannuler = GUICtrlCreateButton("Annuler", 87, 165, 75, 23) GUICtrlSetTip(-1, "Annuler et quitter") $Oappliquer = GUICtrlCreateButton("Appliquer", 168, 165, 75, 23) GUICtrlSetTip(-1, "Appliquer les informations") GUISetState() Case $button[0] = $Ozoomx If GUICtrlRead($Ozoomx) <= 1 Then GUICtrlSetData($Ozoomx, 1) $Omxi = GUICtrlRead($Ozoomx) / 100 Case $button[0] = $Ozoomy If GUICtrlRead($Ozoomy) <= 1 Then GUICtrlSetData($Ozoomy, 1) $Omyi = GUICtrlRead($Ozoomy) / 100 Case $button[0] = $Oauto $Automatiqueoubienmanuel = 1 Case $button[0] = $Omanuel $Automatiqueoubienmanuel = 0 Case $button[0] = $Odebujour GUICtrlSetData($Odiference, GUICtrlRead($Ofinjour) - GUICtrlRead($Odebujour)) Case $button[0] = $Ofinjour GUICtrlSetData($Odiference, GUICtrlRead($Ofinjour) - GUICtrlRead($Odebujour)) Case $button[0] = $Odiference GUICtrlSetData($Ofinjour, GUICtrlRead($Odebujour) + GUICtrlRead($Odiference)) Case $button[0] = $Odebutgramme GUICtrlSetData($Odiference, GUICtrlRead($Ofinjour) - GUICtrlRead($Odebujour)) Case $button[0] = $Odefaut GUICtrlSetData($Odebujour, "0") GUICtrlSetData($Ofinjour, "1095") GUICtrlSetData($Odiference, "1095") GUICtrlSetData($Odebutgramme, "0") GUICtrlSetData($Ofingramme, "500") Case $button[0] = $Oappliquer $Ody = GUICtrlRead($Ofingramme) - GUICtrlRead($Odebutgramme) $Odyi = GUICtrlRead($Odebutgramme) $Odx = GUICtrlRead($Ofinjour) - GUICtrlRead($Odebujour) $Odxi = GUICtrlRead($Odebujour) $mxi = $Omxi $myi = $Omyi Case $button[0] = $Ook $Ody = GUICtrlRead($Ofingramme) - GUICtrlRead($Odebutgramme) $Odyi = GUICtrlRead($Odebutgramme) $Odx = GUICtrlRead($Ofinjour) - GUICtrlRead($Odebujour) $Odxi = GUICtrlRead($Odebujour) GUIDelete($F4) $mxi = $Omxi $myi = $Omyi Case $button[0] = $Oannuler GUIDelete($F4) Case $button[0] = $options;affichage des options $F5 = GUICreate("Options", 610, 400, -1, -1, -1, -1, $F1) ; 270 400 $oAppli = 0 $AcF = IniRead($Dossier & $FCouleur, "Graphique", "Fond", "0xffffff") $AcTe = IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0xffffff") $AcTr = IniRead($Dossier & $FCouleur, "Graphique", "Trait", "0xffffff") $AcM = IniRead($Dossier & $FCouleur, "Graphique", "Marge", "0xffffff") GUICtrlCreateGroup("Groupe", 0, 1, 329, 395) $ogTree = GUICtrlCreateTreeView(8, 16, 185, 370, $TVS_HASBUTTONS + $TVS_LINESATROOT + $TVS_HASLINES + $TVS_CHECKBOXES) $ogButtonCreerGroupe = GUICtrlCreateButton("Créer groupe", 200, 32, 120, 20, 0) $ogButtonSpprimerGroupe = GUICtrlCreateButton("Supprimer groupe", 200, 57, 120, 20, 0) $ogInputNomduGroupe = GUICtrlCreateInput("Nom du groupe", 200, 82, 120, 21) $ogButtonEditergroupe = GUICtrlCreateButton("Editer groupe", 200, 121, 120, 20, 0) $ogInputNomduGroupee = GUICtrlCreateInput("Nom du groupe", 200, 145, 120, 21) $ogButtonEditergroupe = GUICtrlCreateButton("Qui suis-je ?", 200, 213, 120, 20, 0) $Button4 = GUICtrlCreateButton("Button2", 200, 238, 120, 20, 0) $Input2 = GUICtrlCreateInput("Input1", 200, 263, 120, 21) $Button5 = GUICtrlCreateButton("Button1", 200, 300, 120, 20, 0) $Input3 = GUICtrlCreateInput("Input1", 200, 325, 120, 21) $Date1 = GUICtrlCreateDate("2009/02/15 14:49:17", 200, 350, 120, 25) ;########### Affichage de le liste de les groupes ########## $oIniReadSection = IniReadSection($Dossier & $FListe, "Info liste") ReDim $oTliste[$oIniReadSection[0][0]][3] $oTi = 0 $onbcal = 0 While 1 $oTi += 1 For $oi = 1 To $oIniReadSection[0][0] $oSplit = StringSplit($oIniReadSection[$oi][0], "/") If $oTi = 1 And $oSplit[0] = 1 Then $oTliste[$onbcal][0] = $oSplit[$oTi] $oTliste[$onbcal][1] = GUICtrlCreateTreeViewItem($oSplit[$oTi], $ogTree) $oTliste[$onbcal][2] = $oIniReadSection[$oi][0] If $oIniReadSection[$oi][1] = "oui" Then _GUICtrlTreeView_SetChecked($ogTree, $oTliste[$onbcal][1], "true") $onbcal += 1 ElseIf $oTi = $oSplit[0] Then For $oi2 = 1 To $oIniReadSection[0][0] $oSplit2 = StringSplit($oIniReadSection[$oi2][0], "/") If $oSplit2[0] = $oSplit[0] - 1 Then If $oSplit2[$oTi - 1] = $oSplit[$oTi - 1] Then For $oi3 = 0 To $oIniReadSection[0][0] - 1 If $oTliste[$oi3][0] = $oSplit2[$oTi - 1] Then $oTliste[$onbcal][0] = $oSplit[$oTi] $oTliste[$onbcal][1] = GUICtrlCreateTreeViewItem($oSplit[$oTi], $oTliste[$oi3][1]) $oTliste[$onbcal][2] = $oIniReadSection[$oi][0] _GUICtrlTreeView_SetState($ogTree, $oTliste[$oi3][1], $TVIS_EXPANDED) If $oIniReadSection[$oi][1] = "oui" Then _GUICtrlTreeView_SetChecked($ogTree, $oTliste[$onbcal][1], "true") $onbcal += 1 EndIf Next EndIf EndIf Next EndIf Next If $onbcal >= $oIniReadSection[0][0] Then ExitLoop WEnd $oIniReadSectionNames = IniReadSectionNames($Dossier & $FListe) ReDim $oTrats[$oIniReadSectionNames[0] - 1] For $oi = 2 To $oIniReadSectionNames[0] For $oi2 = 0 To UBound($oTliste, 1) - 1 If IniRead($Dossier & $FListe, $oIniReadSectionNames[$oi], "Groupe", "Autre") = $oTliste[$oi2][2] Then $split = StringSplit($oIniReadSectionNames[$oi], ".") $oTrats[$oi - 2] = GUICtrlCreateTreeViewItem($split[1], $oTliste[$oi2][1]) _GUICtrlTreeView_SetState($ogTree, $oTliste[$oi2][1], $TVIS_EXPANDED) If IniRead($Dossier & $FListe, $oIniReadSectionNames[$oi], "Afficher", "oui") = "oui" Then _GUICtrlTreeView_SetChecked($ogTree, $oTrats[$oi - 2], "true") EndIf Next Next ;~ _ArrayDisplay($oTrats) _GUICtrlTreeView_Sort($ogTree) ;########### Affichage de le liste de les groupes ########## $OxA = 335 $OyA = 5 GUICtrlCreateGroup("Options du menu avancé", $OxA - 5, $OyA - 5, 280, 370) GUICtrlSetTip(-1, "Modifier ces paramètres nécécite de relancer le mode avancé") GUICtrlCreateLabel("Nombre d'onglets ", 6 + $OxA, 10 + $OyA) GUICtrlSetTip(-1, "Modifier ce paramètre nécécite de relancer le mode avancé") $Aslider = GUICtrlCreateSlider(0 + $OxA, 26 + $OyA, 270) GUICtrlSetTip(-1, "Modifier ce paramètre nécécite de relancer le mode avancé") GUICtrlSetData(-1, $NombreDOnglet) $Asliderinfo = GUICtrlCreateInput("", 110 + $OxA, 50 + $OyA, 50, -1, 0x0001) GUICtrlSetTip(-1, "Modifier ce paramètre nécécite de relancer le mode avancé") GUICtrlSetData($Asliderinfo, $NombreDOnglet) GUICtrlCreateLabel("Couleurs par defaut", 6 + $OxA, 80 + $OyA) GUICtrlSetTip(-1, "Modifier ce paramètre nécécite de relancer le mode avancé") $Ax = 0 $Ay = 0 For $Ai = 1 To 100 $Ac[$Ai] = $c[$Ai] $IniCouleurs[$Ai] = GUICtrlCreateLabel("", 35 + $Ax + $OxA, 100 + $Ay + $OyA, 20, 20) GUICtrlSetTip(-1, "Modifier ce paramètre nécécite de relancer le mode avancé") GUICtrlSetBkColor(-1, $c[$Ai]) $Ax += 20 If $Ax >= 200 Then $Ax = 0 $Ay += 20 EndIf Next $Adefaut = GUICtrlCreateButton("Défaut", 97.5 + $OxA, 305 + $OyA, 75, 23) GUICtrlSetTip(-1, "Couleurs par défauts") $AchoixFond = GUICtrlCreateLabel("Fond", $OxA, 335 + $OyA, 67.5, 20, $SS_CENTER) GUICtrlSetTip(-1, "Modifier la couleur de fond du graphique" & @CRLF & "Clic droit + Clic gauche pour retablir la couleur par defaut") GUICtrlSetBkColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Fond", "0xffffff")) GUICtrlSetColor(-1, 0xffffff - (IniRead($Dossier & $FCouleur, "Graphique", "Fond", "0xffffff"))) $AchoiTrait = GUICtrlCreateLabel("Traits", $OxA + 67.5, 335 + $OyA, 67.5, 20, $SS_CENTER) GUICtrlSetTip(-1, "Modifier la couleur des traits de repère du graphique" & @CRLF & "Clic droit + Clic gauche pour retablir la couleur par defaut") GUICtrlSetBkColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Trait", "0xf0f0f0")) GUICtrlSetColor(-1, 0xffffff - (IniRead($Dossier & $FCouleur, "Graphique", "Trait", "0xf0f0f0"))) $Achoitexte = GUICtrlCreateLabel("Texte", $OxA + 135, 335 + $OyA, 67.5, 20, $SS_CENTER) GUICtrlSetTip(-1, "Modifier la couleur du texte et des graduations" & @CRLF & "Clic droit + Clic gauche pour retablir la couleur par defaut") GUICtrlSetBkColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000")) GUICtrlSetColor(-1, 0xffffff - (IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000"))) $Achoimarge = GUICtrlCreateLabel("Marge", $OxA + 202.5, 335 + $OyA, 67.5, 20, $SS_CENTER) GUICtrlSetTip(-1, "Modifier la couleur de fond de la marge du grphique" & @CRLF & "Clic droit + Clic gauche pour retablir la couleur par defaut") GUICtrlSetBkColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Marge", "0xf0f0f0")) GUICtrlSetColor(-1, 0xffffff - (IniRead($Dossier & $FCouleur, "Graphique", "Marge", "0xf0f0f0"))) $Aok = GUICtrlCreateButton("OK", $OxA + 16.5, 375, 75, 23) GUICtrlSetTip(-1, "Appliquer les informations et fermer la fenêtre") $Aannuler = GUICtrlCreateButton("Annuler", $OxA + 97.5, 375, 75, 23) GUICtrlSetTip(-1, "Annuler et quitter") $Aappliquer = GUICtrlCreateButton("Appliquer", $OxA + 178.5, 375, 75, 23) GUICtrlSetTip(-1, "Appliquer les informations") GUISetState() Case $button[0] = $Aslider GUICtrlSetData($Asliderinfo, GUICtrlRead($Aslider)) Case $button[0] = $Asliderinfo GUICtrlSetData($Aslider, GUICtrlRead($Asliderinfo)) Case $button[0] = $AchoiTrait $mousse = GUIGetCursorInfo($F5) If $mousse[3] = 1 Then $AcTr = 0xf0f0f0 GUICtrlSetBkColor($AchoiTrait, $AcTr) GUICtrlSetColor($AchoiTrait, 0xffffff - $AcTr) Else $coulor = _ChooseColor(2, $AcTr, 2, $F5) If $coulor <> -1 Then $AcTr = $coulor GUICtrlSetBkColor($AchoiTrait, $AcTr) GUICtrlSetColor($AchoiTrait, 0xffffff - $AcTr) EndIf EndIf Case $button[0] = $AchoixFond $mousse = GUIGetCursorInfo($F5) If $mousse[3] = 1 Then $AcF = 0xffffff GUICtrlSetBkColor($AchoixFond, $AcF) GUICtrlSetColor($AchoixFond, 0xffffff - $AcF) Else $coulor = _ChooseColor(2, $AcF, 2, $F5) If $coulor <> -1 Then $AcF = $coulor GUICtrlSetBkColor($AchoixFond, $AcF) GUICtrlSetColor($AchoixFond, 0xffffff - $AcF) EndIf EndIf Case $button[0] = $Achoitexte $mousse = GUIGetCursorInfo($F5) If $mousse[3] = 1 Then $AcTe = 0x000000 GUICtrlSetBkColor($Achoitexte, $AcTe) GUICtrlSetColor($Achoitexte, 0xffffff - $AcTe) Else $coulor = _ChooseColor(2, $AcTe, 2, $F5) If $coulor <> -1 Then $AcTe = $coulor GUICtrlSetBkColor($Achoitexte, $AcTe) GUICtrlSetColor($Achoitexte, 0xffffff - $AcTe) EndIf EndIf Case $button[0] = $Achoimarge $mousse = GUIGetCursorInfo($F5) If $mousse[3] = 1 Then $AcM = 0xf0f0f0 GUICtrlSetBkColor($Achoimarge, $AcM) GUICtrlSetColor($Achoimarge, 0xffffff - $AcM) Else $coulor = _ChooseColor(2, $AcM, 2, $F5) If $coulor <> -1 Then $AcM = $coulor GUICtrlSetBkColor($Achoimarge, $AcM) GUICtrlSetColor($Achoimarge, 0xffffff - $AcM) EndIf EndIf Case $button[0] = $Aok $NombreDOnglet = GUICtrlRead($Aslider) IniWrite($Dossier & $FCouleur, "Info", "NombreDOnglet", $NombreDOnglet) For $i = 1 To 100 IniWrite($Dossier & $FCouleur, "Couleurs", $i, $Ac[$i]) $c[$i] = $Ac[$i] Next IniWrite($Dossier & $FCouleur, "Graphique", "Fond", $AcF) IniWrite($Dossier & $FCouleur, "Graphique", "Trait", $AcTr) IniWrite($Dossier & $FCouleur, "Graphique", "Texte", $AcTe) IniWrite($Dossier & $FCouleur, "Graphique", "Marge", $AcM) For $i = 0 To UBound($oTliste, 1) - 1 If _GUICtrlTreeView_GetChecked($ogTree, $oTliste[$i][1]) = True Then IniWrite($Dossier & $FListe, "Info liste", $oTliste[$i][2], "oui") Else IniWrite($Dossier & $FListe, "Info liste", $oTliste[$i][2], "non") EndIf Next For $i = 0 To UBound($oTrats) - 1 ;~ MsgBox("",$Dossier&$FListe,GUICtrlRead($oTrats[$i] ,1)) If _GUICtrlTreeView_GetChecked($ogTree, $oTrats[$i]) = True Then IniWrite($Dossier & $FListe, GUICtrlRead($oTrats[$i], 1) & ".ini", "Afficher", "oui") Else IniWrite($Dossier & $FListe, GUICtrlRead($oTrats[$i], 1) & ".ini", "Afficher", "non") EndIf Next GUIDelete($F5) For $i = 1 To 100 $IniCouleurs[$i] = 0 Next _MAJcombo() Case $button[0] = $Aappliquer $oAppli = 1 $NombreDOnglet = GUICtrlRead($Aslider) IniWrite($Dossier & $FCouleur, "Info", "NombreDOnglet", $NombreDOnglet) For $i = 1 To 100 IniWrite($Dossier & $FCouleur, "Couleurs", $i, $Ac[$i]) $c[$i] = $Ac[$i] Next For $i = 0 To UBound($oTliste, 1) - 1 If _GUICtrlTreeView_GetChecked($ogTree, $oTliste[$i][1]) = True Then IniWrite($Dossier & $FListe, "Info liste", $oTliste[$i][2], "oui") Else IniWrite($Dossier & $FListe, "Info liste", $oTliste[$i][2], "non") EndIf Next For $i = 0 To UBound($oTrats) - 1 ;~ MsgBox("",$Dossier&$FListe,GUICtrlRead($oTrats[$i] ,1)) If _GUICtrlTreeView_GetChecked($ogTree, $oTrats[$i]) = True Then IniWrite($Dossier & $FListe, GUICtrlRead($oTrats[$i], 1) & ".ini", "Afficher", "oui") Else IniWrite($Dossier & $FListe, GUICtrlRead($oTrats[$i], 1) & ".ini", "Afficher", "non") EndIf Next IniWrite($Dossier & $FCouleur, "Graphique", "Fond", $AcF) IniWrite($Dossier & $FCouleur, "Graphique", "Trait", $AcTr) IniWrite($Dossier & $FCouleur, "Graphique", "Texte", $AcTe) IniWrite($Dossier & $FCouleur, "Graphique", "Marge", $AcM) Case $button[0] = $Aannuler GUIDelete($F5) For $i = 1 To 100 $IniCouleurs[$i] = 0 Next If $oAppli = 1 Then _MAJcombo() Case $button[0] = $Adefaut $Ac[1] = 255 $Ac[2] = 16711680 $Ac[3] = 0x00FF00 $Ac[4] = 0xFFFF00 $Ac[5] = 0xFF00FF $Ac[6] = 0x00FFFF $Ac[7] = 0x9300FF $Ac[8] = 0xFF9300 $Ac[9] = 0x0093FF $Ac[10] = 0xFF0093 $Ac[11] = 0x0000BF $Ac[12] = 0xBF0000 $Ac[13] = 0x00BF00 $Ac[14] = 0xBFBF00 $Ac[15] = 0xBF00BF $Ac[16] = 0x00BFBF $Ac[17] = 0x6F00BF $Ac[18] = 0xBF6F00 $Ac[19] = 0x006FBF $Ac[20] = 0xBF006F $Ac[21] = 0x5555FF $Ac[22] = 0xFF5555 $Ac[23] = 0x55FF55 $Ac[24] = 0xFFFF55 $Ac[25] = 0xFF55FF $Ac[26] = 0x55FFFF $Ac[27] = 0xB755FF $Ac[28] = 0xFFB755 $Ac[29] = 0x55B7FF $Ac[30] = 0xFF55B7 $Ac[31] = 0xAAAAFF $Ac[32] = 0xFFAAAA $Ac[33] = 0xAAFFAA $Ac[34] = 0xFFFFAA $Ac[35] = 0xFFAAFF $Ac[36] = 0xAAFFFF $Ac[37] = 0xDBAAFF $Ac[38] = 0xFFDBAA $Ac[39] = 0xAADBFF $Ac[40] = 0xFFAADB $Ac[41] = 0x4A4AB5 $Ac[42] = 0xB54A4A $Ac[43] = 0x4AB54A $Ac[44] = 0xB5B54A $Ac[45] = 0xB54AB5 $Ac[46] = 0x4AB5B5 $Ac[47] = 0x884AB5 $Ac[48] = 0xB5884A $Ac[49] = 0x4A88B5 $Ac[50] = 0xB54A88 $Ac[51] = 0x93FF00 $Ac[52] = 0x00FF93 $Ac[53] = 0xFFD900 $Ac[54] = 0xBE8341 $Ac[55] = 0x48953E $Ac[56] = 0 $Ac[57] = 0x8787CD $Ac[58] = 0x87CDCD $Ac[59] = 0xFF8080 $Ac[60] = 0x0080FF $Ac[61] = 0x6FBF00 $Ac[62] = 0x00BF6F $Ac[63] = 0xBFA300 $Ac[64] = 0x8E6231 $Ac[65] = 0x2C5A25 $Ac[66] = 0x555555 $Ac[67] = 0xCD8787 $Ac[68] = 0xAF87CD $Ac[69] = 0xFFFF80 $Ac[70] = 0xFF80C0 $Ac[71] = 0xB7FF55 $Ac[72] = 0x55FFB7 $Ac[73] = 0xFFDD55 $Ac[74] = 0xD3AC81 $Ac[75] = 0x66BA5A $Ac[76] = 0x6A6A6A $Ac[77] = 0x87CD87 $Ac[78] = 0xCDAF87 $Ac[79] = 0x80FF80 $Ac[80] = 0xFF80FF $Ac[81] = 0xDBFFAA $Ac[82] = 0xAAFFDB $Ac[83] = 0xFFF2AA $Ac[84] = 0xEAD6BF $Ac[85] = 0xABDAA5 $Ac[86] = 0x9F9F9F $Ac[87] = 0xCDCD87 $Ac[88] = 0x87AFCD $Ac[89] = 0x00FF80 $Ac[90] = 0x408080 $Ac[91] = 0x88B54A $Ac[92] = 0x4AB588 $Ac[93] = 0xB5A54A $Ac[94] = 0x9F8260 $Ac[95] = 0x55844F $Ac[96] = 0xD4D4D4 $Ac[97] = 0xCD87CD $Ac[98] = 0xCD87AF $Ac[99] = 0x80FFFF $Ac[100] = 0x209F56 For $Ai = 1 To 100 GUICtrlSetBkColor($IniCouleurs[$Ai], $Ac[$Ai]) Next ;~ Case $button[0] = $GUI_EVENT_PRIMARYDOWN ;~ $clic = GUIGetCursorInfo($F5) ;~ _ArrayDisplay($clic) ;~ Case $button[0] = $GUI_EVENT_PRIMARYUP ;~ $declic = GUIGetCursorInfo($F5) ;~ If $clic[4]<>$declic[4]Then MsgBox("","drag","and drop !") Case $button[0] > 0 If $button[1] = $F1 Then $calcul = StringSplit(GUICtrlRead($button[0]), "|") If $calcul[0] = 4 Then $calcul2 = StringSplit($calcul[1], "/") GUICtrlSetData($pd, $calcul2[3] & "/" & $calcul2[2] & "/" & $calcul2[1]) GUICtrlSetData($pp, $calcul[3]) EndIf EndIf If $button[1] = $F3 Then EndIf EndSelect For $i = 1 To $NombreDOnglet Select Case $button[0] = $ratpoi[$i] And $button[0] <> 0 GUICtrlSetState($check[$i], $GUI_CHECKED) GUICtrlSetData($rat[$i], GUICtrlRead($ratpoi[$i])) _GUICtrlListView_DeleteAllItems($listView[$i]) $calcul = IniReadSection($SousDossier & "\" & (GUICtrlRead($ratpoi[$i])) & ".ini", "Poid") If Not @error Then $CDx1 = (IniRead($SousDossier & "\" & (GUICtrlRead($ratpoi[$i])) & ".ini", "Info", "ddn", "0000/00/00")) For $u = 1 To $calcul[0][0] $CDx2 = StringSplit(($calcul[$u][0]), "/") $iDateCalcx = _DateDiff('D', $CDx1, $CDx2[3] & "/" & $CDx2[2] & "/" & $CDx2[1]) GUICtrlCreateListViewItem($calcul[$u][0] & "|" & $iDateCalcx & "|" & $calcul[$u][1], $listView[$i]) Next $t[$i] = True _GUICtrlListView_SimpleSort($listView[$i], $t[$i], 1) EndIf Case $button[0] = $listView[$i] And $button[0] <> 0 _GUICtrlListView_SimpleSort($listView[$i], $t[$i], 1) EndSelect Next For $i = 1 To 100 If $button[0] = $IniCouleurs[$i] And $button[0] <> 0 Then $coulor = _ChooseColor(2, $Ac[$i], 2, $F5) If $coulor <> -1 Then $Ac[$i] = $coulor GUICtrlSetBkColor($IniCouleurs[$i], $Ac[$i]) EndIf EndIf Next WEnd Func _CalculDeLAge() ;<<>> <<>> $ca1 = StringRight((StringLeft((GUICtrlRead($DateDeDepart)), 10)), 4) $cm1 = StringRight((StringLeft((GUICtrlRead($DateDeDepart)), 5)), 2) $cj1 = StringRight((StringLeft((GUICtrlRead($DateDeDepart)), 2)), 2) $ca2 = StringRight((StringLeft((GUICtrlRead($DateDeCalcul)), 10)), 4) $cm2 = StringRight((StringLeft((GUICtrlRead($DateDeCalcul)), 5)), 2) $cj2 = StringRight((StringLeft((GUICtrlRead($DateDeCalcul)), 2)), 2) $ca = $ca2 - $ca1 $cm = $cm2 - $cm1 $cj = $cj2 - $cj1 If $cj < 0 Then $cj = $cj + 30 $cm = $cm - 1 EndIf If $cm < 0 Then $cm = $cm + 12 $ca = $ca - 1 EndIf $CD1 = StringSplit(GUICtrlRead($DateDeDepart), "/") $CD2 = StringSplit(GUICtrlRead($DateDeCalcul), "/") $iDateCalc = _DateDiff('D', $CD1[3] & "/" & $CD1[2] & "/" & $CD1[1], $CD2[3] & "/" & $CD2[2] & "/" & $CD2[1]) GUICtrlSetData($InputAgeDuRatEnJours, $iDateCalc & "jour(s) - " & Int($iDateCalc / 7) & "semaine(s)") GUICtrlSetData($InputAgeDuRat, $ca & "an(s) " & $cm & "mois " & $cj & "jour(s)") GUICtrlSetData($da, $ca) GUICtrlSetData($dm, ($cm + (12 * $ca))) GUICtrlSetData($dj, $iDateCalc) GUICtrlSetData($ds, Int($iDateCalc / 7)) EndFunc ;==>_CalculDeLAge Func graf() ;<<>> <<>> $m = 25 ;~ $iDateCalcx age ;~ $calcul[$i][1] poid If $Automatiqueoubienmanuel = 1 Then $vdy = $Ody $vdyi = $Odyi $vdx = $Odx $vdxi = $Odxi $dejafait = 0 For $u = 1 To $NombreDOnglet If _GUICtrlButton_GetCheck($check[$u]) <> 0 Then $calcul = IniReadSection($SousDossier & "\" & (GUICtrlRead($ratpoi[$u])) & ".ini", "Poid") If Not @error Then $CDx1 = (IniRead($SousDossier & "\" & (GUICtrlRead($ratpoi[$u])) & ".ini", "Info", "ddn", "0000/00/00")) For $i = 1 To $calcul[0][0] $CDx2 = StringSplit(($calcul[$i][0]), "/") $iDateCalcx = _DateDiff('D', $CDx1, $CDx2[3] & "/" & $CDx2[2] & "/" & $CDx2[1]) If $dejafait = 0 Then $dejafait = 1 $vdy = $calcul[$i][1] $vdyi = $calcul[$i][1] $vdx = $iDateCalcx $vdxi = $iDateCalcx EndIf If Int($calcul[$i][1]) < Int($vdyi) Then $vdyi = $calcul[$i][1] If Int($calcul[$i][1]) > Int($vdy) Then $vdy = $calcul[$i][1] If Int($iDateCalcx) < Int($vdxi) Then $vdxi = $iDateCalcx If Int($iDateCalcx) > Int($vdx) Then $vdx = $iDateCalcx Next EndIf EndIf Next $dy = ($vdy - $vdyi + $m * 2) * $myi $dyi = $vdyi - $m $dx = ($vdx - $vdxi + $m * 2) * $mxi $dxi = $vdxi - $m Else $dy = $Ody * $myi $dyi = $Odyi $dx = $Odx * $mxi $dxi = $Odxi EndIf $gx = $dx + (2 * $m) $gy = $dy + (2 * $m) $F2 = GUICreate("Graphique", $gx, $gy, -1, -1, $WS_POPUP) $graph = GUICtrlCreateGraphic(0, 0, $gx, $gy) GUICtrlSetBkColor($graph, IniRead($Dossier & $FCouleur, "Graphique", "Fond", "0xffffff")) $x = $m $y = $gy - $m ;~ ############## trait gris moche ################# &@CRLF& $i = ($gx - (2 * $m)) + $dxi * $mxi $z = 0 - $dxi * $mxi $aiDays = StringSplit("31,28,31,30,31,30,31,31,30,31,30,31", ",") $mois = 1 GUICtrlSetGraphic($graph, $GUI_GR_COLOR, IniRead($Dossier & $FCouleur, "Graphique", "Trait", "0xf0f0f0"), 0xf0f0f0) While ($i >= ($aiDays[$mois]) * $mxi) $z = $z + $aiDays[$mois] * $mxi $i = $i - $aiDays[$mois] * $mxi $mois = $mois + 1 If $mois > 12 Then $mois = 1 If $z > 0 Then GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x + $z, $y + 1) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x + $z, $m) EndIf WEnd $i = ($gy - (2 * $m)) $z = 0 While ($i >= 100) $z = $z + 100 $i = $i - 100 If $z > 0 Then GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x + 1, $y - $z) GUICtrlSetGraphic($graph, $GUI_GR_LINE, ($gx - $m), $y - $z) EndIf WEnd ;~ ########### debut du dessinage !! ~############ &@CRLF& [$u] For $u = 1 To $NombreDOnglet $Gnombredepoint = _GUICtrlListView_GetItemCount($listView[$u]) For $i = 0 To $Gnombredepoint - 1 $GJ = _GUICtrlListView_GetItem($listView[$u], $i, 1) $GP = _GUICtrlListView_GetItem($listView[$u], $i, 2) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x + ($GJ[3] - $dxi) * $mxi, $y - ($GP[3] - $dyi) * $myi) GUICtrlSetGraphic($graph, $GUI_GR_COLOR, $c[$u], $c[$u]) If $i < $Gnombredepoint - 1 Then $GJ = _GUICtrlListView_GetItem($listView[$u], $i + 1, 1) $GP = _GUICtrlListView_GetItem($listView[$u], $i + 1, 2) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x + ($GJ[3] - $dxi) * $mxi, $y - ($GP[3] - $dyi) * $myi) GUICtrlSetGraphic($graph, $GUI_GR_COLOR, $c[$u], $c[$u]) EndIf Next Next ;~ ################ TRucs gradués ########### GUICtrlSetGraphic($graph, $GUI_GR_COLOR, IniRead($Dossier & $FCouleur, "Graphique", "Marge", "0xf0f0f0"), 0xf0f0f0) For $it = 0 To $m - 1 GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $it, 0) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $it, $gy) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $gx - $it, 0) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $gx - $it, $gy) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, 0, $it) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $gx, $it) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, 0, $gy - $it) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $gx, $gy - $it) Next GUICtrlSetGraphic($graph, $GUI_GR_COLOR, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000"), 0x000000) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x, $y) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x, $m) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x, $y) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $gx - $m, $y) $z = 000 GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x, $y - $z) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x - 5, $y - $z) GUICtrlCreateLabel($z + $dyi, $x - 25, ($y - $z) - 6, 150, 200, $SS_SIMPLE) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000")) GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x, $y - $z) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x - 5, $y - $z) $datededebutdegraphique = StringRight(_DateAdd('d', $dxi, "2001/01/01"), 8) $datededebutdegraphique = StringSplit($datededebutdegraphique, "/") $datededebutdegraphique[1] = Int($datededebutdegraphique[1]) - 1 $datededebutdegraphique[2] = Int($datededebutdegraphique[2]) - 1 $datededebutdegraphique[3] = Int($datededebutdegraphique[3]) - 1 GUICtrlCreateLabel($datededebutdegraphique[3] & "/" & $datededebutdegraphique[2] & "/" & $datededebutdegraphique[1], $x - 10, $y + 7, 150, 200, $SS_SIMPLE) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000")) $i = ($gy - (2 * $m)) $z = 0 While ($i >= 100) $z = $z + 100 $i = $i - 100 If $z > 0 Then GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x, $y - $z) GUICtrlSetGraphic($graph, $GUI_GR_COLOR, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000"), 0x000000) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x - 5, $y - $z) GUICtrlCreateLabel((Int($z / $myi)) + $dyi, $x - 25, ($y - $z) - 6, 150, 200, $SS_SIMPLE) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000")) EndIf WEnd $i = ($gx - (2 * $m)) + $dxi * $mxi $z = 0 - $dxi * $mxi While ($i >= 7 * $mxi) $z = $z + 7 * $mxi $i = $i - 7 * $mxi If $z > 0 Then GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x + $z, $y) GUICtrlSetGraphic($graph, $GUI_GR_COLOR, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000"), 0x000000) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x + $z, $y + 2) EndIf WEnd $i = ($gx - (2 * $m)) + $dxi * $mxi $z = 0 - $dxi * $mxi While ($i >= 365 * $mxi) $z = $z + 365 * $mxi $i = $i - 365 * $mxi If $z > 0 Then GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x + $z, $y) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x + $z, $y + 5) GUICtrlCreateLabel(($z + $dxi) / (365 * $mxi), $x + $z - 3, $y + 7, 150, 50, $SS_SIMPLE) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000")) EndIf WEnd $i = ($gx - (2 * $m)) + $dxi * $mxi $z = 0 - $dxi * $mxi $aiDays = StringSplit("31,28,31,30,31,30,31,31,30,31,30,31", ",") $mois = 1 While ($i >= ($aiDays[$mois]) * $mxi) $z = $z + $aiDays[$mois] * $mxi $i = $i - $aiDays[$mois] * $mxi $mois = $mois + 1 If $mois > 12 Then $mois = 1 If $z > 0 Then GUICtrlSetGraphic($graph, $GUI_GR_MOVE, $x + $z, $y) GUICtrlSetGraphic($graph, $GUI_GR_COLOR, IniRead($Dossier & $FCouleur, "Graphique", "Texte", "0x000000"), 0x000000) GUICtrlSetGraphic($graph, $GUI_GR_LINE, $x + $z, $y + 5) EndIf WEnd ;~ ################ affichage Des noms de les rats ##################### [$y] $Grrrr = 20 + $m $Grrrrx = $gx - $m - 100 For $u = 1 To $NombreDOnglet If GUICtrlRead($ratpoi[$u]) <> "" Then GUICtrlCreateLabel(GUICtrlRead($ratpoi[$u]), $Grrrrx, $Grrrr, 100, 20, $SS_SIMPLE) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1, $c[$u]) $Grrrr = $Grrrr + 20 EndIf Next GUISetState() EndFunc ;==>graf Func clasik() ;<<>> <<>> _RAZbutons() GUIDelete($F1) $F1 = GUICreate("Age des " & $Annimalem & "s", 380, 220) $DateDeDepart = GUICtrlCreateDate("", 5, 0, 200, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de naissance du " & $Annimalem) GUICtrlCreateLabel("Date de naissance du " & $Annimalem, 10, 20, 200, 20) $ComboDateDeRat = GUICtrlCreateCombo("", 250, 00, 120, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetTip(-1, "Selectioner la date de naissance d'un " & $Annimalem & " pré-enregistré") $DateDeCalcul = GUICtrlCreateDate("", 5, 40, 200, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de comparaison") GUICtrlCreateLabel("Date de comparaison", 10, 60, 200, 20) $BoutonAujourdhui = GUICtrlCreateButton("Aujourd'hui", 250, 40, 120, 20) GUICtrlSetTip(-1, "Selectioner la date d'aujourd'hui") $BoutonAjouterRat = GUICtrlCreateButton("Ajouter " & $Annimalem & "", 250, 60, 80, 20) GUICtrlSetTip(-1, "Ajouter un " & $Annimalem & " à la liste (ou recréer un " & $Annimalem & " déja existant (toutes les données seront perdu))") $BoutonSupprimerRat = GUICtrlCreateButton("Suppr", 330, 60, 40, 20) GUICtrlSetTip(-1, "Supprimer un " & $Annimalem & " de la liste") $InputNomDuRat = GUICtrlCreateInput("Nom", 250, 80, 120, 20) GUICtrlSetTip(-1, "Nom du " & $Annimalem & " à créer") $DateDeCreationDuRat = GUICtrlCreateDate("", 250, 100, 120, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de naissance du " & $Annimalem & " à créer (ou à modifier)") $InputAgeDuRat = GUICtrlCreateInput("Age du " & $Annimalem, 10, 100, 200, 20, $ES_READONLY) GUICtrlSetTip(-1, "Age du " & $Annimalem) GUICtrlSetBkColor(-1, 0xf9f9f9) $InputAgeDuRatEnJours = GUICtrlCreateInput("Nb jours", 10, 120, 200, 20, $ES_READONLY) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en nombre de jours - semaines") GUICtrlSetBkColor(-1, 0xf9f9f9) IniWriteSection($Files, "", "") $Link = GUICtrlCreateLabel("http://sita-rats.fr", 10, 205, 80, 20) GUICtrlSetColor(-1, 0x0000d0) GUICtrlSetCursor($Link, 0) GUICtrlCreateLabel("Quand le " & $Annimalem & " aura :", 10, 145, 200, 20) GUICtrlCreateLabel("Ans", 12, 165, 50, 20) GUICtrlCreateLabel("Mois", 62, 165, 50, 20) GUICtrlCreateLabel("Jours", 112, 165, 50, 20) GUICtrlCreateLabel("Semaines", 217, 165, 55, 20) $da = GUICtrlCreateInput("0", 10, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en années") $dm = GUICtrlCreateInput("0", 60, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en mois") $dj = GUICtrlCreateInput("0", 110, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en jours") $calg = GUICtrlCreateButton("Calcul", 160, 180, 50, 20) GUICtrlSetTip(-1, "Calculer à quelle date le " & $Annimalem & " aura l'age : années+mois+jours") $ds = GUICtrlCreateInput("0", 215, 180, 55, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en semaines") $cald = GUICtrlCreateButton("Calcul", 270, 180, 50, 20) GUICtrlSetTip(-1, "Calculer à quelle date le " & $Annimalem & " aura ce nombre de semaines") $BoutonMode = GUICtrlCreateButton("Avancé", 322, 165, 54, 50) GUICtrlSetTip(-1, "Basculer vers le mode avancé") $options = GUICtrlCreateButton("Options", 250, 120, 120, 20) GUICtrlSetTip(-1, "Ouvrir le menu des options") _inicombo() GUISetState() EndFunc ;==>clasik Func advence() ;<<>> <<>> _RAZbutons() GUIDelete($F1) If $NombreDOnglet > 10 Then ProgressOn("Chargement", "Chargement de la GUI") $F1 = GUICreate("Age des " & $Annimalem & "s", 700, 220) $DateDeDepart = GUICtrlCreateDate("", 5, 0, 200, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de naissance du " & $Annimalem) GUICtrlCreateLabel("Date de naissance du " & $Annimalem, 10, 20, 200, 20) $ComboDateDeRat = GUICtrlCreateCombo("", 250, 00, 120, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetTip(-1, "Selectioner la date de naissance d'un " & $Annimalem & " pré-enregistré") $DateDeCalcul = GUICtrlCreateDate("", 5, 40, 200, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de comparaison") GUICtrlCreateLabel("Date de comparaison", 10, 60, 200, 20) $BoutonAujourdhui = GUICtrlCreateButton("Aujourd'hui", 250, 40, 120, 20) GUICtrlSetTip(-1, "Selectioner la date d'aujourd'hui") $BoutonAjouterRat = GUICtrlCreateButton("Ajouter " & $Annimalem & "", 250, 60, 80, 20) GUICtrlSetTip(-1, "Ajouter un " & $Annimalem & " à la liste (ou recréer un " & $Annimalem & " déja existant (toutes les données seront perdu))") $BoutonSupprimerRat = GUICtrlCreateButton("Suppr", 330, 60, 40, 20) GUICtrlSetTip(-1, "Supprimer un " & $Annimalem & " de la liste") $InputNomDuRat = GUICtrlCreateInput("Nom", 250, 80, 120, 20) GUICtrlSetTip(-1, "Nom du " & $Annimalem & " à créer") $DateDeCreationDuRat = GUICtrlCreateDate("", 250, 100, 120, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de naissance du " & $Annimalem & " à créer (ou à modifier)") $InputAgeDuRat = GUICtrlCreateInput("Age du " & $Annimalem, 10, 100, 200, 20, $ES_READONLY) GUICtrlSetTip(-1, "Age du " & $Annimalem) GUICtrlSetBkColor(-1, 0xf9f9f9) $InputAgeDuRatEnJours = GUICtrlCreateInput("Nb jours", 10, 120, 200, 20, $ES_READONLY) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en nombre de jours - semaines") GUICtrlSetBkColor(-1, 0xf9f9f9) IniWriteSection($Files, "", "") $Link = GUICtrlCreateLabel("http://sita-rats.fr", 10, 205, 80, 20) GUICtrlSetColor(-1, 0x0000d0) GUICtrlSetCursor($Link, 0) GUICtrlCreateLabel("Quand le " & $Annimalem & " aura :", 10, 145, 200, 20) GUICtrlCreateLabel("Ans", 12, 165, 50, 20) GUICtrlCreateLabel("Mois", 62, 165, 50, 20) GUICtrlCreateLabel("Jours", 112, 165, 50, 20) GUICtrlCreateLabel("Semaines", 217, 165, 55, 20) $da = GUICtrlCreateInput("0", 10, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en années") $dm = GUICtrlCreateInput("0", 60, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en mois") $dj = GUICtrlCreateInput("0", 110, 180, 50, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en jours") $calg = GUICtrlCreateButton("Calcul", 160, 180, 50, 20) GUICtrlSetTip(-1, "Calculer à quelle date le " & $Annimalem & " aura l'age : années+mois+jours") $ds = GUICtrlCreateInput("0", 215, 180, 55, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Age du " & $Annimalem & " en semaines") $cald = GUICtrlCreateButton("Calcul", 270, 180, 50, 20) GUICtrlSetTip(-1, "Calculer à quelle date le " & $Annimalem & " aura ce nombre de semaines") $BoutonMode = GUICtrlCreateButton("Avancé", 322, 165, 54, 50) GUICtrlSetTip(-1, "Basculer vers le mode avancé") $options = GUICtrlCreateButton("Options", 250, 120, 120, 20) GUICtrlSetTip(-1, "Ouvrir le menu des options") ;~ #################################### partie graphique #################################### 380 &@CRLF& ;~ 602, 150, 75, 40) $BoutonAfficherGraphique = GUICtrlCreateButton("Graphique", 585, 140, 56, 40) GUICtrlSetTip(-1, "Afficher le graphique") $BoutonAfficherGraphiqueC = GUICtrlCreateContextMenu($BoutonAfficherGraphique) $BoutonAfficherGraphiqueC1 = GUICtrlCreateMenuItem("Options du graphique", $BoutonAfficherGraphiqueC) $BoutonCalendrier = GUICtrlCreateButton("Calendrier", 641, 140, 56, 40) GUICtrlSetTip(-1, "Afficher le calendrier (attention, long à calculer)") $pd = GUICtrlCreateDate("", 585, 60, 113, 20, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Date de la pesée") $pp = GUICtrlCreateInput("0", 585, 80, 112, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Poid") GUICtrlCreateUpdown($pp, $UDS_ARROWKEYS) $pa = GUICtrlCreateButton("Ajouter", 585, 100, 112, 20) GUICtrlSetTip(-1, "Ajouter une nouvelle pesée ou modification de la pesée de la date selectionée") $ps = GUICtrlCreateButton("Supprimer", 585, 120, 112, 20) GUICtrlSetTip(-1, "Supprimer la ou les pesée(s) selectionée(s)") $pneo = GUICtrlCreateButton("X", 678, 41, 18, 18, $DTS_SHORTDATEFORMAT) GUICtrlSetTip(-1, "Retirer le " & $Annimalem & " de cet onglet") $color = GUICtrlCreateButton("Couleur", 585, 41, 90, 18) GUICtrlSetTip(-1, "Choisir la couleur du " & $Annimalem & "") GUICtrlSetBkColor($color, $c[1]) ;~ $dx=GuiCtrlCreateInput(1095, 585, 180, 30, 20,$ES_NUMBER) ;~ GUICtrlSetTip (-1,"Lageur du graphique en jours/pixels") ;~ $dy=GuiCtrlCreateInput(500, 585, 200, 30, 20,$ES_NUMBER) ;~ GUICtrlSetTip (-1,"Hauteur du graphique en grammex/pixels") $Qmoni = GUICtrlCreateInput(@MON, 585, 180, 56, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Date de debut du calendrier (mois)") GUICtrlCreateUpdown(-1, $UDS_ARROWKEYS) $Qyeari = GUICtrlCreateInput(@YEAR, 641, 180, 56, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Date de debut du calendrier (année)") GUICtrlCreateUpdown(-1, $UDS_ARROWKEYS) $Qnbmoisi = GUICtrlCreateInput(12, 641, 200, 56, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Nombre de mois dans le calendrier : max 36 (Un nombre élevé ralenti la création du calendrier)") GUICtrlCreateUpdown(-1, $UDS_ARROWKEYS) $QLi = GUICtrlCreateInput(100, 585, 200, 56, 20, $ES_NUMBER) GUICtrlSetTip(-1, "Lageur des mois en pixel") GUICtrlCreateUpdown(-1, $UDS_ARROWKEYS) ;~ $BoutonPlus = GUICtrlCreateButton("+", 660, 0, 20, 20) ;~ $BoutonMoins = GUICtrlCreateButton("-", 680, 0, 20, 20) ;~ GUICtrlSetTip(-1, "Ajouter un onglet") $rattab = GUICtrlCreateTab(380, 0, 320, 20) For $i = 1 To $NombreDOnglet ProgressSet(($i * 100) / $NombreDOnglet) $rat[$i] = GUICtrlCreateTabItem($Annimalema & " " & $i) $listView[$i] = GUICtrlCreateListView("Date |Age |Poid ", 381, 20, 200, 200, $LVS_NOLABELWRAP) $ratpoi[$i] = GUICtrlCreateCombo("", 585, 20, 92, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetTip(-1, "Choix du " & $Annimalem & " à afficher dans l'onglet 1") $check[$i] = GUICtrlCreateCheckbox("", 680, 20, 20, 20) GUICtrlSetTip(-1, "Cochez cette case pour inclure les informations de ce " & $Annimalem & " dans le calcul automatique de la taille du graphique") Next _inicombo() ProgressOff() GUISetState() EndFunc ;==>advence Func inilist() ;<<>> <<>> For $u = 1 To $NombreDOnglet _GUICtrlListView_DeleteAllItems($listView[$u]) $calcul = IniReadSection($SousDossier & "\" & (GUICtrlRead($ratpoi[$u])) & ".ini", "Poid") If (GUICtrlRead($ratpoi[$u])) <> "" Then $CDx1 = (IniRead($SousDossier & "\" & (GUICtrlRead($ratpoi[$u])) & ".ini", "Info", "ddn", "0000/00/00")) For $i = 1 To $calcul[0][0] $CDx2 = StringSplit(($calcul[$i][0]), "/") $iDateCalcx = _DateDiff('D', $CDx1, $CDx2[3] & "/" & $CDx2[2] & "/" & $CDx2[1]) GUICtrlCreateListViewItem($calcul[$i][0] & "|" & $iDateCalcx & "|" & $calcul[$i][1], $listView[$u]) Next $t[$u] = True _GUICtrlListView_SimpleSort($listView[$u], $t[$u], 1) EndIf Next EndFunc ;==>inilist Func Calendar() ;<<>> ;~ a virer $Qnbmois = GUICtrlRead($Qnbmoisi) If $Qnbmois > 36 Then $Qnbmois = 36 GUICtrlSetData($Qnbmoisi, 36) EndIf $Qoucestou = -(((GUICtrlRead($Qyeari) - @YEAR) * 12) + GUICtrlRead($Qmoni) - @MON) $QL = GUICtrlRead($QLi) ;~ a virer $QH = 15 $Qx = $Qnbmois * $QL $Qy = (32 * $QH) + 20 $Qdecalage = @MON - 1 $Qdecalage -= $Qoucestou $colonne[1][0] = @MON $colonne[1][1] = @YEAR $Qmois = "Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre,Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre,Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre" $Qmois = StringSplit($Qmois, ",") ;~ $Qjours = "Dimanche,Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi" $Qjours = "D,L,M,M,J,V,S" $Qjours = StringSplit($Qjours, ",") For $i = 1 To $Qnbmois $colonne[$i][0] = $Qdecalage + $i $colonne[$i][1] = @YEAR While $colonne[$i][0] > 12 $colonne[$i][0] -= 12 $colonne[$i][1] += 1 WEnd While $colonne[$i][0] < 1 $colonne[$i][0] += 12 $colonne[$i][1] -= 1 WEnd Next GUICtrlDelete($BoutonCalendrier) GUICtrlDelete($BoutonAfficherGraphique) $Qp = GUICtrlCreateProgress(585, 140, 112, 40) $F3 = GUICreate("Calendrier", $Qx, $Qy, -1, -1, -1, -1, $F1) $Qpmax = $Qnbmois * 30 $Qpos = 0 $Qpcal = 0 ;~ $ci = 0 For $Qim = 1 To $Qnbmois GUICtrlCreateLabel($Qmois[$colonne[$Qim][0]], ($Qim * $QL) - $QL, 20, $QL, $QH, $SS_SIMPLE) GUICtrlSetBkColor(-1, 0xf0f0f0) For $Qij = 1 To _DateDaysInMonth($colonne[$Qim][1], $colonne[$Qim][0]) $Qpos += 1 $Qpcal = ($Qpos * 100) / $Qpmax GUICtrlSetData($Qp, $Qpcal) $Qinput = GUICtrlCreateLabel($Qij & " " & $Qjours[_DateToDayOfWeek($colonne[$Qim][1], $colonne[$Qim][0], $Qij)], ($Qim * $QL) - $QL, ($Qij * $QH) + 20, $QL, $QH) If _DateToDayOfWeek($colonne[$Qim][1], $colonne[$Qim][0], $Qij) = 1 Then GUICtrlSetBkColor(-1, 0xFFE5FF) Else If Mod(_DateToDayOfWeek($colonne[$Qim][1], $colonne[$Qim][0], $Qij), 2) = 0 Then GUICtrlSetBkColor(-1, 0xffffff) Else GUICtrlSetBkColor(-1, 0xf6f6f6) EndIf EndIf $irat = IniReadSectionNames($Files) For $i = 1 To $irat[0] $Qd[0] = $colonne[$Qim][0] If StringLen($Qd[0]) = 1 Then $Qd[0] = "0" & $Qd[0] $Qd[1] = $Qij If StringLen($Qd[1]) = 1 Then $Qd[1] = "0" & $Qd[1] If (IniRead($Files, $irat[$i], "ddn", 0)) = $colonne[$Qim][1] & "/" & $Qd[0] & "/" & $Qd[1] Then GUICtrlSetBkColor(-1, 0xFFFFCC) GUICtrlSetData($Qinput, GUICtrlRead($Qinput) & " " & $irat[$i]) GUICtrlSetTip($Qinput, GUICtrlRead($Qinput)) EndIf Next For $i = 1 To $irat[0] $Qd[0] = $colonne[$Qim][0] If StringLen($Qd[0]) = 1 Then $Qd[0] = "0" & $Qd[0] $Qd[1] = $Qij If StringLen($Qd[1]) = 1 Then $Qd[1] = "0" & $Qd[1] If (IniRead($Files, $irat[$i], "ddn", 0)) = $colonne[$Qim][1] & "/" & $Qd[0] & "/" & $Qd[1] Then For $u = 1 To $NombreDOnglet If $irat[$i] = GUICtrlRead($ratpoi[$u]) Then $Qc[$u] = $Qinput GUICtrlSetBkColor($Qc[$u], $c[$u]) EndIf Next EndIf Next Next Next $Qcalcul = 0 $Qxlabel = 0 For $Qi = 1 To $Qnbmois If (($Qi) * $QL - $QL) + (12 - $colonne[$Qi][0]) * $QL + $QL > $Qx Then $Qxlabel = $Qnbmois - $Qi Else $Qxlabel = (12 - $colonne[$Qi][0]) EndIf GUICtrlCreateLabel($colonne[$Qi][1], ($Qi) * $QL - $QL, 0, $Qxlabel * $QL + $QL, 20, $SS_CENTER) If $Qcalcul = 0 Then GUICtrlSetBkColor(-1, 0xffffff) $Qcalcul = 1 Else $Qcalcul = 0 EndIf GUICtrlSetColor(-1, 0x0033CC) GUICtrlSetFont(-1, 15, 800) $Qi = $Qi + 12 - $colonne[$Qi][0] Next GUISetState() GUISetState(-1, $F1) $BoutonCalendrier = GUICtrlCreateButton("Calendrier", 641, 140, 56, 40) GUICtrlSetTip(-1, "Afficher le calendrier (attention, long à calculer)") $BoutonAfficherGraphique = GUICtrlCreateButton("Graphique", 585, 140, 56, 40) GUICtrlSetTip(-1, "Afficher le graphique") $BoutonAfficherGraphiqueC = GUICtrlCreateContextMenu($BoutonAfficherGraphique) $BoutonAfficherGraphiqueC1 = GUICtrlCreateMenuItem("Options du graphique", $BoutonAfficherGraphiqueC) GUICtrlDelete($Qp) EndFunc ;==>Calendar Func _inicombo() ;<<>> <<>> ;~ $irat = IniReadSectionNames($Files) _ObtenirListeOuiRats($irat) ProgressSet(1, "", "Initialisation des combo") If $menu = 0 Then For $i = 1 To $irat[0] GUICtrlSetData($ComboDateDeRat, $irat[$i]) Next Else For $i = 1 To $irat[0] GUICtrlSetData($ComboDateDeRat, $irat[$i]) For $u = 1 To $NombreDOnglet ProgressSet(((($u * 100) / $NombreDOnglet) / ($irat[0])) + (($i - 1) * (10000 / $NombreDOnglet) / ($irat[0]))) GUICtrlSetData($ratpoi[$u], $irat[$i]) Next Next EndIf EndFunc ;==>_inicombo ;~ Func _IniRead($IiNomDuRat, $IiSection, $IiKey, $IiDefaut) ;~ IniRead($IiNomDuRat, Func _ObtenirListeAllRats(ByRef $LARListe) ; recupere la liste de tout les fichiersi $LARi = 1 ReDim $LARListe[$LARi] $LARsearch = FileFindFirstFile($SousDossier & "\*.ini") While 1 $LARCal = FileFindNextFile($LARsearch) If @error Then ExitLoop _ArrayAdd($LARListe, $LARCal) $LARListe[0] = $LARi $LARi += 1 WEnd EndFunc ;==>_ObtenirListeAllRats Func _InitialiserListeRats() ; Suprime des liste les rats innexistant et ajoute dans la liste "Autre" les nouveaux rats Local $LSRSelect[1] Local $LSRCompar[2] $LSRCompar[0] = 5 _ObtenirListeAllRats($LSRSelect) $LSRCompar = IniReadSectionNames($Dossier & $FListe) ;Suppression des donné des fichier inexistant For $ic = 1 To $LSRCompar[0] $INeo = 0 For $il = 1 To $LSRSelect[0] If $LSRSelect[$il] = $LSRCompar[$ic] Then $INeo = 1 Next If $INeo <> 1 Then If $LSRCompar[$ic] <> "Info liste" Then IniDelete($Dossier & $FListe, $LSRCompar[$ic]) EndIf Next ;ajout des nouveaux rats dans "Autre" For $il = 1 To $LSRSelect[0] $INeo = 0 For $ic = 1 To $LSRCompar[0] If $LSRSelect[$il] = $LSRCompar[$ic] Then $INeo = 1 Next If $INeo <> 1 Then IniWrite($Dossier & $FListe, $LSRSelect[$il], "Groupe", "Autre") IniWrite($Dossier & $FListe, $LSRSelect[$il], "Afficher", "oui") EndIf Next EndFunc ;==>_InitialiserListeRats Func _ObtenirListeOuiRats(ByRef $LoRListe) ;recupere la liste des rats a afficher _InitialiserListeRats() $LoRi = 1 ReDim $LoRListe[$LoRi] $LoRlecture = IniReadSectionNames($Dossier & $FListe) $LoRListe[0] = 0 For $LoRy = 2 To $LoRlecture[0] If IniRead($Dossier & $FListe, $LoRlecture[$LoRy], "Afficher", "non") = "oui" And IniRead($Dossier & $FListe, "Info liste", (IniRead($Dossier & $FListe, $LoRlecture[$LoRy], "Groupe", "Autre")), "non") = "oui" Then $LoRcal = StringSplit($LoRlecture[$LoRy], ".") _ArrayAdd($LoRListe, $LoRcal[1]) $LoRListe[0] = $LoRListe[0] + 1 EndIf Next EndFunc ;==>_ObtenirListeOuiRats Func _RAZbutons() For $i = 1 To 100 $IniCouleurs[$i] = 0 Next $graph = -1 $Aslider = -1 $Aok = -1 $Aannuler = -1 $Aappliquer = -1 $Adefaut = -1 $Asliderinfo = -1 $Odefaut = -1 $pd = -1 $pp = -1 $pa = -1 $ps = -1 $rattab = -1 $pneo = -1 $dx = -1 $dy = -1 $color = -1 $xD = -1 $Qnbmoisi = -1 $QLi = -1 $Qmoni = -1 $Qyeari = -1 $BoutonAfficherGraphiqueC1 = -1 $Ozoomx = -1 $Ozoomy = -1 $Oauto = -1 $Omanuel = -1 $Odebujour = -1 $Ofinjour = -1 $Odiference = -1 $Odebutgramme = -1 $Ofingramme = -1 $Ook = -1 $Oannuler = -1 $Oappliquer = -1 $BoutonCalendrier = -1 $AchoixFond = -1 $AchoiTrait = -1 $Achoimarge = -1 $Achoitexte = -1 $AcF = -1 $AcTe = -1 $AcTr = -1 $AcM = -1 EndFunc ;==>_RAZbutons Func _MAJcombo() If $menu = 0 Then clasik() Else advence() EndIf EndFunc ;==>_MAJcombo