#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
;
Opt("TrayMenuMode", 3)
;
Global Const $Text_en = "ITLISASTIMEACQUARTERDCTWENTYFIVEXHALFBTENFTOPASTERUNINE" & _
"ONESIXTHREEFOURFIVETWOEIGHTELEVENSEVENTWELVETENSEOCLOCK"
Global Const $Text_de = "ESKISTAFÜNFZEHNBYGVORGNACHVIERTELHALBVORNACHEINSLMEZWEI" & _
"DREIAUJVIERFÜNFTOSECHSSIEBENLACHTNEUNZEHNELFZWÖLFUNKUHR"
Global Const $Text_nl = "HETKISAVIJFTIENBTZVOOROVERMEKWARTVOORSPWOVERHALFTHGÉÉNS" & _
"TWEEPVCDRIEVIERVIJFZESZEVENONEGENACHTTIENELFTWAALFBFUUR"
Global Const $Text_fr = "ILRESTGJUNEDEUXCINQDIXQUATREPHUITSEPTNEUFSIXDOUZEUTROIS" & _
"ONZEDHEURESMOINSGFJWLPETVINGTBLWVLEDEMIWDIXYUQUARTZCINQ"
Global $Char_Text[111]
Global $Char_Text_Remain[5], $Color_Chooser[6]
Global $Text_en_Split = StringSplit($Text_en, "")
Global $Text_de_Split = StringSplit($Text_de, "")
Global $Text_nl_Split = StringSplit($Text_nl, "")
Global $Text_fr_Split = StringSplit($Text_fr, "")
Global $Hour_Min = @HOUR & @MIN
Global $sIni_File = @ScriptDir & "\QLOCKTWOSettings.ini"
Global $Text_En_Min_Highlight[12][2] = _
[["00", "1|2|4|5|105|106|107|108|123|110"], _
["05", "1|2|4|5|29|30|31|32|45|46|47|48"], _
["10", "1|2|4|5|39|40|41|45|46|47|48"], _
["15", "1|2|4|5|12|14|15|16|17|18|19|20|45|46|47|48"], _
["20", "1|2|4|5|23|24|25|26|27|28|45|46|47|48"], _
["25", "1|2|4|5|23|24|25|26|27|28|29|30|31|32|45|46|47|48"], _
["30", "1|2|4|5|34|35|36|37|45|46|47|48"], _
["35", "1|2|4|5|23|24|25|26|27|28|29|30|31|32|43|44"], _
["40", "1|2|4|5|23|24|25|26|27|28|43|44"], _
["45", "1|2|4|5|12|14|15|16|17|18|19|20|43|44"], _
["50", "1|2|4|5|39|40|41|43|44"], _
["55", "1|2|4|5|29|30|31|32|43|44"]]
Global $Text_En_Hour_Highlight[12][2] = _
[["01", "56|57|58"], _
["02", "75|76|77"], _
["03", "62|63|64|65|66"], _
["04", "67|68|69|70"], _
["05", "71|72|73|74"], _
["06", "59|60|61"], _
["07", "89|90|91|92|93"], _
["08", "78|79|80|81|82"], _
["23", "52|53|54|55"], _
["10", "100|101|102"], _
["11", "83|84|85|86|87|88"], _
["12", "94|95|96|97|98|99"]]
Global $Text_de_Min_Highlight[12][2] = _
[["00", "1|2|4|5|6|108|123|110"], _
["05", "1|2|4|5|6|8|9|10|11|23|24|25|26"], _
["10", "1|2|4|5|6|12|13|14|15|23|24|25|26"], _
["15", "1|2|4|5|6|27|28|29|30|31|32|33|41|42|43|44"], _
["20", "1|2|4|5|6|12|13|14|15|19|20|21|34|35|36|37"], _
["25", "1|2|4|5|6|8|9|10|11|19|20|21|34|35|36|37"], _
["30", "1|2|4|5|6|34|35|36|37"], _
["35", "1|2|4|5|6|8|9|10|11|23|24|25|26|34|35|36|37"], _
["40", "1|2|4|5|6|12|13|14|15|23|24|25|26|34|35|36|37"], _
["45", "1|2|4|5|6|27|28|29|30|31|32|33|38|39|40"], _
["50", "1|2|4|5|6|12|13|14|15|19|20|21"], _
["55", "1|2|4|5|6|8|9|10|11|19|20|21"]]
Global $Text_de_Hour_Highlight[12][2] = _
[["01", "45|46|47|48"], _
["02", "52|53|54|55"], _
["03", "56|57|58|59"], _
["04", "63|64|65|66"], _
["05", "67|68|69|70"], _
["06", "73|74|75|76|77"], _
["07", "78|79|80|81|82|83"], _
["08", "85|86|87|88"], _
["23", "89|90|91|92"], _
["10", "93|94|95|96"], _
["11", "97|98|99"], _
["12", "100|101|102|103|104"]]
Global $Text_nl_Min_Highlight[12][2] = _
[["00", "1|2|3|5|6|108|109|110"], _
["05", "1|2|3|5|6|8|9|10|11|41|42|43|44"], _
["10", "1|2|3|5|6|12|13|14|15|41|42|43|44"], _
["15", "1|2|3|5|6|29|30|31|32|33|41|42|43|44"], _
["20", "1|2|3|5|6|12|13|14|15|45|46|47|48|34|35|36|37"], _
["25", "1|2|3|5|6|8|9|10|11|45|46|47|48|34|35|36|37"], _
["30", "1|2|3|5|6|45|46|47|48"], _
["35", "1|2|3|5|6|8|9|10|11|41|42|43|44|45|46|47|48"], _
["40", "1|2|3|5|6|12|13|14|15|41|42|43|44|45|46|47|48"], _
["45", "1|2|3|5|6|29|30|31|32|33|34|35|36|37"], _
["50", "1|2|3|5|6|12|13|14|15|34|35|36|37"], _
["55", "1|2|3|5|6|8|9|10|11|34|35|36|37"]]
Global $Text_nl_Hour_Highlight[12][2] = _
[["01", "52|53|54"], _
["02", "56|57|58|59"], _
["03", "63|64|65|66"], _
["04", "67|68|69|70"], _
["05", "71|72|73|74"], _
["06", "59|60|61"], _
["07", "78|79|80|81|82"], _
["08", "89|90|91|92"], _
["09", "84|85|86|87|88"], _
["10", "93|94|95|96"], _
["11", "97|98|99"], _
["12", "100|101|102|103|104|105"]]
Global $Text_fr_Hour_Highlight[12][2] = _
[["01","1|2|4|5|6|9|10|11|61|62|63|64|65"], _
["02", "1|2|4|5|6|12|13|14|15|61|62|63|64|65|66"], _
["03", "1|2|4|5|6|51|52|53|54|55|61|62|63|64|65|66"], _
["04", "1|2|4|5|6|23|24|25|26|27|28|61|62|63|64|65|66"], _
["05", "1|2|4|5|6|16|17|18|19|61|62|63|64|65|66"], _
["06", "1|2|4|5|6|42|43|44|61|62|63|64|65|66"], _
["07", "1|2|4|5|6|34|35|36|37|61|62|63|64|65|66"], _
["08", "1|2|4|5|6|30|31|32|33|61|62|63|64|65|66"], _
["23", "1|2|4|5|6|38|39|40|41|61|62|63|64|65|66"], _
["10", "1|2|4|5|6|20|21|22|61|62|63|64|65|66"], _
["11", "1|2|4|5|6|56|57|58|59|61|62|63|64|65|66"], _
["12", "1|2|4|5|6|45|46|47|48|49|61|62|63|64|65|66"]]
Global $Text_fr_Min_Highlight[12][2] = _
[["00", ""], _
["05", "107|108|109|110"], _
["10", "96|97|98"], _
["15", "78|79|101|102|103|104|105"], _
["20", "80|81|82|83|84"], _
["25", "80|81|82|83|84|107|108|109|110"], _
["30", "78|79|91|92|93|94"], _
["35", "67|68|69|70|71|80|81|82|83|84|107|108|109|110"], _
["40", "67|68|69|70|71|80|81|82|83|84"], _
["45", "67|68|69|70|71|89|90|101|102|103|104|105"], _
["50", "67|68|69|70|71|96|97|98"], _
["55", "67|68|69|70|71|107|108|109|110"]]
Global $Color_Themes[5][3] = _
[["Black Ice Tea", 0x000000, 0x303030], _
["Cherry Cake", 0xDC0817, 0xB80713], _
["Vanilla Sugar", 0xC4C3C1, 0xA2A1A0], _
["Frozen Blackberry", 0x503082, 0x6A4F93], _
["Lime Juice", 0xA8AF0A, 0x8C9107]]
$Selected_Theme = IniRead($sIni_File, "Theme", "Selected", 0)
$Selected_Lan = IniRead($sIni_File, "Language", "Selected", "fr")
Switch $Selected_Lan
Case "en"
$lang = $Text_en_Split
Case "de"
$lang = $Text_de_Split
Case "nl"
$lang = $Text_nl_Split
Case "fr"
$lang = $Text_fr_Split
EndSwitch
Global $Text_Color_Dark = $Color_Themes[$Selected_Theme][2]
Global $Text_Color_Lit = 0xFFFFFF
Global $Form_BK_Color = $Color_Themes[$Selected_Theme][1]
Global $Combo_Add
#Region ### START Koda GUI section ### Form=
$size = 20
$QclockTwoForm = GUICreate("QLOCK TWO", (13*$size), (12*$size), -1, -1)
GUISetBkColor($Form_BK_Color)
$k = 1
For $i = 1 To 10
For $j = 1 To 11
$Char_Text[$k] = GUICtrlCreateLabel($lang[$k], $size * $j, $size * $i, 20, 20, $SS_CENTER)
GUICtrlSetColor(-1, $Text_Color_Dark)
$k += 1
Next
Next
$Char_Text_Remain[1] = GUICtrlCreateLabel(Chr(149), 10, 10, 10, 20, $SS_CENTER)
GUICtrlSetColor(-1, $Text_Color_Dark)
$Char_Text_Remain[2] = GUICtrlCreateLabel(Chr(149), 240, 10, 10, 20, $SS_CENTER)
GUICtrlSetColor(-1, $Text_Color_Dark)
$Char_Text_Remain[3] = GUICtrlCreateLabel(Chr(149), 240, 220, 10, 20, $SS_CENTER)
GUICtrlSetColor(-1, $Text_Color_Dark)
$Char_Text_Remain[4] = GUICtrlCreateLabel(Chr(149), 10, 220, 10, 20, $SS_CENTER)
GUICtrlSetColor(-1, $Text_Color_Dark)
$Tray_Color = TrayCreateMenu("Color")
For $r = 1 To 5 Step 1
$Color_Chooser[$r] = TrayCreateItem($Color_Themes[$r - 1][0],$Tray_Color)
Next
$Tray_Lang = TrayCreateMenu("Language")
$Lang_Chooser_en = TrayCreateItem("English" ,$Tray_Lang)
$Lang_Chooser_de = TrayCreateItem("Deutch" ,$Tray_Lang)
$Lang_Chooser_nl = TrayCreateItem("Nederlands" ,$Tray_Lang)
$Lang_Chooser_fr = TrayCreateItem("Français" ,$Tray_Lang)
TrayCreateItem("")
$Tray_Exit = TrayCreateItem("Exit")
GUISetState(@SW_SHOW)
_CalibrateTime
()
#EndRegion ### END Koda GUI section ###
;
While 1
If $Hour_Min <> @HOUR & @MIN Then
_CalibrateTime
()
$Hour_Min = @HOUR & @MIN
EndIf
$nMsg = TrayGetMsg()
Switch $nMsg
Case $Tray_Exit
Exit
Case $Color_Chooser[1]
_Change
_Color
(1)
Case $Color_Chooser[2]
_Change
_Color
(2)
Case $Color_Chooser[3]
_Change
_Color
(3)
Case $Color_Chooser[4]
_Change
_Color
(4)
Case $Color_Chooser[5]
_Change
_Color
(5)
Case $Lang_Chooser_en
IniWrite($sIni_File, "Language", "Selected", "en")
_RestartScript
()
Case $Lang_Chooser_de
IniWrite($sIni_File, "Language", "Selected", "de")
_RestartScript
()
Case $Lang_Chooser_nl
IniWrite($sIni_File, "Language", "Selected", "nl")
_RestartScript
()
Case $Lang_Chooser_fr
IniWrite($sIni_File, "Language", "Selected", "fr")
_RestartScript
()
EndSwitch
If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
WEnd
;
Func _CalibrateTime
()
$Get_Min = @MIN
$Get_Hour = _Hour
_Correct
(@HOUR)
Switch $Selected_Lan
Case "en"
$T_Min = $Text_en_Min_Highlight
$T_Hour = $Text_en_Hour_Highlight
Case "de"
$T_Min = $Text_de_Min_Highlight
$T_Hour = $Text_de_Hour_Highlight
Case "nl"
$T_Min = $Text_nl_Min_Highlight
$T_Hour = $Text_nl_Hour_Highlight
Case "fr"
$T_Min = $Text_fr_Min_Highlight
$T_Hour = $Text_fr_Hour_Highlight
EndSwitch
For $g = 0 To 11
If _GetMinNumber
($Get_Min) = $T_Min[$g][0] Then
_Set
_Remainder
_Min
(@MIN)
$Text_Num_Split = StringSplit($T_Min[$g][1], "|")
$Text_Hr_Split = StringSplit($T_Hour[$Get_Hour][1], "|")
For $h = 1 To 110
GUICtrlSetColor($Char_Text[$h], $Text_Color_Dark)
For $l = 1 To $Text_Num_Split[0]
If $Text_Num_Split[$l] = $h Then
GUICtrlSetColor($Char_Text[$Text_Num_Split[$l]], $Text_Color_Lit)
EndIf
Next
For $m = 1 To $Text_Hr_Split[0]
If $Text_Hr_Split[$m] = $h Then
GUICtrlSetColor($Char_Text[$Text_Hr_Split[$m]], $Text_Color_Lit)
EndIf
Next
Next
Return
EndIf
Next
EndFunc
;
Func _Change
_Color
($colorNumb)
GUISetBkColor($Color_Themes[$colorNumb-1][1])
$Text_Color_Dark = $Color_Themes[$colorNumb-1][2]
_CalibrateTime
()
IniWrite(@TempDir & "/QLOCKTWOSettings.ini", "Theme", "Selected", $colorNumb-1)
EndFunc
;
Func _GetMinNumber
($s_Number)
Switch $s_Number
Case 0 To 4
Return "00"
Case 5 To 9
Return "05"
Case 10 To 14
Return "10"
Case 15 To 19
Return "15"
Case 20 To 24
Return "20"
Case 25 To 29
Return "25"
Case 30 To 34
Return "30"
Case 35 To 39
Return "35"
Case 40 To 44
Return "40"
Case 45 To 49
Return "45"
Case 50 To 54
Return "50"
Case 55 To 59
Return "55"
EndSwitch
EndFunc
;
Func _Hour
_Correct
($s_Hour)
Switch $s_Hour
Case 13 to 23
$Hour = ($s_Hour - 13)
Case 00
$Hour = 11
Case Else
$Hour = $s_Hour -1
EndSwitch
Switch $Selected_Lan
Case "en", "fr"
If @MIN > 34 Then
$Hour += 1
If $Hour > 11 Then $Hour = 00
EndIf
Case "de"
If @MIN > 19 Then
$Hour += 1
If $Hour > 11 Then $Hour = 00
EndIf
Case "nl"
If @MIN > 24 Then
$Hour += 1
If $Hour > 11 Then $Hour = 00
EndIf
EndSwitch
Return $Hour
EndFunc
;
Func _Set
_Remainder
_Min
($q_Min)
Local $e_Count
$w_Min = StringRight($q_Min, 1)
Switch $w_Min
Case 1, 6
$e_Count = 1
Case 2, 7
$e_Count = 2
Case 3, 8
$e_Count = 3
Case 4, 9
$e_Count = 4
EndSwitch
For $t = 1 To 4
GUICtrlSetColor($Char_Text_Remain[$t], $Text_Color_Dark)
Next
For $t = 1 To $e_Count
GUICtrlSetColor($Char_Text_Remain[$t], $Text_Color_Lit)
Next
EndFunc
;
Func _RestartScript
()
If @Compiled = 1 Then
Run( FileGetShortName(@ScriptFullPath))
Else
Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
EndIf
Exit
EndFunc
I found that having a missing/corrupted ini file can give you the "funny words" you experienced. I have therefore taken the liberty of moving the ini file to
so it is easily available to delete if needed.