#include <Date.au3>
#include <GUIConstants.au3>
#include <EditConstants.au3>

Local $sec, $min, $hr, $day
$gui = GUICreate('CountDown', 200,50)
$bt = GUICtrlCreateButton('Start', 40, 15, 50, 20)
$iDown = GUICtrlCreateInput('', 100, 15, 80, 20, $ES_READONLY)
GUISetState()

$zufallszahl = Random(10,20,1)

MsgBox('', "Zufallszahl", "Die Zahl ist " & $zufallszahl) 

$min = 0
$sec = $zufallszahl

While True
    $msg = GUIGetMsg()
    If $msg = $bt Then 
       _CountDown($sec, $min, $hr, $day, True, $iDown)

if $iDown = true Then 
       MsgBox('', "TITEL", "TEXT") 
EndIf
    ElseIf $msg = $GUI_EVENT_CLOSE Then
        Exit
     EndIf

WEnd

Func _CountDown($SEC, $MIN=0, $HOUR=0, $DAY=0, $VISIBLEDOWN=True, $ALTERNATECTRL='TT')
    $Sekunden = $SEC + $MIN*60 + $HOUR*3600 + $DAY*86400
    $end = _DateAdd('s', $Sekunden, _NowCalc())
    Local $message
    Do
        Sleep(100)
        $sec = _DateDiff('s', _NowCalc(), $end)
        If Not $VISIBLEDOWN Then 
            $secShow = $Sekunden - $sec
        Else
            $secShow = $sec
        EndIf
        Select
            Case $secShow < 60
                If $ALTERNATECTRL = 'TT' Then
                    ToolTip(StringFormat('%02u', $secShow) & ' s')
                Else
                    GUICtrlSetData($ALTERNATECTRL, StringFormat('%02u', $secShow) & ' s')
                EndIf
            Case $secShow < 60*60
                $message = StringFormat('%02u', Floor($secShow/60)) & ':' & _
                            StringFormat('%02u', Mod($secShow,60)) & ' min'
                If $ALTERNATECTRL = 'TT' Then
                    ToolTip($message)
                Else
                    GUICtrlSetData($ALTERNATECTRL, $message)
                EndIf
            Case $secShow < 60*60*24
                $message = StringFormat('%02u', Floor($secShow/3600)) & ':' & _
                            StringFormat('%02u', Floor(Mod($secShow,3600)/60)) & ':' & _
                            StringFormat('%02u', Mod(Mod($secShow,3600),60)) & ' h'
                If $ALTERNATECTRL = 'TT' Then
                    ToolTip($message)
                Else
                    GUICtrlSetData($ALTERNATECTRL, $message)
                EndIf
            Case Else
                $message = Floor($secShow/86400) & ' d / ' & _
                            StringFormat('%02u', Floor(Mod($secShow,86400)/3600)) & ':' & _
                            StringFormat('%02u', Floor(Mod(Mod($secShow,86400),3600)/60)) & ':' & _
                            StringFormat('%02u', Mod(Mod(Mod($secShow,86400),3600),60)) & ' h'
                If $ALTERNATECTRL = 'TT' Then
                    ToolTip($message)
                Else
                    GUICtrlSetData($ALTERNATECTRL, $message)
                 EndIf
               
               if $message = 0 Then
                  True
               Else
                    GUICtrlSetData($ALTERNATECTRL, $message)
                 EndIf
        EndSelect
    Until $sec = 0
EndFunc ;==>_CountDown