ich habe ein problem....es kommt ständig eine fehlermeldung beim beenden, dass das script nicht mehr reagiert kann mir einer weiter helfen und verraten woran das liegen könnte?
Spoiler anzeigen
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
;~ #include "Z:\BackUps\AutoIt - Scripts\##Fertig\Background\UDF - Sammlung.au3"
#include <GDIPlus.au3>
#Include <Color.au3>
HotKeySet("{ESC}", "_Binaeruhr_Terminate")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $x_schwarz = 0x000000, $x_on = 0xF61A00, $x_off = 0xF0F0F0
Global $a_ellipse_hour[5][2] = [[110, 380], [110, 300], [110, 220], [10, 380], _
[10, 300]]
Global $a_ellipse_min[6][2] = [[310, 380], [310, 300], [310, 220], [210, 380], _
[210, 300], [210, 220]]
Global $a_ellipse_sec[6][2] = [[510, 380], [510, 300], [510, 220], [410, 380], _
[410, 300], [410, 220]]
_GDIPlus_StartUp()
[/autoit] [autoit][/autoit] [autoit]Global $h_stift = _GDIPlus_PenCreate("0xFF" & Hex(_ColorGetRed($x_schwarz), 2) & Hex(_ColorGetGreen($x_schwarz), 2) & Hex(_ColorGetBlue($x_schwarz), 2), 1)
Global $h_on = _GDIPlus_BrushCreateSolid("0xFF" & Hex(_ColorGetRed($x_on), 2) & Hex(_ColorGetGreen($x_on), 2) & Hex(_ColorGetBlue($x_on), 2))
Global $h_off = _GDIPlus_BrushCreateSolid("0xFF" & Hex(_ColorGetRed($x_off), 2) & Hex(_ColorGetGreen($x_off), 2) & Hex(_ColorGetBlue($x_off), 2))
Global $h_GUI = GUICreate("Binäruhr", 600, 480, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_POPUP,$WS_GROUP),$WS_EX_TOPMOST)
GUISetOnEvent(-3, "_Binaeruhr_Terminate")
GUISetBkColor($x_schwarz, $h_GUI)
Global $h_UhrzeitDigital = GUICtrlCreateLabel(@HOUR & ":" & @MIN & ":" & @SEC, 70, 50, 460, 150)
GUICtrlSetBkColor($h_UhrzeitDigital, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont($h_UhrzeitDigital, 85, 400, 0, "Arial")
GUICtrlSetColor($h_UhrzeitDigital, $x_on)
GUISetCursor(16, 1, $h_GUI)
Global $h_graphic = _GDIPlus_GraphicsCreateFromHWND($h_GUI)
_GDIPlus_GraphicsSetSmoothingMode($h_graphic, 2)
Global $h_trans = GUICreate("", @DesktopWidth + 5, @DesktopHeight + 5, -5, -5, $WS_POPUP, $DS_MODALFRAME)
GUISetBkColor($x_schwarz)
WinSetTrans($h_trans, "", 60)
GUISetState(@SW_SHOW, $h_trans)
GUISetCursor(16, 1, $h_trans)
;~ _GUIFadeInOut($h_GUI, True,
GUISetState(@SW_SHOW, $h_GUI)
While True
Sleep(50)
_Binaeruhr_Update()
WEnd
Func _Binaeruhr_Terminate()
;~ _GUIFadeInOut($h_GUI, False,
_GDIPlus_GraphicsDispose($h_graphic)
_GDIPlus_PenDispose($h_stift)
_GDIPlus_BrushDispose($x_on)
_GDIPlus_BrushDispose($x_off)
_GDIPlus_Shutdown()
GUIDelete($h_GUI)
GUIDelete($h_trans)
Exit
EndFunc
Func _Punkt($i_on, $i_x, $i_y)
If $i_on = 1 Then
Local $h_farbe = $h_on
Else
Local $h_farbe = $h_off
EndIf
_GDIPlus_GraphicsFillEllipse($h_graphic, $i_x, $i_y, 70, 70, $h_farbe)
_GDIPlus_GraphicsDrawEllipse($h_graphic, $i_x, $i_y, 70, 70, $h_stift)
EndFunc
Func _Binaeruhr_Update()
If GUICtrlRead($h_UhrzeitDigital) <> @HOUR & ":" & @MIN & ":" & @SEC Then GUICtrlSetData($h_UhrzeitDigital, @HOUR & ":" & @MIN & ":" & @SEC)
Local $b_time = _IntegerToBinary(@SEC)
If StringLen($b_time) < 6 Then
Do
$b_time = "0" & $b_time
Until StringLen($b_time) = 6
EndIf
Local $a_sekunde = StringSplit($b_time, "")
$a_sekunde = _ArrayElementeTauschen($a_sekunde)
For $i = 1 To $a_sekunde[0]
_Punkt($a_sekunde[$i], $a_ellipse_sec[$i - 1][0], $a_ellipse_sec[$i - 1][1])
Next
$b_time = _IntegerToBinary(@MIN)
[/autoit] [autoit][/autoit] [autoit]If StringLen($b_time) < 6 Then
Do
$b_time = "0" & $b_time
Until StringLen($b_time) = 6
EndIf
Local $a_minute = StringSplit($b_time, "")
$a_minute = _ArrayElementeTauschen($a_minute)
For $i = 1 To $a_minute[0]
_Punkt($a_minute[$i], $a_ellipse_min[$i - 1][0], $a_ellipse_min[$i - 1][1])
Next
$b_time = _IntegerToBinary(@HOUR)
[/autoit] [autoit][/autoit] [autoit]If StringLen($b_time) < 5 Then
Do
$b_time = "0" & $b_time
Until StringLen($b_time) = 5
EndIf
Local $a_hour = StringSplit($b_time, "")
$a_hour = _ArrayElementeTauschen($a_hour)
For $i = 1 To $a_hour[0]
_Punkt($a_hour[$i], $a_ellipse_hour[$i - 1][0], $a_ellipse_hour[$i - 1][1])
Next
EndFunc
Func _IntegerToBinary($v_number)
$b_binary = ""
Do
$b_binary = Mod($v_number, 2) & $b_binary
$v_number = Floor($v_number/2)
Until $v_number = 0
Return $b_binary
EndFunc
Func _ArrayElementeTauschen($a_array)
Local $v_rubbish
If Mod($a_array[0], 2) = 0 Then
For $i = 1 To ($a_array[0] / 2)
$v_rubbish = $a_array[$i]
$a_array[$i] = $a_array[$a_array[0] - $i + 1]
$a_array[$a_array[0] - $i + 1] = $v_rubbish
Next
Else
For $i = 1 To (($a_array[0] - 1) / 2)
$v_rubbish = $a_array[$i]
$a_array[$i] = $a_array[$a_array[0] - $i + 1]
$a_array[$a_array[0] - $i + 1] = $v_rubbish
Next
EndIf
Return $a_array
EndFunc