PortableApps - Launcher

  • Hallo liebe AutoIt Community,

    Da ich ein relativ blutiger Anfänger bin in AutoIt, habe ich mal ein kleines Skript geschrieben, und ich möchte eure Meinung dazu hören.
    Es ist ein einfaches Skript, wo man einen Programm-Namen eingeben muss und dann öffnet sich eben dieses Programm.
    Diese Programme sind PortableApps, d.h. man kannst sie überall und von jedem USB-Stick starten.

    Ich wollte es ursprünglich mit einer DropDown-Liste machen, doch bei dieser Variante habe ich derzeit noch mit Syntax-Fehlern zu kämpfen, doch es wird noch kommen :D

    Das ist eigentlich nur eine Vorabversion, den ich will mal wissen, was ihr von meiner Idee haltet.
    Ich habe auch schon einige zuküntige Features im Kopf.

    Einfach die .zip Datei runterladen, entpacken und die .exe Datei starten und ein Programm aus der beigelegten Liste eingebem. Die Programme erklärt sich von selbst (derzeit 4 Programme), sind recht bekannte Programme.
    Bitte beachtet, das ich noch ein Anfänger bin und AutoIt richtig lernen möchte.
    Weitere Programme können auf Wunsch hinzugefügt werden (Liste)

    Neue Version 1.1:

    Änderungen im Changelog nachzulesen!

    Download

    Source:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $Button1, $Button2, $Button3, $Button4, $msg
    GUICreate ("Portableapps Auswahl-Fenster", 250, 250)
    GUICtrlCreateLabel ("Bitte wähle ein Programm aus, das", 30, 10)
    GUICtrlCreateLabel ("gestartet werden soll:", 30, 25)

    $Button1 = GUICtrlCreateButton ("Notepad++ starten", 80, 70, 100)
    $Button2 = GUICtrlCreateButton ("FileZilla starten", 80, 110, 100)
    $Button3 = GUICtrlCreateButton ("uTorrent starten", 80, 150, 100)
    $Button4 = GUICtrlCreateButton ("7-Zip starten", 80, 190, 100)

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

    GUISetState(@SW_Show)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button1
    Run (".\progs\NotepadPlusPlus\NotepadPlusPlus.exe")
    Case $msg = $Button2
    Run (".\progs\FileZilla\FileZilla.exe")
    Case $msg = $Button3
    Run (".\progs\uTorrent\uTorrent.exe")
    Case $msg = $Button4
    Run (".\progs\7-Zip\7-Zip.exe")
    EndSelect
    WEnd
    EndFunc

    [/autoit]

    Geplante Features:
    * Download Funktion
    * Bessere, schönere GUI

    Changelog:
    Version 1.0: Erste Release, Programmstart per Eingabe

    Version 1.1: Update, nun Programmstart über Buttons.

    Version 1.0:

    Spoiler anzeigen


    http://www.megaupload.com/?d=FEQ07I38

    /Edit: Code:

    [autoit]

    $input = InputBox ("Portableapps Start-Fenster", "Bitte geben sie ein Programm aus der Liste ein:")
    If ($input = "NotepadPlusPlus") Then
    Run (".\progs\NotepadPlusPlus\NotepadPlusPlus.exe")
    ElseIf ($input = "uTorrent") Then
    Run (".\progs\uTorrent\uTorrent.exe")
    ElseIf ($input = "7-Zip") Then
    Run (".\progs\7-Zip\7-Zip.exe")
    ElseIf ($input = "FileZilla") Then
    Run (".\progs\FileZilla\FileZilla.exe")
    EndIf
    Exit

    [/autoit]


    MfG Aero

    4 Mal editiert, zuletzt von Mr. Aero (9. Oktober 2011 um 17:59)

  • - warum denn so viele klammern? :D
    - shellexecute würde ich bevorzugen
    - ein kleiner schreibfehler im input und das programm wird nicht ausgeführt!

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

  • [autoit]

    Switch

    [/autoit]

    wäre wahrscheinlich klüger.
    Man muss die Programme doch installier haben ??

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • @Twodollarbillie:

    1. Keine Ahnung, bin noch Anfänger
    2. Kann sein, habs eben auf die leichte Art gemacht.
    3. Wo ist bitte ein Schreibfehler?


    @Matthias:
    Nein, man muss die Programme nicht installiert habe, da es PortableApps sind.
    Diese können auf jedem Computer vom USB-Stick direkt gestartet werden.


    Heute wird viellecht auch noch Version 1.1 rauskommen, da kann man die Programme dann bei einen Dropdown-Menü auswählen

    MfG Aero

  • Neue Version ist nun draußen, ist nun mit Buttons
    Ist zwar nichts besonderes, aber eure Meinung interessiert mich nun mal :D

    MfG Aero

  • Funktioniert bei mir nicht.
    Ich hab nur eben den Code kopiert, aber da rührt sich rein gar nix(außer dem GUI Fenster)

    ....
    Vll solltest du dir ein ausgereifteres und brauchbareres Projekt suchen :)
    Ist echt nicht bös gemeint, aber ich wüsst nicht für was ich es brauchen könnte.


    Grüße
    Stoani

    mfg, Stoani

  • Du musst dir auch die Dateinen runterladen. Dort ist ein Ordner namens "progs" dabei, den musst du im selben Ordner wie das Skript haben, da in diesem Ordner die PortableApps enthalten sind -.-

    Einmal editiert, zuletzt von Mr. Aero (9. Oktober 2011 um 19:58)

  • Ich habe noch ein paar Verbesserungsvorschläge:
    Wieso verwendest du

    [autoit]

    Opt('MustDeclareVars', 1)
    Local $Button1, $Button2, $Button3, $Button4, $msg

    [/autoit]

    ? Das kannst du doch einfach weglassen. Genauso wie alles in eine Func zu packen.

    Dann könntest du prüfen, ob die restlichen Dateien überhaupt existieren, und falls nicht eine entsprechende Meldung anzeigen. Und die GUI könntest du optisch noch ein wenig aufwerten.


  • Es ist aber guter Stil und kann bei der Fehlerbehebung helfen.

    Ja, ich verwende es, da ich ja noch Anfänger bin und mich eben noch nicht so gut auskenne, d.h., ich kenne nicht alle befehle bzw. alle möglichen Möglichkeiten :D

  • Herzlich willkommen und viel Spaß !

    Spoiler anzeigen
    [autoit]


    #include <StaticConstants.au3>
    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $Button1, $Button2, $Button3, $Button4, $Progs = @ScriptDir & "\progs"
    GUICreate("PortableApps Starter", 250, 250)
    GUICtrlCreateLabel("Welches Programm starten ?", 10, 25, 230, 17, $SS_CENTER)

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

    $Button1 = GUICtrlCreateButton("Notepad++", 75, 70, 100, 22)
    $Button2 = GUICtrlCreateButton("FileZilla", 75, 110, 100, 22)
    $Button3 = GUICtrlCreateButton("uTorrent", 75, 150, 100, 22)
    $Button4 = GUICtrlCreateButton("7-Zip", 75, 190, 100, 22)

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    ExitLoop
    Case $Button1
    Run($Progs & "\NotepadPlusPlus\NotepadPlusPlus.exe")
    Case $Button2
    Run($Progs & "\FileZilla\FileZilla.exe")
    Case $Button3
    Run($Progs & "\uTorrent\uTorrent.exe")
    Case $Button4
    Run($Progs & "\7-Zip\7-Zip.exe")
    EndSwitch
    WEnd
    EndFunc ;==>Example

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

    ; Ende

    [/autoit]


    oder

    Spoiler anzeigen
    [autoit]


    #include <StaticConstants.au3>

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

    Dim $Progs = @ScriptDir & "\progs"
    GUICreate("PortableApps Starter", 250, 250)
    GUICtrlCreateLabel("Welches Programm starten ?", 10, 25, 230, 17, $SS_CENTER)

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

    $Button1 = GUICtrlCreateButton("Notepad++", 75, 70, 100, 22)
    $Button2 = GUICtrlCreateButton("FileZilla", 75, 110, 100, 22)
    $Button3 = GUICtrlCreateButton("uTorrent", 75, 150, 100, 22)
    $Button4 = GUICtrlCreateButton("7-Zip", 75, 190, 100, 22)

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    ExitLoop
    Case $Button1
    Run($Progs & "\NotepadPlusPlus\NotepadPlusPlus.exe")
    Case $Button2
    Run($Progs & "\FileZilla\FileZilla.exe")
    Case $Button3
    Run($Progs & "\uTorrent\uTorrent.exe")
    Case $Button4
    Run($Progs & "\7-Zip\7-Zip.exe")
    EndSwitch
    WEnd

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

    ; Ende

    [/autoit]
  • Ja, ich verwende es, da ich ja noch Anfänger bin und mich eben noch nicht so gut auskenne, d.h., ich kenne nicht alle befehle bzw. alle möglichen Möglichkeiten :D

    Das ist auch gut so, lass Dir nichts falsches einreden.

    Wenn Du das erste mal mit einer falschen Variable (Schreibfehler) gearbeitet hast, anschließend Stunden nach einem Fehler suchst, gewöhnt man sich den "guten Stil" an.

    Ist bei mir bei einem Dreizeiler auch nicht der Fall, aber wenn es langsam unübersichtlich wird, hilft es !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"