Hallo zusammen,
kann es sein, dass nach einem Versionswechsel von Autoit, mein Script nicht mehr funktioniert ?
Denn der folgende Fehler tritt auf ----> ERROR: AdlibEnable(): undefined function. AdlibEnable("_UpdateTime", 1000)
Eine in einer ältere AutoIt Version kompilierte Version dieses - genau diese Scripts läuft mit diesem Code.
Weiss event. jemand wodurch der Fehler erzeugt wird - ?andere/fehlende Includes ? Schreibweise der _Func ....
Danke schon einmal
Chris
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=triathlon.ico
#AutoIt3Wrapper_outfile=TIMER_WI_NEW2.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_File_Add=2009-11-04 15 16 33.jpg
#include <GUIConstantsEx.au3>
#include <GUIStatusBar.au3>
#include <GUIConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <Date.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
Local $aParts[3] = [100, 220, 300]
#Region ### START Koda GUI section ### Form=g:\autoit\install\koda\forms\countdownwi3.kxf
$Wi703 = GUICreate("Countdown 70.3 Wiesbaden 2010", 313, 245, 187, 128)
GUISetIcon(@ScriptDir & "\triathlon.ico")
GUISetBkColor(0xF9DBDB)
$IronmenPic = GUICtrlCreatePic(@ScriptDir & "\2009-11-04 15 16 33.jpg", 0,15, 311, 180, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Desc1 = GUICtrlCreateLabel("1.9 k Swim - 90 k Bike - 21.1 k Run", 5, 165, 300, 28, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 11, 800, 0, "MS Sans Serif")
GUICtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT)
$Timer = GUICtrlCreateLabel("TIMER", 5, 10, 300, 25, BitOR($SS_CENTER, $SS_SUNKEN, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 9.5, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetBkColor(-1, 0xE2E2F9)
$Abbruch = GUICtrlCreateLabel("(Abbrechen: ESC)", 110, 205, 90, 17)
GUICtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT)
$hStatus = _GUICtrlStatusBar_Create ($Wi703)
_GUICtrlStatusBar_SetParts ($hStatus, $aParts)
$TM = _GUICtrlStatusBar_SetText($hStatus, " - CDE - 2009 -",1)
$Datum = _GUICtrlStatusBar_SetText($hStatus, " " & @MDAY & "." & @MON & "." & @YEAR, 0)
$Zeit = _GUICtrlStatusBar_SetText($hStatus, " " & @HOUR & ":" & @MIN & ":" & @SEC, 3)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
WinSetOnTop("Countdown 70.3 Wiesbaden 2010", "", 1)
$bStop = False
HotKeySet('{ESC}', '_Stop')
HotKeySet('!{F4}', '_Stop')
AdlibEnable("_UpdateTime", 1000)
Do
$nMsg = GUIGetMsg()
If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
$iDiff = _DateDiff('s', '2010/08/15 08:00:00', _NowCalc())
GUICtrlSetData($Timer, _SecondsToDateTime($iDiff))
Sleep(500)
If $nMsg() = $GUI_EVENT_CLOSE Then Exit
Until GUIGetMsg() = -3 OR $bStop
Exit
Func _UpdateTime()
_GUICtrlStatusBar_SetText($hStatus, " " & @HOUR & ":" & @MIN & ":" & @SEC, 2)
EndFunc ;==>_UpdateTime
Func _Stop()
$bStop = True
EndFunc ;==>_Stop
;===============================================================================
; Function Name..: _SecondsToDateTime($iSeconds[, $iLang])
; Description....: Umwandlung von Sekunden in einen String mit Zeitangaben
; Parameter(s)...: $iSeconds = Wert in Sekunden
; $iLang
; 0 = Ausgabe in deutsch
; 1 = Ausgabe in englisch
; Return Value...: String (Wochen, Tage, Stunden, Minuten, Sekunden)
;===============================================================================
Func _SecondsToDateTime($iSeconds, $iLang = 1)
If $iLang < 0 Or $iLang > 1 Then $iLang = 0
Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[4] = [86400, 3600, 60, 1]
;~ Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[5] = [604800, 86400, 3600, 60, 1]
Local $aFormat[4][2] = [['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
;~ Local $aFormat[5][2] = [['Wochen', 'Weeks'],['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
If $iSeconds = 0 Then Return '0 ' & $aFormat[3][$iLang]
;~ If $iSeconds = 0 Then Return '0 ' & $aFormat[4][$iLang]
If $iSeconds < 0 Then
$bNegative = True
$iSeconds = Abs($iSeconds)
EndIf
For $i = 0 To 3
;~ For $i = 0 To 4
If ($iSeconds >= $aDiv[$i]) Or $bCheck Then
$sOut &= Int($iSeconds / $aDiv[$i]) & ' '
If Int($iSeconds / $aDiv[$i]) = 1 Then
$sOut &= StringTrimRight($aFormat[$i][$iLang], 1) & ', '
Else
$sOut &= $aFormat[$i][$iLang] & ', '
EndIf
$bCheck = True
EndIf
$iSeconds = Mod($iSeconds, $aDiv[$i])
Next
;~ If $bNegative Then $sOut = ' - ' & $sOut
If $bNegative Then $sOut = '' & $sOut
Return StringTrimRight($sOut, 2)
EndFunc ;==>_SecondsToDateTime