Hi Leute
hier erstmal mein skript:
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_Icon=Pixture-Board-Game-Dice-1.ico#AutoIt3Wrapper_Outfile=Spielewürfel.exe#AutoIt3Wrapper_Res_Fileversion=1.0#AutoIt3Wrapper_Res_Language=1031#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.12.0 Author: Idea: Rorco Hawis Scriptings: Marbert Hawis
Script Function: Random Game choice!
#ce ----------------------------------------------------------------------------#include <MsgBoxConstants.au3>#include <File.au3>#include <Array.au3>#include <StringConstants.au3>#include <Constants.au3>#include <GUIConstantsEx.au3>#include <WindowsConstants.au3>#include <GuiButton.au3>
#cs Pfad Selection--------------------------------------------------------------------------------#ce$Fileex = FileExists(@ScriptDir&"\Creul.txt")if $Fileex=0 Then $Dir1 = FileSelectFolder("Bitte Ordner Wählen.",@scriptdir) _FileCreate(@ScriptDir&"\Creul.txt")FileWrite(@ScriptDir&"\Creul.txt",$Dir1)EndIf$Dir = FileReadLine(@ScriptDir&"\Creul.txt")#cs Pfad Selection--------------------------------------------------------------------------------#ceAutoItSetOption("GUIResizeMode",802)Global $Gamewuerfel = GUICreate("Gamewürfel")$buttonR= GUICtrlCreateButton("Random",10,10)Dim $ButtonArray[0]$Pos1=10$Pos2=60$zaehler=0$z=_FileListToArray($Dir)for $o = 1 to UBound($z)-1 _ArrayAdd($ButtonArray, GUICtrlCreateButton($z[$o],$Pos1,$Pos2)) $zaehler+=1 $Pos2+=45 If $zaehler =7 Then $Pos1 += 250 $Pos2 = 60 $zaehler = 0 WinMove($Gamewuerfel,"",Default,Default,$Pos1+200,410)$size=WinGetClientSize($Gamewuerfel) EndIfNextGUICtrlSetPos($buttonR,$size[0]/2)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1 Switch GUIGetMsg() Case $buttonR $answer = MsgBox(3,"Multiplayer?","Willst du ein Multiplayerspiel spielen?") if $answer = 2 Then stop() ElseIf $answer = 6 Then DiceingMS() ElseIf $answer = 7 Then DiceingNoMS() EndIf stop()
Case $GUI_EVENT_CLOSE ExitLoop EndSwitchWEnd
Func DiceingNoMS() $Spiel = _FileListToArray($Dir) $Wen = Random(1,UBound($Spiel),1) ShellExecute($Dir&""&$Spiel[$Wen])EndFunc
Func DiceingMS() $a = _FileListToArray($Dir)
Dim $Spielms[1] for $i = 0 to UBound($a)-1 If StringRegExp($a[$i],"ms1") Then _ArrayAdd($Spielms,$a[$i])
EndIf Next$Wenms = Random(1,Ubound($Spielms)-1,1)ConsoleWrite(UBound($Spielms))ShellExecute($Dir&""&$Spielms[$Wenms])
EndFunc
Func stop() ExitEndFunc
[/autoit]
Habe nun folgendes Problem, in dem Ordner den ich am Anfang angebe sind nur Verknüpfungen von Spielen. Die GUI wird erstellt und es werden soviele Buttons erstellt und angeordnet wie es Verknüpfungen gibt, denen wird auch der Name der in dem Array ist passend zugeordnet. Hat jemand eine Idee wie ich diesen Buttons dann automatisch die richtige Funktion zum ausführen der Verknüpfung zuweisen kann?
Danke im Vorraus
Gruß Flair