Post by Anselm » 11 Jun 2016, 03:33
Hallo,
just me wrote:Ich bevorzuge folgende Reihenfolge:
- Ich erstelle ein Fenster.
- Ich färbe den Fensterhintergrund.
- Dann lege ich die Controls darauf.
Für mich ist das übersichtlicher und 'logischer'. Deshalb habe ich die Anweisung 'nach oben' verschoben. Es ist allerdings eine Sache der persönlichen Vorlieben. Funktional macht es keinen Unterschied.
Das sehe ich auch so, auf die Gefahr hin, dass mein früherer Helfer mir Undankbarkeit vorwirft. Mein Fehler war, dass ich irrtümlich die ganze Zeile als auskommentiert angesehen, und deshalb nach dem Ziel gesucht habe. Ich hab's jetzt mit der alten Version verglichen: Alles klar.
Noch ein Hinweis:
Ich hatte übersehen, dass Du in den Buttonroutinen die Standard-ClassNNs der Controls (z.B. Button1) verwendest. Nachdem Deine Buttons jetzt zugeordnete Namen (bzw. Variablen) haben, solltest Du die dort auch verwenden.
Das verstehe ich ohne nähere Erklärung leider auch nicht. Ich füge mal - proudly presenting - meine Version 3.0 an:
Code: Select all
; Programmiert von "Janemba" in der AutoHotkey Community
; http://de.autohotkey.com/forum/viewtopic.php?p=78425
; Erweitert von Anselm Rapp
; Ergänzt von "just me" im AutoHotKey-Forum ab 07 Jun 2016, 09:35
; https://autohotkey.com/boards/viewtopic.php?f=9&t=13338&p=91398
; Abmessungen und Positionen Buttons:
; von links (x) 10
; von oben (y) Beginn 60 (war 40), weitere je plus 35 (war 50)
; Breite 190
; Höhe 30 (war 40)
; Abmessungen Fenster:
; Breite 210
; Höhe Beginn unterster Button plus 50
#NoEnv
#SingleInstance force
#NoTrayIcon
SendMode Input
SetWorkingDir %A_ScriptDir%
Prog0 := "C:\Program Files (x86)\Malwarebytes Anti-Malware\mbam.exe" ; Programm für "gerade" Tage
Prog1 := "C:\Program Files (x86)\EEK\Start Emergency Kit Scanner.exe" ; Programm für "ungerade" Tage
Text0 := "Malwarebytes' Anti-Malware" ; Button-Beschriftung für "gerade" Tage
Text1 := "Emsisoft Emergency Kit" ; Button-Beschriftung für "ungerade" Tage
Beginn := 20000101 ; Startpunkt für die Tageszählung
Tage := SubStr(A_Now, 1, 8) ; Heute
Tage -= Beginn, Days ; Differenz zum Startpunkt in Tagen
Index := (Tage & 1) ; "gerade"/"ungerade" Anzahl von Tagen
if (Index == true) ; ungerade
{
text := Text1
prog := Prog1
}
else ; gerade
{
text := Text0
prog := Prog0
}
; Die im folgenden zweidimensionalen Array enthaltenen Buttons werden abhängig von A_WDay deaktiviert.
; Wenn an bestimmten Tagen nichts deaktiviert werden soll, einfach ein leeres Array "[]" einsetzen.
DisabledBtns := [[2, 9 ] ; Index 1 = Sonntag
, [2, 9 ] ; Index 2 = Montag
, [ 9 ] ; Index 3 = Dienstag
, [2, 9 ] ; Index 4 = Mittwoch
, [2, 9 ] ; Index 5 = Donnerstag
, [2 ] ; Index 6 = Freitag
, [2, 9 ]] ; Index 7 = Samstag
; Beispiel: , [4, 6, 8] ; Index 4 = Mittwoch (am Anfang und Ende 2 x [[ ]])
; Deaktiviert am Mittwoch Buttons 4, 6 und 8
Gui, Color, FFFFFF ; <<<<< nach oben verschoben
Gui, Font, s12 bold,
Gui, Add, Text, x10 y10 w200 h30 +Center H32, Starter 3.0
Gui, Font, s10 norm,
FormatTime,TS, L1031, dddd',' dd.MM.yyyy ;- L1031 deutsch (ist nur nötig falls Du deutsch willst aber der Computer auf englisch eingestellt ist )
Gui, Add, Text, x10 y35 w190 +Center,%ts%
Gui, Add, Button, x10 y60 w190 h30 vBtn1 gLabel1 ,Hinweise
Gui, Add, Button, x10 y95 w190 h30 vBtn2 gLabel2 ,MOBackup Batch
Gui, Add, Button, x10 y130 w190 h30 vBtn3 gLabel3 ,X1 Search
Gui, Add, Button, x10 y165 w190 h30 vBtn4 gLabel4 ,Second Copy 8
Gui, Add, Button, x10 y200 w190 h30 vBtn5 gLabel5 ,RSSOwl
Gui, Add, Button, x10 y235 w190 h30 vBtn6 gLabel6 ,%text%
Gui, Add, Button, x10 y270 w190 h30 vBtn7 gLabel7 ,Willing Webcam
Gui, Add, Button, x10 y305 w190 h30 vBtn8 gLabel8 ,Stunden + Wasser
Gui, Add, Button, x10 y340 w190 h30 vBtn9 gLabel9 ,Secunia PSI
Gui, Add, Button, x10 y375 w190 h30 vBtn0 gLabel0 ,Beenden
Gui, Font, s8 c808080,
Gui, Add, Text, x10 y410 w190 +Center,Anselm Rapp
For Each, Btn In DisabledBtns[A_WDay]
GuiControl, Disable, Btn%Btn%
Gui, Show, w210 h430, Starter
return
Label1:
Run, notepad.exe starter.txt
GuiControl, Disable, Button1
return
Label2:
Run, "C:\Program Files (x86)\MOBackup\mobackup.exe" "C:\Users\Anselm\AppData\Roaming\MOBackup\parameter\MOBackup automatisch (Ausführen).mot"
GuiControl, Disable, Button2
return
Label3:
Run, C:\Program Files\X1 Search\X1.exe
GuiControl, Disable, Button3
return
Label4:
Run, C:\Program Files (x86)\Second Copy 8\SecCopy.exe
GuiControl, Disable, Button4
return
Label5:
Run, C:\Program Files (x86)\RSSOwl\RSSOwl.exe
GuiControl, Disable, Button5
return
Label6:
Run, %prog%
GuiControl, Disable, Button6
return
Label7:
Run, C:\Program Files (x86)\Willing Webcam\wwcam.exe
GuiControl, Disable, Button7
return
Label8:
Run, C:\Program Files (x86)\Eigene\Helfer\Wasser\wasseruhr.exe
GuiControl, Disable, Button9
return
Label9:
Run, C:\Program Files (x86)\Secunia\PSI\psi.exe
GuiControl, Disable, Button8
return
Label0:
GuiEscape:
GuiClose:
ExitApp
Dank und Gruß, Anselm
Hallo,
[quote="just me"]Ich bevorzuge folgende Reihenfolge:[list=1][*]Ich erstelle ein Fenster.[*]Ich färbe den Fensterhintergrund.[*]Dann lege ich die Controls darauf.[/list]Für mich ist das übersichtlicher und 'logischer'. Deshalb habe ich die Anweisung 'nach oben' verschoben. Es ist allerdings eine Sache der persönlichen Vorlieben. Funktional macht es keinen Unterschied.[/quote]
Das sehe ich auch so, auf die Gefahr hin, dass mein früherer Helfer mir Undankbarkeit vorwirft. Mein Fehler war, dass ich irrtümlich die ganze Zeile als auskommentiert angesehen, und deshalb nach dem Ziel gesucht habe. Ich hab's jetzt mit der alten Version verglichen: Alles klar.
[quote]Noch ein Hinweis:
Ich hatte übersehen, dass Du in den Buttonroutinen die Standard-ClassNNs der Controls (z.B. Button1) verwendest. Nachdem Deine Buttons jetzt zugeordnete Namen (bzw. Variablen) haben, solltest Du die dort auch verwenden.[/quote]
Das verstehe ich ohne nähere Erklärung leider auch nicht. Ich füge mal - proudly presenting - meine Version 3.0 an:
[code=autohotkey file=Untitled.ahk]; Programmiert von "Janemba" in der AutoHotkey Community
; http://de.autohotkey.com/forum/viewtopic.php?p=78425
; Erweitert von Anselm Rapp
; Ergänzt von "just me" im AutoHotKey-Forum ab 07 Jun 2016, 09:35
; https://autohotkey.com/boards/viewtopic.php?f=9&t=13338&p=91398
; Abmessungen und Positionen Buttons:
; von links (x) 10
; von oben (y) Beginn 60 (war 40), weitere je plus 35 (war 50)
; Breite 190
; Höhe 30 (war 40)
; Abmessungen Fenster:
; Breite 210
; Höhe Beginn unterster Button plus 50
#NoEnv
#SingleInstance force
#NoTrayIcon
SendMode Input
SetWorkingDir %A_ScriptDir%
Prog0 := "C:\Program Files (x86)\Malwarebytes Anti-Malware\mbam.exe" ; Programm für "gerade" Tage
Prog1 := "C:\Program Files (x86)\EEK\Start Emergency Kit Scanner.exe" ; Programm für "ungerade" Tage
Text0 := "Malwarebytes' Anti-Malware" ; Button-Beschriftung für "gerade" Tage
Text1 := "Emsisoft Emergency Kit" ; Button-Beschriftung für "ungerade" Tage
Beginn := 20000101 ; Startpunkt für die Tageszählung
Tage := SubStr(A_Now, 1, 8) ; Heute
Tage -= Beginn, Days ; Differenz zum Startpunkt in Tagen
Index := (Tage & 1) ; "gerade"/"ungerade" Anzahl von Tagen
if (Index == true) ; ungerade
{
text := Text1
prog := Prog1
}
else ; gerade
{
text := Text0
prog := Prog0
}
; Die im folgenden zweidimensionalen Array enthaltenen Buttons werden abhängig von A_WDay deaktiviert.
; Wenn an bestimmten Tagen nichts deaktiviert werden soll, einfach ein leeres Array "[]" einsetzen.
DisabledBtns := [[2, 9 ] ; Index 1 = Sonntag
, [2, 9 ] ; Index 2 = Montag
, [ 9 ] ; Index 3 = Dienstag
, [2, 9 ] ; Index 4 = Mittwoch
, [2, 9 ] ; Index 5 = Donnerstag
, [2 ] ; Index 6 = Freitag
, [2, 9 ]] ; Index 7 = Samstag
; Beispiel: , [4, 6, 8] ; Index 4 = Mittwoch (am Anfang und Ende 2 x [[ ]])
; Deaktiviert am Mittwoch Buttons 4, 6 und 8
Gui, Color, FFFFFF ; <<<<< nach oben verschoben
Gui, Font, s12 bold,
Gui, Add, Text, x10 y10 w200 h30 +Center H32, Starter 3.0
Gui, Font, s10 norm,
FormatTime,TS, L1031, dddd',' dd.MM.yyyy ;- L1031 deutsch (ist nur nötig falls Du deutsch willst aber der Computer auf englisch eingestellt ist )
Gui, Add, Text, x10 y35 w190 +Center,%ts%
Gui, Add, Button, x10 y60 w190 h30 vBtn1 gLabel1 ,Hinweise
Gui, Add, Button, x10 y95 w190 h30 vBtn2 gLabel2 ,MOBackup Batch
Gui, Add, Button, x10 y130 w190 h30 vBtn3 gLabel3 ,X1 Search
Gui, Add, Button, x10 y165 w190 h30 vBtn4 gLabel4 ,Second Copy 8
Gui, Add, Button, x10 y200 w190 h30 vBtn5 gLabel5 ,RSSOwl
Gui, Add, Button, x10 y235 w190 h30 vBtn6 gLabel6 ,%text%
Gui, Add, Button, x10 y270 w190 h30 vBtn7 gLabel7 ,Willing Webcam
Gui, Add, Button, x10 y305 w190 h30 vBtn8 gLabel8 ,Stunden + Wasser
Gui, Add, Button, x10 y340 w190 h30 vBtn9 gLabel9 ,Secunia PSI
Gui, Add, Button, x10 y375 w190 h30 vBtn0 gLabel0 ,Beenden
Gui, Font, s8 c808080,
Gui, Add, Text, x10 y410 w190 +Center,Anselm Rapp
For Each, Btn In DisabledBtns[A_WDay]
GuiControl, Disable, Btn%Btn%
Gui, Show, w210 h430, Starter
return
Label1:
Run, notepad.exe starter.txt
GuiControl, Disable, Button1
return
Label2:
Run, "C:\Program Files (x86)\MOBackup\mobackup.exe" "C:\Users\Anselm\AppData\Roaming\MOBackup\parameter\MOBackup automatisch (Ausführen).mot"
GuiControl, Disable, Button2
return
Label3:
Run, C:\Program Files\X1 Search\X1.exe
GuiControl, Disable, Button3
return
Label4:
Run, C:\Program Files (x86)\Second Copy 8\SecCopy.exe
GuiControl, Disable, Button4
return
Label5:
Run, C:\Program Files (x86)\RSSOwl\RSSOwl.exe
GuiControl, Disable, Button5
return
Label6:
Run, %prog%
GuiControl, Disable, Button6
return
Label7:
Run, C:\Program Files (x86)\Willing Webcam\wwcam.exe
GuiControl, Disable, Button7
return
Label8:
Run, C:\Program Files (x86)\Eigene\Helfer\Wasser\wasseruhr.exe
GuiControl, Disable, Button9
return
Label9:
Run, C:\Program Files (x86)\Secunia\PSI\psi.exe
GuiControl, Disable, Button8
return
Label0:
GuiEscape:
GuiClose:
ExitApp[/code]
Dank und Gruß, Anselm