Problem mit GameLauncher

  • Hi @ all,
    ich bin neu hier im Forum deshalb kann sein das ich iwas falsch mache bitte nicht übel nehmen
    so zum eigentlichen thema:
    ich versuch grad eine art Game launcher zu schreiben wil mein Desktop immer extreme überlastet ist. der launcher ansich funzt ja eig. nich schecht aber da ich nicht will das man / ich immer den name / pfad zum spiel neu eingeben muss hab ichversucht das über ne *.ini zu lösen.
    beim start des programms soll überprüft werden ob dieini vorhanden ist und genau da scheitere ich. an der stelle sitz ich jetz schon etwas länger hoffe ihr könnt mir helfen hier mal der code:

    [autoit]

    #include <GUIConstants.au3>
    if FileExists ("Launcher.ini") Then _Launcher ()
    ElseIF FileExists Not Then _configure ()
    EndIf
    Func _configure ()
    $1 = InputBox("Game","Gib den Namen des 1. Spiels ein")
    $2 = InputBox("Game","Gib den Pfad des 1. Spiels ein")
    $3 = InputBox("Game","Gib den Namen des 2. Spiels ein")
    $4 = InputBox("Game","Gib den Pfad des 2. Spiels ein")
    $5 = InputBox("Game","Gib den Namen des 3. Spiels ein")
    $6 = InputBox("Game","Gib den Pfad des 3. Spiels ein")
    $7 = InputBox("Game","Gib den Namen des 4. Spiels ein")
    $8 = InputBox("Game","Gib den Pfad des 4. Spiels ein")
    IniWrite(@ScriptDir & "\Launcher.ini", "Game", "1", $1)
    IniWrite(@ScriptDir & "\LAuncher.ini", "Game", "2", $2)
    IniWrite(@ScriptDir & "\LAuncher.ini", "Game", "3", $3)
    IniWrite(@ScriptDir & "\LAuncher.ini", "Game", "4", $4)
    IniWrite(@ScriptDir & "\LAuncher.ini", "Game", "5", $5)
    IniWrite(@ScriptDir & "\LAuncher.ini", "Game", "6", $6)
    IniWrite("LAuncher.ini", "Game", "7", $7)
    IniWrite(@ScriptDir & "\LAuncher.ini", "Game", "8", $8)
    _Launcher ()
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    FUNC _Launcher ()

    [/autoit][autoit][/autoit][autoit]

    $1 = IniRead("LAuncher.ini", "Game", "1", "1")
    $2 = IniRead("LAuncher.ini", "Game", "2", "2")
    $3 = IniRead("LAuncher.ini", "Game", "3", "3")
    $4 = IniRead("LAuncher.ini", "Game", "4", "4")
    $5 = IniRead("LAuncher.ini", "Game", "5", "5")
    $6 = IniRead("LAuncher.ini", "Game", "6", "6")
    $7 = IniRead("LAuncher.ini", "Game", "7", "7")
    $8 = IniRead("LAuncher.ini", "Game", "8", "8")
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 875, 599, 193, 120)
    $Label1 = GUICtrlCreateLabel("Games ", 152, 24, 552, 184)
    GUICtrlSetFont(-1, 110, 400, 2, "Neon Lights")
    $Button1 = GUICtrlCreateButton($1, 64, 224, 761, 73, 0)
    $Button2 = GUICtrlCreateButton($3, 64, 294, 761, 73, 0)
    $Button3 = GUICtrlCreateButton($5, 64, 362, 761, 73, 0)
    $Button4 = GUICtrlCreateButton($7, 64, 432, 761, 73, 0)
    $Button5 = GUICtrlCreateButton("Exit", 64, 510, 100, 33, 0)
    GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
    GUICtrlSetOnEvent($Button1,"_1")
    GUICtrlSetOnEvent($Button2,"_2")
    GUICtrlSetOnEvent($Button3,"_3")
    GUICtrlSetOnEvent($Button4,"_4")
    GUICtrlSetOnEvent($Button5,"_exit")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _1 ()
    Case $Button2
    _2 ()
    Case $Button3
    _3 ()
    Case $Button4
    _4 ()
    Case $Button5
    _exit ()
    EndSwitch
    WEnd
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _exit()
    Exit
    EndFunc
    Func _1 ()
    run($2)
    EndFunc
    Func _2 ()
    run($4)
    EndFunc
    Func _3 ()
    run($6)
    EndFunc
    Func _4 ()
    run($8)
    EndFunc

    [/autoit]


    jetzt schonmal danke die sich das hier überhaupt durchlesen und mir dann hoffentlich auch helfen können
    MfG tomtomone96

    Einmal editiert, zuletzt von tomtomone96 (22. August 2010 um 12:15)

  • vielen vielen dank
    ich seh zwar keinen zw. dem was funzt (alos das was du gepostet hast) und meinem naja egal hauptsache es funzt
    EDIT:hat sich erledigt

    3 Mal editiert, zuletzt von tomtomone96 (21. August 2010 um 18:07)

  • Ich erkläre es gerne:
    Ein Else oder ElseIf erlaubt keine Einzeiler.
    Einzeilige Ifs sollte man nur nehmen, wenn man nicht auf weitere Alternativen prüfen will.
    In dem Fall muss man also ein mehrzeiliges If-Gebilde nehmen.

    Außerdem:
    ElseIF FileExists Not Then _configure ()
    ist völlig falsch, wenn dann müsste es heißen:
    ElseIf not FileExists("datei") Then ;...
    das not steht immer vor der "Frage", außerdem muss wieder ein Parameter bei FileExists angegeben werden.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    Was gibt es nicht zu verstehen:

    [autoit]

    if FileExists ("Launcher.ini") Then
    _Launcher () ;IniFile existiert also zum Lancher
    Else
    _configure () ;IniFile existiert noch nicht also konfiguren
    EndIf

    [/autoit]

    mfg autoBert