Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Цитата sashadeg:
А хорошо бы сделать, ещё GUI которое будет показывать, сколько раз программа повторилась, и дату первого запуска... »
Вот, кажись должно полностью работать:
Код: Выделить весь код
#include <GuiConstants.au3>

Global $nowtime
Global $Time_kom1=(@HOUR&":00") ;в переменной будет хранится следующий запуск "первых двух программ"
Global $Time_kom2=(@HOUR&":00")
Global $Intervalkomanda2="10"; в переменной будет хранится интервал, по истечении которого запустится вторая прога.
Global $Count="0"

$Gui=GUICreate("Планировщик", 343, 150, 307, 195)
GUICtrlCreateLabel(" Текущее время:", 8, 0, 90, 17)
$Time_Label=GUICtrlCreateLabel("00:00:00", 104, 0, 50, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)

GUICtrlCreateLabel(" Следующий запуск (формат записи 00:00):", 0, 16, 224, 17)
$timeDate = GUICtrlCreateLabel("00:00", 232, 16, 46, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
$InputVremya_nachala = GUICtrlCreateInput($Time_kom1, 280, 8, 57, 21)

GUICtrlCreateLabel(" Интервал после выполнения первых прог (от 1 до 59):", 0, 40, 282, 17)
$Inputinterval=GUICtrlCreateInput("10", 280, 32, 57, 21)

GUICtrlCreateLabel(" Счетчик, сколько раз уже был запуск:", 0, 65, 280, 17)
$CountLabel = GUICtrlCreateLabel("0", 232, 65, 46, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)

GUICtrlCreateLabel(" Дата запуска:", 0, 95, 280, 17)
GUICtrlCreateLabel(@MDAY&"\"&@MON&"\"&@YEAR, 232, 95, 76, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
$Ok_but = GUICtrlCreateButton("Применить и свернуть в панель задач", 0, 120, 337, 25, 0)

GUISetState(@SW_SHOW,$Gui) 
AdlibEnable("Set_System_Time", 1000)

While 1 
$nMsg = GUIGetMsg() 
Switch $nMsg 
Case $GUI_EVENT_CLOSE 
    AdlibDisable()
    Exit
Case $Ok_but
    $Time_kom1=GUICtrlRead($InputVremya_nachala ) ;записываем новое значение следующего запуска "первых двух прог"
    Guictrlsetdata($timeDate,$Time_kom1) ;запись следующего запуска
    $Intervalkomanda2=GUICtrlRead($Inputinterval ) ;записываем новое значение интервала
    GUISetState(@SW_MINIMIZE,$Gui)
EndSwitch 

If $Time_kom1 == $nowtime Then
    Guictrlsetdata($CountLabel,$Count+1); пишем в счетчик запусков
    $Hour=@Hour+1
    Switch $Hour
        Case "24"
        $Hour="00"
        case 1 To 9
        $Hour="0"&$Hour
    endswitch

    $Time_kom1=$Hour&":"&@MIN
    Guictrlsetdata($timeDate,$Time_kom1) ;запись следующего запуска
    MsgBox(0,"1","Время для первых 2 команд") ;тут запуск "пары команд"

    $Min=@MIN+$Intervalkomanda2
    $Hour=@HOUR
    if $Min>60 then 
        $Min=$Min-60
        $Hour=@HOUR+1
    Switch $Hour
        Case "24"
        $Hour="00"
        case 1 To 9
        $Hour="0"&$Hour
    endswitch
    endif
    if $Min>0 and $Min<10 then $Min="0"&$Min
    $Time_kom2=$Hour&":"&$Min
    Guictrlsetdata($Inputinterval,$Time_kom2) ;только для того чтобы убедится что запуск "проги 2" будет в нужное время (а так ненужно)
endif
if $Time_kom2==$nowtime Then
    MsgBox(0,"2","Пришлоо время для выполнения последней команды")  ;тут запус остальной команды
    $Time_kom2="11111111" ;это нужно для того, чтобы если "прога2" будет выполнятся меньше 1 минуты, то небыло ее повторного запуска
endif
WEnd
;
Func Set_System_Time()
$nowtime=@HOUR&":"&@MIN
Guictrlsetdata($Time_Label, $nowtime&":"&@SEC)
EndFunc

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Последний раз редактировалось beve, 04-05-2009 в 18:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:23, 04-05-2009 | #7