Что нового

Отсчет времени до даты

vanekzver

Новичок
Сообщения
91
Репутация
2
Добрый вечер уважаемые скриптеры. Прошу вас помочь. Как сделать скрипт состоящий из GUI окна, а в gui окно отсчет до события. То есть по типу этого "До 2 числа Осталось : 12 часов 10 минут 20 секунд"
 

AZJIO

Меценат
Меценат
Сообщения
2,878
Репутация
1,194
vanekzver
Сделай поиск по форуму слово "таймер", найдётся куча тем как это сделать.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
vanekzver
Код:
#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <GUIFFLabel.au3>

Global $String

$DATE= "2012/04/2 00:00:00"

$hGUI = GUICreate("Пример", 500, 150)
$Label1 = _GUICtrlFFLabel_Create($hGUI, $String , 0, 0, 500, 150,17, "Verdana",1, 0, 0xFFFFFF)

GUISetState()

AdlibRegister("_Ostatok",1000)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            GUIDelete()
			ExitLoop
	EndSwitch		
Sleep(30)		
WEnd

Func _Ostatok()
$iDateCalc = _DateDiff("s",$DATE,_NowCalc())
If $iDateCalc<0 Then 
$day= Ceiling ($iDateCalc/(3600*24))
$hour= Ceiling( Mod($iDateCalc, (3600*24))/3600)
$min=Ceiling((Mod($iDateCalc,(3600*24))-$hour*3600)/60)
$sec=($min*60+$hour*3600+$day*3600*24)-$iDateCalc

$text= "До "&$DATE&" осталось: "&@CRLF&Abs($day)&" день "&Abs($hour)&" часа "&Abs($min)&" минут "&Abs($sec)&" секунд "

Else	
$day= Floor ($iDateCalc/(3600*24))
$hour= Floor( Mod($iDateCalc, (3600*24))/3600)
$min=Floor((Mod($iDateCalc,(3600*24))-$hour*3600)/60)
$sec=($min*60+$hour*3600+$day*3600*24)-$iDateCalc

$text= "С "&$DATE&" прошло "&@CRLF&Abs($day)&" день "&Abs($hour)&" часа "&Abs($min)&" минут "&Abs($sec)&" секунд "

EndIf
_GUICtrlFFLabel_SetData($Label1, $text, 0x000000)
EndFunc


GUIFFLabel.au3
http://autoit-script.ru/index.php?topic=5632.0
 
Верх