Run/Variablen Befehl Fehler in einem einfachen Script mit GUI

  • [autoit]

    ;Anwendungsprogramm
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    GUICreate("Anwendungsprogramm by X",@DesktopWidth/9,@DesktopHeight/3, 0, @DesktopHeight/10)

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

    $HeightLabel = 20
    Global $Anwendung[14] = ["","CCleaner","Auto It3","openoffice","Pidgin", "Firefox 3.5", "VLC Media Player","FileZilla 2.2.9","7zFM","","Fahrschule","Gimp 2.6.6","","JDownloader 0.6.193"]
    Global $VarAnwendung[14] = ["","Programme\CCleaner\CCleaner.exe","Auto It3","Programme\openoffice\program\quickstart.exe","Programme\PidginPortable\PidginPortable.exe", "Firefox 3.5", "Programme\VLC\vlc.exe", "Programme\FileZilla\FileZilla.exe","Programme\7-Zip\7zFM.exe","","Programme\Fahrschule\fahrschule.exe","Programme\GIMPPortable\GIMPPortable.exe","","Programme\JDownloader 0.6.193\JDownloader.exe"]

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

    For $i = 1 To 13
    $VarAnwendung[$i] = GUICtrlCreateLabel($Anwendung[$i], 20, $HeightLabel, 140, 16)
    $HeightLabel += 20
    Next

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

    GuiSetState()

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

    Do
    $msg = GuiGetMsg()
    For $i = 1 To 13
    If $msg = $VarAnwendung[$i] Then
    Run($VarAnwendung[$i],"",@SW_MAXIMIZE)
    EndIf
    Next
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]

    Hallo,
    in meinem Quellcode ist in der Do Schleife ein Fehler, den ich nicht erkennen kann. Der Run Befehl funktioniert nicht, aber ein einfacher MsgBox Befehl schon. Die Run Befehle selbst funktionieren auch getrennt. Also muss der Fehler etwas mit meiner Schreibweise zu tun haben. Ich denke der Fehler liegt wahrscheinlich bei $VarAnwendung[$i].

    Einmal editiert, zuletzt von Franzi (6. Juli 2009 um 22:55)

  • Du musst gleub den Pfad zu der Datei angeben. Also z.b. C:/Programme/..... und am ende .exe!

    Mfg

    Computers are like Airconditioning. They don´t work with open Windows.

  • Die Run Befehle (bei denen richtige Pfade stehen) funktionieren getrennt von meiner Do Schleife, daran liegt es nicht. Die Datei liegt über dem Programme Verzeichnis. Ich verwende absichtlich kein "X:/" weil ich das Programm laufwerkunabhängig haben will und das geht so.

  • Ums einfach auszudrücken:

    [autoit]

    $var = 1
    $var = 0
    MsgBox (0, "", $var)

    [/autoit]


    Würde ja auch ne MsgBox mit 0 erscheinen lassen...
    Genau das gleiche hast du mit

    [autoit]

    $VarAnwendung

    [/autoit]


    gemacht...

    Theorie ist wenn man weiß wie's geht, aber nichts klappt.
    Praxis ist wenn's klappt aber man weiß nicht weiso.

    Bei Microsoft sind Theorie und Praxis vereint: Nichts klappt und keiner weiß wieso ;)