So, das ist jetzt die zweite Beta Version meines Programmes^^. Die Bilder und die Pade zu den Anwendungen werden jetzt aus einer Testdatenbank gelesen, was dieses Programm ein wenig User freundlicher macht.
Hier der Code:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.6.1
Author: *bad boy*
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <GUIConstantsEx.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("Test", 680, 560)
[/autoit] [autoit][/autoit] [autoit]GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
[/autoit] [autoit][/autoit] [autoit];Definetion der Variablen
Global $notthis = (0)
Global $aPics1, $aPics2, $aPics3, $aPics4, $aPics5
Global $mydata
Global $open = FileOpen("C:/Test2.txt", 0)
While 1
$Read = FileRead($open, 1)
If @error = -1 Then ExitLoop
$mydata &= $Read
WEnd
$mydata = StringSplit($mydata, ";", 0)
[/autoit] [autoit][/autoit] [autoit];Oberkategorien
[/autoit] [autoit][/autoit] [autoit];Kategorie Chat erstellen und Funktion zuweisen
$Chat = GUICtrlCreatePic("C:/Blaue.jpg", 10, 10, 100, 100)
GUICtrlSetOnEvent($Chat, "Chat")
;Kategorie Internet erstellen und Funktion zuweisen
$Internet = GUICtrlCreatePic("Blaue.jpg", 10, 120, 100, 100)
GUICtrlSetOnEvent($Internet, "Internet")
;Kategorie Player erstellen und Funktion zuweisen
$Player = GUICtrlCreatePic("Blaue.jpg", 10, 230, 100, 100)
GUICtrlSetOnEvent($Player, "Player")
;Kategorie Spiele erstellen und Funktion zuweisen
$Spiele = GUICtrlCreatePic("Blaue.jpg", 10, 340, 100, 100)
GUICtrlSetOnEvent($Spiele, "Spiele")
;Kategorie Sonstiges erstellen und Funktion zuweisen
$Sonstiges = GUICtrlCreatePic("Blaue.jpg", 10, 450, 100, 100)
GUICtrlSetOnEvent($Sonstiges, "Sonstiges")
;Arbeitsplatz erstellen und Funktion zuweisen
$Arbeitsplatz = GUICtrlCreatePic("Blaue.jpg", 560, 10, 100, 100)
GUICtrlSetOnEvent($Arbeitsplatz, "Arbeitsplatz")
;Eigene Datein erstellen und Funktion zuweisen
$Eigene_Datein = GUICtrlCreatePic("Blaue.jpg", 560, 120, 100, 100)
GUICtrlSetOnEvent($Eigene_Datein, "EigeneDatein")
;Systemsteuerung erstellen und Funktion zuweisen
$Systemsteuerung = GUICtrlCreatePic("Blaue.jpg", 560, 230, 100, 100)
GUICtrlSetOnEvent($Systemsteuerung, "Systemsteuerung")
;Netzwerkumgebung erstellen und Funktion zuweisen
$Netzwerkumgebung = GUICtrlCreatePic("Blaue.jpg", 560, 340, 100, 100)
GUICtrlSetOnEvent($Netzwerkumgebung, "Netzwerkumgebung")
;Kategorie Chat_makiert erstellen und unsichtbar machen
$Chat_makiert = GUICtrlCreatePic("Sonne.jpg", 10, 10, 100, 100)
GUICtrlSetState($Chat_makiert, $GUI_HIDE)
;Kategorie Internet_makiert erstellen und unsichbar machen
$Internet_makiert = GUICtrlCreatePic("Sonne.jpg", 10, 120, 100, 100)
GUICtrlSetState($Internet_makiert, $GUI_HIDE)
;Kategorie Player_makiert erstellen und unsichtbar machen
$Player_makiert = GUICtrlCreatePic("Sonne.jpg", 10, 230, 100, 100)
GUICtrlSetState($Player_makiert, $GUI_HIDE)
;Kategorie Spiele_makiert erstellen und unsichtbar machen
$Spiele_makiert = GUICtrlCreatePic("Sonne.jpg", 10, 340, 100, 100)
GUICtrlSetState($Spiele_makiert, $GUI_HIDE)
;Kategorie Sonstiges_makiert erstellen und unsichtbar machen
$Sonstiges_makiert = GUICtrlCreatePic("Sonne.jpg", 10, 450, 100, 100)
GUICtrlSetState($Sonstiges_makiert, $GUI_HIDE)
Call ("_CreatePics")
GUISetState()
;Funktion von Chat
Func Chat()
;Wertangabe
$notthis = "Chat";
;Macht Chat unsichtbar
GUICtrlSetState($Chat, $GUI_HIDE)
;Macht Chat_makiert sichtbar
GUICtrlSetState($Chat_makiert, $GUI_SHOW)
;Macht Internet sichtbar
GUICtrlSetState($Internet, $GUI_SHOW)
;Macht Player sichtbar
GUICtrlSetState($Player, $GUI_SHOW)
;Macht Spiele sichtbar
GUICtrlSetState($Spiele, $GUI_SHOW)
;Macht Sonstiges sichtbar
GUICtrlSetState($Sonstiges, $GUI_SHOW)
;Macht die Untergruppe Chat sichtbar
$myend = UBound($aPics1, 1) -1
For $i = 0 To $myend
GUICtrlSetState($aPics1[$i], $GUI_SHOW)
Next
;Ruft die Funktion deselect auf
call ("deselect")
EndFunc
[/autoit] [autoit][/autoit] [autoit];Funktion von Internet
Func Internet()
;Wertangabe
$notthis = "Internet";
;Macht Internet unsichtbar
GUICtrlSetState($Internet, $GUI_HIDE)
;Macht Internet_makiert sichtbar
GUICtrlSetState($Internet_makiert, $GUI_SHOW)
;Macht Chat sichtbar
GUICtrlSetState($Chat, $GUI_SHOW)
;Macht Player sichtbar
GUICtrlSetState($Player, $GUI_SHOW)
;Macht Spiele sichtbar
GUICtrlSetState($Spiele, $GUI_SHOW)
;Macht Sonstiges sichtbar
GUICtrlSetState($Sonstiges, $GUI_SHOW)
;Macht die Untergruppe Internet sichtbar
$myend = UBound($aPics2, 1) -1
For $i = 0 To $myend
GUICtrlSetState($aPics2[$i], $GUI_SHOW)
Next
;Ruft die Funktion deselect auf
call ("deselect")
EndFunc
[/autoit] [autoit][/autoit] [autoit];Funktion von Player
Func Player()
;Wertangabe
$notthis = "Player";
;Macht Player unsichtbar
GUICtrlSetState($Player, $GUI_HIDE)
;Macht Player_makiert sichtbar
GUICtrlSetState($Player_makiert, $GUI_SHOW)
;Macht Chat sichtbar
GUICtrlSetState($Chat, $GUI_SHOW)
;Macht Internet sichtbar
GUICtrlSetState($Internet, $GUI_SHOW)
;Macht Spiele sichtbar
GUICtrlSetState($Spiele, $GUI_SHOW)
;Macht Sonstiges sichtbar
GUICtrlSetState($Sonstiges, $GUI_SHOW)
;Macht die Untergruppe Player sichtbar
$myend = UBound($aPics3, 1) -1
For $i = 0 To $myend
GUICtrlSetState($aPics3[$i], $GUI_SHOW)
Next
;Ruft die Funktion deselect auf
call ("deselect")
EndFunc
[/autoit] [autoit][/autoit] [autoit];Funktion von Spiele
Func Spiele()
;Wertangabe
$notthis = "Spiele";
;Macht Spiele unsichtbar
GUICtrlSetState($Spiele, $GUI_HIDE)
;Macht Spiele_makiert sichtbar
GUICtrlSetState($Spiele_makiert, $GUI_SHOW)
;Macht Chat sichtbar
GUICtrlSetState($Chat, $GUI_SHOW)
;Macht Internet sichtbar
GUICtrlSetState($Internet, $GUI_SHOW)
;Macht Player sichtbar
GUICtrlSetState($Player, $GUI_SHOW)
;Macht Sonstiges sichtbar
GUICtrlSetState($Sonstiges, $GUI_SHOW)
;Macht die Untergruppe Spiele sichtbar
$myend = UBound($aPics4, 1) -1
For $i = 0 To $myend
GUICtrlSetState($aPics4[$i], $GUI_SHOW)
Next
;Ruft die Funktion deselect auf
call ("deselect")
EndFunc
[/autoit] [autoit][/autoit] [autoit];Funktion von Sonstiges
Func Sonstiges()
;Wertangabe
$notthis = "Sonstiges";
;Macht Sonstiges unsichtbar
GUICtrlSetState($Sonstiges, $GUI_HIDE)
;Macht Sonstiges_makiert sichtbar
GUICtrlSetState($Sonstiges_makiert, $GUI_SHOW)
;Macht Chat sichtbar
GUICtrlSetState($Chat, $GUI_SHOW)
;Macht Internet sichtbar
GUICtrlSetState($Internet, $GUI_SHOW)
;Macht Player sichtbar
GUICtrlSetState($Player, $GUI_SHOW)
;Macht Spiele sichtbar
GUICtrlSetState($Spiele, $GUI_SHOW)
;Macht die Untergruppe Sonstiges sichtbar
$myend = UBound($aPics5, 1) -1
For $i = 0 To $myend
GUICtrlSetState($aPics5[$i], $GUI_SHOW)
Next
;Ruft die Funktion deselect auf
call ("deselect")
EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _chat()
Local $aData, $sButtontype, $sPathFile, $sPathPic
;-------------------------- 1 Rubrik
$abc = 1
$myend2 = UBound($mydata, 1) -2
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "chat" Then
$abc = $abc + 1
EndIf
next
dim $chatliste[$abc]
$abc = 1
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "chat" Then
$chatliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
$myend = UBound($aPics1, 1) -2
For $i = 1 To $myend
$aData = StringSplit($chatliste[$i], ",",0)
;$sButtontype = $aData[1]
$sPathFile = $aData[2]
;$sPathPic = $aData[3]
If $aPics1[$i] = @GUI_CtrlId Then ShellExecute($sPathFile)
Next
;--------------------------- Rubrikende
EndFunc
Func _internet()
Local $aData, $sButtontype, $sPathFile, $sPathPic
;-------------------------- 1 Rubrik
$abc = 1
$myend2 = UBound($mydata, 1) -2
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "internet" Then
$abc = $abc + 1
EndIf
next
dim $internetliste[$abc]
$abc = 1
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "internet" Then
$internetliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
$myend = UBound($aPics2, 1) -2
For $i = 1 To $myend
$aData = StringSplit($internetliste[$i], ",",0)
;$sButtontype = $aData[1]
$sPathFile = $aData[2]
;$sPathPic = $aData[3]
If $aPics2[$i] = @GUI_CtrlId Then ShellExecute($sPathFile)
Next
;--------------------------- Rubrikende
EndFunc
Func _player()
Local $aData, $sButtontype, $sPathFile, $sPathPic
;-------------------------- 1 Rubrik
$abc = 1
$myend2 = UBound($mydata, 1) -2
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "player" Then
$abc = $abc + 1
EndIf
next
dim $playerliste[$abc]
$abc = 1
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "player" Then
$playerliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
$myend = UBound($aPics3, 1) -2
For $i = 1 To $myend
$aData = StringSplit($playerliste[$i], ",",0)
;$sButtontype = $aData[1]
$sPathFile = $aData[2]
;$sPathPic = $aData[3]
If $aPics3[$i] = @GUI_CtrlId Then ShellExecute($sPathFile)
Next
;--------------------------- Rubrikende
EndFunc
Func _spiele()
Local $aData, $sButtontype, $sPathFile, $sPathPic
;-------------------------- 1 Rubrik
$abc = 1
$myend2 = UBound($mydata, 1) -2
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "spiele" Then
;GUICtrlCreateLabel($mydata[2], 10,10)
;$chatliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
dim $spieleliste[$abc]
$abc = 1
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "spiele" Then
$spieleliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
$myend = UBound($aPics4, 1) -2
For $i = 1 To $myend
$aData = StringSplit($spieleliste[$i], ",",0)
;$sButtontype = $aData[1]
$sPathFile = $aData[2]
;$sPathPic = $aData[3]
If $aPics4[$i] = @GUI_CtrlId Then ShellExecute($sPathFile)
Next
;--------------------------- Rubrikende
EndFunc
Func _sonstiges()
Local $aData, $sButtontype, $sPathFile, $sPathPic
;-------------------------- 1 Rubrik
$abc = 1
$myend2 = UBound($mydata, 1) -2
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "sonstiges" Then
;GUICtrlCreateLabel($mydata[2], 10,10)
;$chatliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
dim $sonstigesliste[$abc]
$abc = 1
For $i = 1 To $myend2
$aData = StringSplit($mydata[$i], ",",0)
If $aData[1] = "sonstiges" Then
$sonstigesliste[$abc] = $mydata[$i]
$abc = $abc + 1
EndIf
next
$myend = UBound($aPics5, 1) -2
For $i = 1 To $myend
$aData = StringSplit($sonstigesliste[$i], ",",0)
;$sButtontype = $aData[1]
$sPathFile = $aData[2]
;$sPathPic = $aData[3]
If $aPics5[$i] = @GUI_CtrlId Then ShellExecute($sPathFile)
Next
;--------------------------- Rubrikende
EndFunc
;Funktion von Arbeitsplatz
Func Arbeitsplatz()
ShellExecute("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
EndFunc
;Funktion von Eigene Datein
Func EigeneDatein()
If @OSVersion = "WIN_XP" Then
ShellExecute(@MyDocumentsDir)
ElseIf @OSVersion = "WIN_7" Then
ShellExecute(@UserProfileDir)
ElseIf @OSVersion = "WIN_VISTA" Then
ShellExecute(@UserProfileDir)
EndIf
;ShellExecute(@MyDocumentsDir) ;XP
;ShellExecute(@UserProfileDir) ;Win7
EndFunc
;Funktion von Systemsteuerung
Func Systemsteuerung()
;Send("#r")
;WinWaitActive("Ausführen")
;Send("RunDll32.exe shell32.dll,Control_RunDLL")
;ShellExecute("RunDll32.exe, shell32.dll,Control_RunDLL")
;Send("Enter")
ShellExecute("rundll32.exe", "shell32.dll,Control_RunDLL"); XP
;ShellExecute("::{21EC2020-3AEA-1069-A2DD-08002b30309d}")
EndFunc
;Funktion von Netzwerkumgebung
Func Netzwerkumgebung()
ShellExecute("::{208D2C60-3AEA-1069-A2D7-08002B30309D}")
EndFunc
;------------------------------------Erstellung der Untergruppen--------------------------------------------
Func _CreatePics()
Local $aData, $sButtontype, $sPathFile, $sPathPic
Local $i2 = (0)
Local $yPos = (10)
Local $myend = UBound($mydata, 1) -2
For $i = 1 to $myend
$aData = StringSplit($mydata[$i], ",", 0)
$sButtontype = $aData[1]
$sPathFile = $aData[2]
$sPathPic = $aData[3]
If $sButtontype = "chat" Then
$i2 = $i2 + 1
If $i2 > 4 Then
$yPos = $yPos + 110
$i2 = (1)
EndIf
if $i = $myend Then
$aPics1 = $aPics1 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100)
EndIf
if $i < $myend Then
$aPics1 = $aPics1 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100) & ","
EndIf
GUICtrlSetState(-1, $GUI_HIDE)
GUICtrlSetOnEvent(-1, "_chat")
EndIf
Next
$i2 = (0)
$yPos = (10)
For $i = 1 to $myend
$aData = StringSplit($mydata[$i], ",", 0)
$sButtontype = $aData[1]
$sPathFile = $aData[2]
$sPathPic = $aData[3]
If $sButtontype = "internet" Then
$i2 = $i2 + 1
If $i2 > 4 Then
$yPos = $yPos + 110
$i2 = (1)
EndIf
if $i = $myend Then
$aPics2 = $aPics2 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100)
EndIf
if $i < $myend Then
$aPics2 = $aPics2 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100) & ","
EndIf
GUICtrlSetState(-1, $GUI_HIDE)
GUICtrlSetOnEvent(-1, "_internet")
EndIf
Next
$i2 = (0)
$yPos = (10)
For $i = 1 to $myend
$aData = StringSplit($mydata[$i], ",", 0)
$sButtontype = $aData[1]
$sPathFile = $aData[2]
$sPathPic = $aData[3]
If $sButtontype = "player" Then
$i2 = $i2 + 1
If $i2 > 4 Then
$yPos = $yPos + 110
$i2 = (1)
EndIf
if $i = $myend Then
$aPics3 = $aPics3 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100)
EndIf
if $i < $myend Then
$aPics3 = $aPics3 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100) & ","
EndIf
GUICtrlSetState(-1, $GUI_HIDE)
GUICtrlSetOnEvent(-1, "_player")
EndIf
Next
$i2 = (0)
$yPos = (10)
For $i = 1 to $myend
$aData = StringSplit($mydata[$i], ",", 0)
$sButtontype = $aData[1]
$sPathFile = $aData[2]
$sPathPic = $aData[3]
If $sButtontype = "spiele" Then
$i2 = $i2 + 1
If $i2 > 4 Then
$yPos = $yPos + 110
$i2 = (1)
EndIf
if $i = $myend Then
$aPics4 = $aPics4 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100)
EndIf
if $i < $myend Then
$aPics4 = $aPics4 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100) & ","
EndIf
GUICtrlSetState(-1, $GUI_HIDE)
GUICtrlSetOnEvent(-1, "_spiele")
EndIf
Next
$i2 = (0)
$yPos = (10)
For $i = 1 to $myend
$aData = StringSplit($mydata[$i], ",", 0)
$sButtontype = $aData[1]
$sPathFile = $aData[2]
$sPathPic = $aData[3]
If $sButtontype = "sonstiges" Then
$i2 = $i2 + 1
If $i2 > 4 Then
$yPos = $yPos + 110
$i2 = (1)
EndIf
if $i = $myend Then
$aPics5 = $aPics5 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100)
EndIf
if $i < $myend Then
$aPics5 = $aPics5 & GUICtrlCreatePic($sPathPic, 10 + 110 * $i2, $yPos, 100, 100) & ","
EndIf
GUICtrlSetState(-1, $GUI_HIDE)
GUICtrlSetOnEvent(-1, "_sonstiges")
EndIf
Next
$i2 = (0)
$yPos = (10)
EndFunc
;-------------------------------------------------Ende der Untergruppen-----------------------------------
$aPics1 = StringSplit($aPics1, ",", 0)
$aPics2 = StringSplit($aPics2, ",", 0)
$aPics3 = StringSplit($aPics3, ",", 0)
$aPics4 = StringSplit($aPics4, ",", 0)
$aPics5 = StringSplit($aPics5, ",", 0)
Func deselect()
if $notthis <> "Chat" Then
GUICtrlSetState($Chat_makiert, $GUI_HIDE)
GUICtrlSetState($Chat, $GUI_SHOW)
$myend = UBound($aPics1, 1) -1
For $i = 1 To $myend
GUICtrlSetState($aPics1[$i], $GUI_HIDE)
Next
EndIf
if $notthis <> "Internet" Then
GUICtrlSetState($Internet_makiert, $GUI_HIDE)
GUICtrlSetState($Internet, $GUI_SHOW)
$myend = UBound($aPics2, 1) -1
For $i = 1 To $myend
GUICtrlSetState($aPics2[$i], $GUI_HIDE)
Next
EndIf
if $notthis <> "Player" Then
GUICtrlSetState($Player_makiert, $GUI_HIDE)
GUICtrlSetState($Player, $GUI_SHOW)
$myend = UBound($aPics3, 1) -1
For $i = 1 To $myend
GUICtrlSetState($aPics3[$i], $GUI_HIDE)
Next
EndIf
if $notthis <> "Spiele" Then
GUICtrlSetState($Spiele, $GUI_SHOW)
GUICtrlSetState($Spiele_makiert, $GUI_HIDE)
$myend = UBound($aPics4, 1) -1
For $i = 1 To $myend
GUICtrlSetState($aPics4[$i], $GUI_HIDE)
Next
EndIf
if $notthis <> "Sonstiges" Then
GUICtrlSetState($Sonstiges_makiert, $GUI_HIDE)
GUICtrlSetState($Sonstiges, $GUI_SHOW)
$myend = UBound($aPics5, 1) -1
For $i = 1 To $myend
GUICtrlSetState($aPics5[$i], $GUI_HIDE)
Next
EndIf
EndFunc
While 1
Sleep(1000) ; Idle around
WEnd
Func CLOSEClicked()
Exit
EndFunc
Jetzt möchte ich das man die Bilder in der mitte "Wegscrollen" kann und zwar via Button. Das heißt, wenn mehr als 20 Bilder eingeladen werden, soll ein Button erscheinen mit dem dann möglich ist, die Bilder nach oben oder unten zuverschieben, der Button war nicht das Problem, das ging über eine einfache If Funktion. Jetzt habe ich aber das Problem wie ich das mit der Umsetzt des Verschiebens mache. Denkbar wäre auch das die Bilder einfach unsichtbar werden. Aber wie mache ich das dann mit der Position? Naja werde darüber nochmals ein wenig nachdenken, wenn jemand ne Idee hat, bin offen für neues^^
MFG
*bad boy*