IniWrite schreibt nicht den Pfad des Programmes auf

  • Hi Leute,

    bin grad am neues Programm machen. Soll sowass werden, dass man den Pfad des Programmes einstellen kann den man will und wenn man einen bestimmten Button drückt, dass das programm was ausgewählt wurde geöffnet wird. Nicht kompliziertes Programm aber ich brauche es. So sind wir beim gleichen Problem. Wenn man versucht, den Pfad zu speicher, speichert er ihn nicht. Wieso?Beispiel:

    [Blockierte Grafik: http://img683.imageshack.us/img683/9392/unbenanntzvj.png]

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Schnellzugriff", 625, 443, 192, 124)
    $Input1 = GUICtrlCreateInput("Pfad", 8, 8, 129, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 144, 8, 49, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Speichern", 200, 8, 49, 25, $WS_GROUP)
    $Input2 = GUICtrlCreateInput("Pfad", 8, 40, 129, 21)
    $Button3 = GUICtrlCreateButton("Suchen", 144, 40, 49, 25, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Speichern", 200, 40, 49, 25, $WS_GROUP)
    $Input3 = GUICtrlCreateInput("Pfad", 8, 72, 129, 21)
    $Button5 = GUICtrlCreateButton("Suchen", 144, 72, 49, 25, $WS_GROUP)
    $Button6 = GUICtrlCreateButton("Speichern", 200, 72, 49, 25, $WS_GROUP)
    $Input4 = GUICtrlCreateInput("Pfad", 8, 104, 129, 21)
    $Button7 = GUICtrlCreateButton("Suchen", 144, 104, 49, 25, $WS_GROUP)
    $Button8 = GUICtrlCreateButton("Speichern", 200, 104, 49, 25, $WS_GROUP)
    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
    $erstes = FileOpenDialog("Suchen...",@ScriptDir,"(*.exe)")
    GUICtrlSetData($Input1, $erstes)
    Case $Button2
    $erstesread = GUICtrlRead($Input1)
    FileDelete("settings.ini")
    IniWrite("settings.ini","erstes","programmpfad",$erstesread)

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

    EndSwitch
    WEnd

    [/autoit]

    Weitere Felder und Funktionen werden dann noch folgen, so ist es ja nicht mehr als ein Programm mit Verknüpfungen. Nur, wieso speichert er nicht meinen Pfad? Wenn man auf Speichert drückt (Button noch nicht auf dem Bild), dann speichert das Programm es einfach nicht. Ich benutze IniWrite... Nur die ersten beiden Buttons funktionieren! (Die anderen hab ich nicht aufgeschrieben..)

    !!! Das ist nicht das richtige Programm. Ich werden natürlich den GUI ändern, das ist nur ein Beispiel damit ihr seht was ich meine !!!

    Mfg,
    buraksz

    Einmal editiert, zuletzt von BurakSZ (10. Mai 2010 um 20:49)

  • Hallo

    durch FileOpendialog wird @Workingdir verändert du musst also den Pfad angeben:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Schnellzugriff", 625, 443, 192, 124)
    $Input1 = GUICtrlCreateInput("Pfad", 8, 8, 129, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 144, 8, 49, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Speichern", 200, 8, 49, 25, $WS_GROUP)
    $Input2 = GUICtrlCreateInput("Pfad", 8, 40, 129, 21)
    $Button3 = GUICtrlCreateButton("Suchen", 144, 40, 49, 25, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Speichern", 200, 40, 49, 25, $WS_GROUP)
    $Input3 = GUICtrlCreateInput("Pfad", 8, 72, 129, 21)
    $Button5 = GUICtrlCreateButton("Suchen", 144, 72, 49, 25, $WS_GROUP)
    $Button6 = GUICtrlCreateButton("Speichern", 200, 72, 49, 25, $WS_GROUP)
    $Input4 = GUICtrlCreateInput("Pfad", 8, 104, 129, 21)
    $Button7 = GUICtrlCreateButton("Suchen", 144, 104, 49, 25, $WS_GROUP)
    $Button8 = GUICtrlCreateButton("Speichern", 200, 104, 49, 25, $WS_GROUP)
    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
    $erstes = FileOpenDialog("Suchen...",@ScriptDir,"(*.exe)")
    GUICtrlSetData($Input1, $erstes)
    Case $Button2
    $erstesread = GUICtrlRead($Input1)
    ;FileDelete("settings.ini")
    IniWrite(@ScriptDir & "\settings.ini","erstes","programmpfad",$erstesread)

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

    EndSwitch
    WEnd

    [/autoit]


    mfg (Auto)Bert