;Override CanaalDictator ChannelID.ahk by DutchPark ;-------------------------------------------------- ; This script changes the Canal Dictator services order #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. tempname = %A_DD%%A_MM%%A_YYYY%%A_HOUR%%A_MIN%%A_SEC% WinWait, Top Set, , 3 ; Als TopSet nog niet gestart is, dan stoppen if ErrorLevel { MsgBox, s.v.p. eerst TopSet starten !!! exit } IfWinNotActive, Top Set, , WinActivate, Top Set, WinWaitActive, Top Set, IfWinExist, Warning ; Als er nog een Warning venster openstaat, dan dit sluiten { IfWinNotActive, Warning, , WinActivate, Warning, WinWaitActive, Warning, Send, {ENTER} } IfWinExist, Edit ; Als er nog een Edit venster openstaat, dan dit sluiten { IfWinNotActive, Edit , , WinActivate, Edit , WinWaitActive, Edit , Send, {ENTER} } IfWinExist, Warning ; Er kan een nieuw Warning vanster zijn ontstaan, dus dit sluiten { IfWinNotActive, Warning, , WinActivate, Warning, WinWaitActive, Warning, Send, {ENTER} } Msgbox Druk op "OK" en gebruik keyboard en muis niet totdat het programma klaar is!!! ; tijdelijk de naam van de laatste service veranderen om te weten wanneer te stoppen ; de originele naam wordt bewaard en later weer teruggezet Send, {END} ; select last service Send, {ENTER} ; edit last service WinWait, Edit , IfWinNotActive, Edit , , WinActivate, Edit , WinWaitActive, Edit , Send, {CTRLDOWN}{INS}{CTRLUP} ; originele naam naar clipboard originalname = %clipboard% ; clipboard in variabele bewaren Send, %tempname% ; tijdelijke naam ingeven Send, {ENTER} ; verlaat edit scherm ; Van alle zenders het veld Res3 oplopend nummeren Res3 := 0 ; Res3 is CD-nummer dat overschreven wordt IfWinNotActive, Top Set, , WinActivate, Top Set, WinWaitActive, Top Set, Send, {HOME} ; selekteer eerste record Loop { Res3 := Res3 + 1 Send, {ENTER} ; edit selected service WinWait, Edit , IfWinNotActive, Edit , , WinActivate, Edit , WinWaitActive, Edit , Send, {CTRLDOWN}{INS}{CTRLUP} ; huidige naam naar clipboard if (tempname = clipboard) ; Als dit de laatste service is, { Send, %originalname% ; dan originele naam terugzetten gereed = ja ; onthouden dat we uit de loop moeten breaken } Gosub, Check_of_res3_aangepast_moet_Worden Send, {ALTDOWN}a{ALTUP}{TAB}{TAB}%Res3% ; ga naar advanced, 2 x tab en dan nieuwe nummer intoetsen Send, {ENTER} ; verlaat edit scherm sleep, 50 ; wacht tijd in milliseconden om eventueel "warning"scherm op te laten komen IfWinExist, Warning ; afvangen van warning dat deze zendernaam al bestaat { WinActivate, Warning, WinWaitActive, Warning, Send, {ENTER} ; Default button (Yes) enteren } IfWinNotActive, Top Set, , WinActivate, Top Set, WinWaitActive, Top Set, Send, {DOWN} ; selekteer volgende service if (gereed = "ja") break ; verlaat de loop } Msgbox DONE, please save file before exiting program exit ;------------------------------------------------------------------------------------------------------ Check_of_res3_aangepast_moet_Worden: zoekchar := "*" StringGetPos, pos, clipboard, %zoekchar% if pos = 0 ; als eerste positie bevat * { StringReplace, clipboard, clipboard, %zoekchar%, , ; verwijder * op eerste positie in clipboard StringGetPos, pos, clipboard, %zoekchar% ; zoek volgend * if pos > 0 ; als volgend sterretje gevonden is { StringLeft, newRes3, clipboard, pos ; zet het gevonden startnummer in newRes3 if newRes3 is integer ; alleen iets doen als het een geheel getal is { if (newRes3 < Res3) ; als gevonden startnummer kleiner is dan waar we gebleven waren, { ; dan gebruiken we het eerst hogere veelvoud van 100 Res3 := round((Res3+49)/100)*100 } else { Res3 := newRes3 } } } } return ;--------------------------------------------------------------------------------------------------------