Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; программа для отслеживания конца и начала уроков
- ;#Include <_DateDiff_2.au3>
- #include <Date.au3>
- #include <Array.au3>
- ;HotKeySet("{ESC}", "stop")
- HotKeySet("`", "ilya")
- SoundSetWaveVolume(30)
- local $d = [["9:00","9:45"],["09:55","10:40"],["10:50","11:35"],["11:45","12:30"],["12:40","13:25"],["13:45","14:30"],["14:40","15:25"],["15:35","16:20"]]
- ;local $d = [["20:01","20:10"]];,["17:22","17:25"]]
- local $d2 =["10 углубленная","10 углубленная","10 углубленная","10 углубленная","10 углубленная (дизайн)","10 база","11 база","11 база"]
- local $state = 2 ; global 1-урок идет 0-перемена 2-уроков нет (закончились или не начались)
- local $prevstate = -1 ; чтобы отслеживать изменение что было и что стало
- local $lessonID ; индекс урока в массиве $d
- local $str1 = ["До начала урока: ", "До конца: ", "Уроки закончились!"]
- local $str2 = ["Перемена ", "Идет урок ", "Уроки закончились!"]
- local $lol = false
- while true ;///////////////////////////////////////////////////////////////
- getstate()
- ;msg("$state: "&$state)
- ;msg("$lessonID: "&$lessonID)
- if $state = 2 then
- TrayTip("Уроки закончились!", "Всем спасибо! Все свободны!", 0, 9)
- $prevstate = 123
- alert()
- exit
- EndIf
- $diffM = _DateDiff('n', _NowCalc(), @YEAR&"/"&@MON&"/"&@MDAY&" "&$d[$lessonID][$state])
- $diffS = _DateDiff('s', _NowCalc(), @YEAR&"/"&@MON&"/"&@MDAY&" "&$d[$lessonID][$state])
- $diffS = $diffS - 60*Int($diffS/60)
- TrayTip($str2[$state], $str1[$state] & $diffM&" минут "&$diffS & " сек."&@CRLF&"№ урока: "&($lessonID+1)&@CRLF&"Группа: "&$d2[$lessonID], 1)
- alert()
- Sleep(5000)
- Wend
- Func alert()
- if $prevstate <> $state then
- $prevstate = $state
- ;showbig()
- SoundPlay("zvonok.mp3", 1)
- EndIf
- EndFunc
- Func getstate()
- For $i = 0 To UBound($d)-1
- if _timeBetween(@HOUR & ':' & @MIN, $d[$i][0], $d[$i][1]) = 1 then
- $lessonID = $i
- $state = 1
- return
- EndIf
- Next
- For $i = 0 To UBound($d)-1
- If _DateDiff('s', @YEAR&"/"&@MON&"/"&@MDAY&" "&@HOUR&":"&@MIN&":"&@SEC, @YEAR&"/"&@MON&"/"&@MDAY&" "&$d[$i][0]) >= 0 Then
- $lessonID = $i
- $state = 0
- ;$prevstate = 0
- Return
- EndIf
- Next
- $state = 2 ; уроков нет
- EndFunc
- Func showbig()
- SplashTextOn("", $str1[$state] & $diff & " (минут).", -1, 100, -1, -1, $DLG_TEXTLEFT, "", 24, 700)
- Sleep(5000)
- SplashOff()
- EndFunc
- Func msg($str)
- ConsoleWrite($str&@CRLF)
- EndFunc
- Func stop()
- Exit
- EndFunc
- Func _timeBetween($cTime, $sTime, $eTime)
- If Not _DateIsValid('2000/01/01 ' & $cTime) Then Return -1
- If Not _DateIsValid('2000/01/01 ' & $sTime) Then Return -2
- If Not _DateIsValid('2000/01/01 ' & $eTime) Then Return -3
- ;~ ConsoleWrite(_DateDiff('s', '2000/01/01 ' & $cTime & ':00', '2000/01/01 ' & $sTime & ':00') & @CRLF)
- ;~ ConsoleWrite(_DateDiff('s', '2000/01/01 ' & $cTime & ':00', '2000/01/01 ' & $eTime & ':00') & @CRLF)
- If _DateDiff('s', '2000/01/01 ' & $cTime & ':00', '2000/01/01 ' & $sTime & ':00') <= 0 And _
- _DateDiff('s', '2000/01/01 ' & $cTime & ':00', '2000/01/01 ' & $eTime & ':00') > 0 Then
- Return 1
- Else
- Return 0
- EndIf
- EndFunc
- ;////////////////////////////////// misc ///////////////////////////////////
- Func ilya()
- if not $lol then
- SplashTextOn("Илья", "Илья!"&@CRLF&@CRLF&"Внимание на доску!!!1"&@CRLF&@CRLF&"Сядь ближе, если плохо видно!", -1, -1, -1, -1, 33, "", 24)
- ;SplashImageOn("Splash Screen", "Закат.jpg", 250, 50)
- ;ShellExecute("c:/DEV/temp/calculator.vbs") ; TO DO voice
- ; Ilyyau! ! sobereess! smotree na doskuuu! zaasraanets!!!
- ;Sleep(4000)
- $lol = true
- Else
- SplashOff()
- $lol = false
- EndIf
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement