Hallo Com,
hier ein kleines Skriptbeispiel für einen Adventskalender:
MsgLoop-Modus
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
; *** Start added by AutoIt3Wrapper ***
#include <StaticConstants.au3>
; *** End added by AutoIt3Wrapper ***
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.6.1
Author: autoBert: http://www.autoit.de/index.php?page=Thread&threadID=24279
Skriptbeispiel für den Umgang mit INI-Files und in Array verwalteten ControlIDS
dadurch dass die Labels den Text ihrer um 1 erhöhten ArrayID enthalten, kann diese ID auch für die Bilder verwendet werden
#ce ----------------------------------------------------------------------------
Global $idlbl[24], $idPic[24], $ini = @ScriptDir & "\Images\Advent.ini"
[/autoit] [autoit][/autoit] [autoit]$NotChangeable = 1; wenn der Anwender sie sich selbst ändern können soll hier auf 0 setzen
;dann werden die beiden Datein nicht überschrieben, dass heisst der Anwender kann sich selbst
;JPGs hinterlegen er muss nur die Namen beachten
If Not FileExists($ini) Then DirCreate(@ScriptDir & "\Images")
;FileInstall("C:\Programme\AutoIt3\MyDemos\Images\HintergrundBild.JPG",@ScriptDir & "\HintergrundBild.JPG" & " $i+1 & .JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild1.JPG", @ScriptDir & "\Images\Bild1.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild2.JPG", @ScriptDir & "\Images\Bild2.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild3.JPG", @ScriptDir & "\Images\Bild3.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild4.JPG", @ScriptDir & "\Images\Bild4.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild5.JPG", @ScriptDir & "\Images\Bild5.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild6.JPG", @ScriptDir & "\Images\Bild6.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild7.JPG", @ScriptDir & "\Images\Bild7.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild8.JPG", @ScriptDir & "\Images\Bild8.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild9.JPG", @ScriptDir & "\Images\Bild9.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild10.JPG", @ScriptDir & "\Images\Bild10.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild11.JPG", @ScriptDir & "\Images\Bild11.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild12.JPG", @ScriptDir & "\Images\Bild12.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild13.JPG", @ScriptDir & "\Images\Bild13.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild14.JPG", @ScriptDir & "\Images\Bild14.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild15.JPG", @ScriptDir & "\Images\Bild15.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild16.JPG", @ScriptDir & "\Images\Bild16.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild17.JPG", @ScriptDir & "\Images\Bild17.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild18.JPG", @ScriptDir & "\Images\Bild18.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild19.JPG", @ScriptDir & "\Images\Bild19.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild20.JPG", @ScriptDir & "\Images\Bild20.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild21.JPG", @ScriptDir & "\Images\Bild21.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild22.JPG", @ScriptDir & "\Images\Bild22.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild23.JPG", @ScriptDir & "\Images\Bild23.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild24.JPG", @ScriptDir & "\Images\Bild24.JPG", $NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
$hGUI = GUICreate("Adventskalender", 1150, 600, -1, -1, $WS_POPUP);, BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
GUICtrlCreatePic("C:\Programme\AutoIt3\MyDemos\Images\HintergrundBild.JPG", 0, 0, 1150, 600)
GUICtrlSetState(-1, $GUI_DISABLE)
$iTop = 20
$iLeft = 80
$iWidth = 140
GUISetFont(18, 2000)
For $i = 0 To 3
For $j = 0 To 5
$idlbl[$i * 6 + $j] = GUICtrlCreateLabel($i * 6 + $j + 1, $iLeft + $j * ($iWidth + 10), $iTop + $i * ($iWidth + 10), $iWidth, $iWidth, $SS_CENTER)
; ConsoleWrite("i:" & $i & " J: " & $j & " ($i * 6 + $j + 1): " & $i * 6 + $j + 1 & @CRLF)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$idPic[$i * 6 + $j] = GUICtrlCreatePic(@ScriptDir & "\Images\Bild" & $i * 6 + $j + 1 & ".JPG", $iLeft + $j * ($iWidth + 10), $iTop + $i * ($iWidth + 10), $iWidth, $iWidth)
Next
Next
For $i = 0 To 23
If IniRead($ini, "Tage", $i + 1, "1") = 1 Then
GUICtrlSetState($idlbl[$i], $GUI_SHOW)
GUICtrlSetState($idPic[$i], $GUI_HIDE)
Else
GUICtrlSetState($idlbl[$i], $GUI_HIDE)
GUICtrlSetState($idPic[$i], $GUI_SHOW)
EndIf
Next
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $idlbl[0] To $idlbl[23]
$id = GUICtrlRead($nMsg) ;Text aus dem Label auslsen
GUICtrlSetState($idPic[$id-1], $GUI_SHOW)
GUICtrlSetState($nMsg, $GUI_HIDE)
IniWrite($ini, "Tage", $nMsg + 1, "0")
EndSwitch
WEnd
OnEvent-Modus
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; *** Start added by AutoIt3Wrapper ***
#include <StaticConstants.au3>
; *** End added by AutoIt3Wrapper ***
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.6.1
Author: autoBert: http://www.autoit.de/index.php?page=Thread&threadID=24279
Skriptbeispiel für den Umgang mit INI-Files und in Array verwalteten ControlIDS
#ce ----------------------------------------------------------------------------
Global $idlbl[24], $idPic[24], $ini = @ScriptDir & "\Images\Advent.ini"
[/autoit] [autoit][/autoit] [autoit]$NotChangeable = 1; wenn der Anwender sie sich selbst ändern können soll hier auf 0 setzen
;dann werden die beiden Datein nicht überschrieben, dass heisst der Anwender kann sich selbst
;JPGs hinterlegen er muss nur die Namen beachten
if not FileExists($ini) Then DirCreate(@ScriptDir & "\Images")
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\HintergrundBild.JPG",@ScriptDir & "\HintergrundBild.JPG" & " $i+1 & .JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild1.JPG",@ScriptDir & "\Images\Bild1.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild2.JPG",@ScriptDir & "\Images\Bild2.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild3.JPG",@ScriptDir & "\Images\Bild3.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild4.JPG",@ScriptDir & "\Images\Bild4.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild5.JPG",@ScriptDir & "\Images\Bild5.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild6.JPG",@ScriptDir & "\Images\Bild6.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild7.JPG",@ScriptDir & "\Images\Bild7.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild8.JPG",@ScriptDir & "\Images\Bild8.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild9.JPG",@ScriptDir & "\Images\Bild9.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild10.JPG",@ScriptDir & "\Images\Bild10.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild11.JPG",@ScriptDir & "\Images\Bild11.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild12.JPG",@ScriptDir & "\Images\Bild12.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild13.JPG",@ScriptDir & "\Images\Bild13.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild14.JPG",@ScriptDir & "\Images\Bild14.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild15.JPG",@ScriptDir & "\Images\Bild15.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild16.JPG",@ScriptDir & "\Images\Bild16.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild17.JPG",@ScriptDir & "\Images\Bild17.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild18.JPG",@ScriptDir & "\Images\Bild18.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild19.JPG",@ScriptDir & "\Images\Bild19.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild20.JPG",@ScriptDir & "\Images\Bild20.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild21.JPG",@ScriptDir & "\Images\Bild21.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild22.JPG",@ScriptDir & "\Images\Bild22.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild23.JPG",@ScriptDir & "\Images\Bild23.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
FileInstall("C:\Programme\AutoIt3\MyDemos\Images\Bild24.JPG",@ScriptDir & "\Images\Bild24.JPG",$NotChangeable);diese Zeile evtl anpassen da die Icons bei dir ja woanders liegen
$hGUI = GUICreate("Adventskalender", 1150, 600, -1, -1, $WS_POPUP);, BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
GUISetOnEvent($GUI_EVENT_CLOSE,"_MYEXIT")
GUICtrlCreatePic("C:\Programme\AutoIt3\MyDemos\Images\HintergrundBild.JPG", 0, 0, 1150, 600)
GUICtrlSetState(-1, $GUI_DISABLE)
$iTop = 20
$iLeft = 80
$iWidth = 140
GUISetFont(18,2000)
For $i = 0 To 3
For $j = 0 To 5
$idlbl[$i * 6 + $j] = GUICtrlCreateLabel($i * 6 + $j + 1, $iLeft + $j * ($iWidth+10), $iTop + $i * ($iWidth+10), $iWidth, $iWidth,$SS_CENTER )
GuiCtrlSetOnEvent(-1,"_ShowPic")
; ConsoleWrite("i:" & $i & " J: " & $j & " ($i * 6 + $j + 1): " & $i * 6 + $j + 1 & @CRLF)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$idPic[$i * 6 + $j] = GUICtrlCreatePic(@ScriptDir & "\Images\Bild" & $i * 6 + $j + 1 & ".JPG", $iLeft + $j * ($iWidth+10), $iTop + $i * ($iWidth+10), $iWidth, $iWidth)
Next
Next
For $i = 0 to 23
if IniRead($ini,"Tage",$i+1,"1") = 1 Then
GUICtrlSetState($idlbl[$i],$GUI_SHOW)
GUICtrlSetState($idPic[$i],$GUI_HIDE)
Else
GUICtrlSetState($idlbl[$i],$GUI_HIDE)
GUICtrlSetState($idPic[$i],$GUI_SHOW)
EndIf
Next
GUISetState()
While 1
sleep(10000)
WEnd
Func _ShowPic()
$Id = GUICtrlRead(@GUI_CtrlId)-1
; ConsoleWrite($id & @CRLF)
GUICtrlSetState($idPic[$id],$GUI_SHOW)
GUICtrlSetState($idlbl[$id],$GUI_HIDE)
IniWrite($ini,"Tage",$id+1,"0")
EndFunc
Func _MYExit()
Exit
EndFunc
leider habe ich noch keinen schöne JPPs gefunden, so dass ihr auf euer eigenes Archiv zurückgreifen müsst,
Edit: Evtl. müsst ihr das Skript an die Grösse der Bilder anpassen, seht es einfach als Grundgerüst an, auf dem ihr aufbauen könnt,
Edit: Skript ausgetauscht da FileInstall fehlerhaft, dank Blume
mfg autoBert