aso ja habs jetzt gesehen aber das flackern ist imma noch , hab dein code genau übernommen aber weiß auch nicht warum das trotzdem flackert
Aktuelle Uhrzeit
-
- [ offen ]
-
Darki -
7. Dezember 2007 um 15:08 -
Geschlossen -
Erledigt
-
-
Sry das Thema ist schon alt aber hab imma noch das Problem wenn ich den code so einfüge flackert das imma noch jemand eine idee ?
Spoiler anzeigen
[autoit]#include <Events.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiHyperLink.au3>
#include <file.au3>
#include <Date.au3>
#include <GuiConstants.au3>$GUI = GUICreate("Time Box", 750, 600, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0x00E0FFFF)$PageControl1 = GUICtrlCreateTab(0, 0, 750, 600)
[/autoit] [autoit][/autoit] [autoit]
$TabSheet1 = GUICtrlCreateTabItem("Time")$Input0 = GUICtrlCreateLabel("Zeit in DE", 8, 30, 300, 30)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetBkColor(-1, 0x000000)
$Input1 = GUICtrlCreateLabel("TAG", 8, 55, 300, 30)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)
$Input2 = GUICtrlCreateLabel("Stunde", 8, 80, 300, 30)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)
$Input3 = GUICtrlCreateLabel("Zeit in Korea", 8, 110, 300, 30)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetBkColor(-1, 0x000000)
$Input4 = GUICtrlCreateLabel("TAG", 8, 135, 300, 30)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)
$Input5 = GUICtrlCreateLabel("Stunde", 8, 160, 300, 30)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)
#EndRegion ### END Koda GUI section ###
AdlibEnable("_DateUpdate",500)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _DateUpdate()
[/autoit]
$date = _NowCalc ( )
GUICtrlSetData($Input2,_DateTimeFormat($date,5))
GUICtrlSetData($Input1, _DateTimeFormat($date,1))
$theirdate = _DateAdd("h",8,$date)
GUICtrlSetData($Input5,_DateTimeFormat($theirdate,5))
GUICtrlSetData($Input4, _DateTimeFormat($theirdate,1))
EndFunc -
Ich hab das Script mal auf das notwendigste reduziert und festgestellt das es scheinbar mit der Farbe (Hintergrund) zu tun hat. Wenn die Uhr im grauen Fenster läuft, flackert bei mir nichst mehr.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <date.au3>$GUI = GUICreate("Time Box",300,200, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
$Input0 = GUICtrlCreateLabel("Zeit in DE", 8, 30, 300, 30)
$Input1 = GUICtrlCreateLabel("TAG", 8, 55, 300, 30)
$Input2 = GUICtrlCreateLabel("Stunde", 8, 80, 300, 30)
$Input3 = GUICtrlCreateLabel("Zeit in Korea", 8, 110, 300, 30)
$Input4 = GUICtrlCreateLabel("TAG", 8, 135, 300, 30)
$Input5 = GUICtrlCreateLabel("Stunde", 8, 160, 300, 30)
AdlibEnable("_DateUpdate",500)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _DateUpdate()
[/autoit]
$date = _NowCalc ( )
$theirdate = _DateAdd("h",8,$date)
GUICtrlSetData($Input2,_DateTimeFormat($date,5))
GUICtrlSetData($Input1, _DateTimeFormat($date,1))
GUICtrlSetData($Input5,_DateTimeFormat($theirdate,5))
GUICtrlSetData($Input4, _DateTimeFormat($theirdate,1))
EndFunc -
jo ich sehs bei mia flakkert es auch nicht ich hab mal mit tabsheet und deinem geänderten code hier rein gebracht und es fängt wieder an zu flakern ich glaube das liegt an dem tabsheet
Spoiler anzeigen
[autoit]#include
[/autoit] [autoit][/autoit] [autoit]
#include$GUI = GUICreate("Time Box",750,600, -1, -1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$PageControl1 = GUICtrlCreateTab(0, 0, 750, 600)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$TabSheet1 = GUICtrlCreateTabItem("Option")$TabSheet2 = GUICtrlCreateTabItem(" Time")
[/autoit] [autoit][/autoit] [autoit]
$Input0 = GUICtrlCreateLabel("Zeit in DE", 8, 30, 300, 30)
$Input1 = GUICtrlCreateLabel("TAG", 8, 55, 300, 30)
$Input2 = GUICtrlCreateLabel("Stunde", 8, 80, 300, 30)
$Input3 = GUICtrlCreateLabel("Zeit in Korea", 8, 110, 300, 30)
$Input4 = GUICtrlCreateLabel("TAG", 8, 135, 300, 30)
$Input5 = GUICtrlCreateLabel("Stunde", 8, 160, 300, 30)
AdlibEnable("_DateUpdate",500)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _DateUpdate()
[/autoit]
$date = _NowCalc ( )
$theirdate = _DateAdd("h",8,$date)
GUICtrlSetData($Input2,_DateTimeFormat($date,5))
GUICtrlSetData($Input1, _DateTimeFormat($date,1))
GUICtrlSetData($Input5,_DateTimeFormat($theirdate,5))
GUICtrlSetData($Input4, _DateTimeFormat($theirdate,1))
EndFunc
</date.au3></GUIConstants.au3> -
- Offizieller Beitrag
Ich hatte diesen Thread damals gelesen und ein paar Experimente angestellt. Kam damals aber nicht zu einer Lösung und legte das beiseite.
Jetzt habe ich mich nochmal damit beschäftigt und festgestellt, dass es wohl etwas mit den UDFs (_DateAdd und _DateTimeFormat) zu tun hat.
Jedenfalls habe ich mal eine eigene Funktion zum updaten geschrieben und bei der flackert es nur noch gaaaanz selten.Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <date.au3>$GUI = GUICreate('Aktuelle Zeit', 300, 200, 193, 115)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0x000000)
WinSetOnTop('Aktuelle Zeit', '', 1)GUICtrlCreateLabel('Zeit in Deutschland', 8, 8, 280, 20)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
GUICtrlSetColor(-1, 0x8888FF)
GUICtrlSetBkColor(-1, 0x000000)$Input1 = GUICtrlCreateLabel('', 8, 30, 280, 20, $SS_LEFT)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)$Input2 = GUICtrlCreateLabel('', 8, 53, 280, 20, $SS_LEFT)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)GUICtrlCreateLabel('Zeit in Korea', 8, 108, 280, 20)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
GUICtrlSetColor(-1, 0x8888FF)
GUICtrlSetBkColor(-1, 0x000000)$Input4 = GUICtrlCreateLabel('', 8, 130, 280, 20, $SS_LEFT)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)$Input5 = GUICtrlCreateLabel('', 8, 153, 280, 20, $SS_LEFT)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 14, 400, 0, 'Arial')
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)AdlibEnable('xDateUpdate',1000)
[/autoit] [autoit][/autoit] [autoit]
xDateUpdate()
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _DateUpdate(); Diese Funktion ist nur noch hier drin, um den Unterschied zu testen
[/autoit] [autoit][/autoit] [autoit]
$date = _NowCalc()
GUICtrlSetData($Input2,_DateTimeFormat($date,5))
GUICtrlSetData($Input1, _DateTimeFormat($date,1))
$theirdate = _DateAdd('h',8,$date)
GUICtrlSetData($Input5,_DateTimeFormat($theirdate,5))
GUICtrlSetData($Input4, _DateTimeFormat($theirdate,1))
EndFuncFunc xDateUpdate()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Input1, xWDAY(@WDAY) & ', ' & @MDAY & '. ' & xMON(@MON) & ' ' & @YEAR)
GUICtrlSetData($Input2, @HOUR & ':' & @MIN & ':' & @SEC)
Local $aDays = StringSplit('31,28,31,30,31,30,31,31,30,31,30,31', ',')
Local $T2_Year = @YEAR
Local $T2_Mon = @MON
Local $T2_MDay = @MDAY
Local $T2_WDay = @WDAY
Local $T2_Hour = @HOUR + 8; Hier die Zeitverschiebung in Stunden eintragen
Local $T2_Min = @MIN
Local $T2_Sec = @SEC
If $T2_Hour > 24 Then
$T2_Hour -= 24
$T2_WDay += 1
If $T2_WDay > 7 Then $T2_WDay = 1
$T2_MDay += 1
If _DateIsLeapYear($T2_Year) Then
$aDays[2] = 29
Else
$aDays[2] = 28
EndIf
If $T2_MDay > $aDays[$T2_Mon] Then
$T2_MDay = 1
$T2_Mon += 1
If $T2_Mon > 12 Then
$T2_Mon = 1
$T2_Year += 1
EndIf
EndIf
EndIf
GUICtrlSetData($Input4, xWDAY($T2_WDay) & ', ' & $T2_MDay & '. ' & xMON($T2_Mon) & ' ' & $T2_Year)
GUICtrlSetData($Input5, $T2_Hour & ':' & $T2_Min & ':' & $T2_Sec)
EndFuncFunc xWDAY($wDay)
[/autoit]
Local $aDay = StringSplit('Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag', ',')
Return $aDay[$wDay]
EndFunc
Func xMON($Mon)
Local $aMon = StringSplit('Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember', ',')
Return $aMon[$Mon]
EndFunc -
Bei flimmert weder die alte noch die neue Funktion. Es liegt also wohl doch am Tab-Element !
-
- Offizieller Beitrag
Ändere bei meinem Script mal den Aufruf xDateUpdate in _DateUpdate und beobachte die Anzeige eine Weile, dann flackert die Anzeige gelegentlich. Mit xDateUpdate flackert es sehr viel seltener.
Das mit dem Tab-Element habe ich übrigens auch getestet und dort verhält es sich genauso. -
Danke Oscar es ist endlich geschaft es ist super endlich nen tab menu haben ohne das es falkert na ja ab und zu schon aber das müste so erst mal gehen und danke auch an die anderen die versucht haben mia zu helfen der thread wird auch anderen helfen hoff ich
THX =)
-
- Offizieller Beitrag
Wobei ich dazu sagen muss, dass meine Update-Funktion nur positive (+ x Stunden) Zeitunterschiede richtig anzeigt. Bei negativen Unterschieden muss die Funktion entsprechend angepasst werden.
-