Maza Faka

Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору XpycTMD Цитата: Вопрос а как сделать чтобы при выборе даты их календаря она записывалась в файл соответсвующий определенному сотруднику??? | Привет. Наконец-то нашёл время посмотреть твой код. В общем такой пример: в папке D:\Database имеются *.ini файлы с именами сотрудников, например ivanov.ini, petrov.ini и т.д., формат *.ini-файла такой, как ты приводил, при нажатии на кнопку "Set" происходит запись дат в *.ini-файл с именем сотрудника, если, что не понятно, спрашивай. Код: #NoTrayIcon #include <GUIConstants.au3> #include <File.au3> #include <Array.au3> Opt("GuiOnEventMode", 1) $Filter = "*.ini" $Flag = "1" $dbPatch = "D:\Database" $Version = "0.7" $ProgramTitle = "Crew Manager " & $Version $GUIWidth = 800 $GUIHeight = 600 $GUILeft = (@DesktopWidth - $GUIWidth) / 2 $GUITop = (@DesktopHeight - $GUIHeight) / 2 $CrewListTop = 120 $CrewManager = GUICreate($ProgramTitle, $GUIWidth, $GUIHeight, $GUILeft, $GUITop, $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_OVERLAPPEDWINDOW) GUISetFont(10, 400, 0, "Tahoma") GUICtrlCreateLabel("Crew Manager", 210, 0, 555, 65, $SS_CENTER + $SS_CENTERIMAGE) GUICtrlSetFont(-1, 38, 800, 0, "Tahoma") GUICtrlSetColor(-1, 0x0000FF) GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") GUICtrlCreateLabel("PPC", 125, 70, 255, 20, $SS_CENTER + $SS_CENTERIMAGE) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") GUICtrlCreateLabel("PPC Passed Date", 125, 95, 125, 20, $SS_CENTER + $SS_CENTERIMAGE) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") GUICtrlCreateLabel("PPC Next Date", 260, 95, 125, 20, $SS_CENTER + $SS_CENTERIMAGE) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") $Crew = _FileListToArray($dbPatch, $Filter, $Flag) If @error Then MsgBox(16, "??????", "??? *.ini ?????? ? ???????? " & $dbPatch) Exit EndIf $PPCPassedDate = $Crew $PPCPassedDateChecker = $Crew $PPCNextDate = $Crew $PPCNextDateChecker = $Crew $SetButton = $Crew $hPPC_Passed_Date = $Crew $hPPC_Next_Date = $Crew For $i = 1 To $Crew[0] GUICtrlCreateLabel(StringReplace($Crew[$i], ".ini", ""), 10, $CrewListTop, 110, 25, $SS_CENTERIMAGE) GUICtrlSetFont(-1, 10, 800, 0, "Tahoma") $PPCPassedDate[$i] = IniRead($dbPatch &"\"& $Crew[$i], "PPC", "PPCPassedDate", "0000/00/00") $ReadDate = _ParsStringDate($PPCPassedDate[$i]) $hPPC_Passed_Date[$i] = GUICtrlCreateDate($ReadDate, 125, $CrewListTop, 105, 25, $DTS_SHORTDATEFORMAT) $PPCPassedDateChecker[$i] = GUICtrlCreateLabel("", 230, $CrewListTop, 25, 25, $WS_BORDER) $PPCNextDate[$i] = IniRead($dbPatch &"\"& $Crew[$i], "PPC", "PPCNextDate", "0000/00/00") $ReadDate = _ParsStringDate($PPCNextDate[$i]) $hPPC_Next_Date[$i] = GUICtrlCreateDate($ReadDate, 260, $CrewListTop, 105, 25, $DTS_SHORTDATEFORMAT) $PPCNextDateChecker[$i] = GUICtrlCreateLabel("", 365, $CrewListTop, 25, 25, $WS_BORDER) $SetButton[$i] = GUICtrlCreateButton("Set", 400, $CrewListTop, 50, 25) GUICtrlSetOnEvent(-1, "_WriteDate") $CrewListTop = $CrewListTop + 30 Next GUISetState(@SW_SHOW) While 1 Sleep(100) WEnd Func Quit() Exit EndFunc Func _ParsStringDate($sString) Local $DateSplit, $sDate $DateSplit = StringSplit($sString, ".") For $i = $DateSplit[0] To 1 Step -1 $sDate &= $DateSplit[$i] & "/" Next Return $sDate EndFunc Func _WriteDate() Local $iSearchIdnex, $iPassedDate, $iNextDate $iSearchIndex = _ArraySearch($SetButton, @GUI_CtrlId, 1) If @error Then Return $iPassedDate = GUICtrlRead($hPPC_Passed_Date[$iSearchIndex]) $iNextDate = GUICtrlRead($hPPC_Next_Date[$iSearchIndex]) IniWrite($dbPatch &"\"& $Crew[$iSearchIndex], "PPC", "PPCPassedDate", $iPassedDate) IniWrite($dbPatch &"\"& $Crew[$iSearchIndex], "PPC", "PPCNextDate", $iNextDate) EndFunc |
|