FileOpenDialog danach funktioniert die Funktion Filewrite nicht mehr

  • Hallo zusammen,

    ich wollte nochmals nachfragen zu meinen Problem das ich vor 4 Wochen bereits hatte. Damals habe ich es dann doch anders gelöst nur jetzt brauch ich die Funktion und ich weiß nicht woran es liegt...
    Siehe hier

    Ich hab ich mal ein Script geschrieben als kleines Beispiel:

    [autoit]


    $fileopen = "test"

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

    GUICreate("Userlöschen", 150, 150)
    $fileadd = GUICtrlCreateButton("Datei", "50", "50", "50", "20")
    $addu = GUICtrlCreateButton("+", "70", "70", "20", "20")

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    If $msg = $fileadd Then
    $fileopen = FileOpenDialog("","","Userliste (*.txt)")
    If @error Then
    ContinueLoop
    Else
    MsgBox(4096,"test","datei erfolgreich ausgewählt")

    EndIf
    EndIf
    If $msg = $addu Then
    FileWrite("test.txt",$fileopen)
    EndIf
    WEnd

    [/autoit]


    Problem ist um es nochmals zu beschreiben: Ich will den Wert im FileOpenDialog in eine Textdatei schreiben.

    Ich habe zum testen $fileopen den Wert "test" gegeben.
    Drücke ich als erstes auf die Schaltfäche + ($addu) schreibt er mir die Datei "test.txt"
    Gehe ich erst auf das "Durchsuchen" Feld schreibt er mir kein File mehr.

    Kann mir jemand sagen was ich falsch mache?

    Das Problem hab ich auch in Funktionen die im Grunde nix mit der oben genannten Funktion zu tun haben.
    Selbst LogFiles ganz am Schluss von meinen Script schreibt er nicht.
    Das Script kann bzw darf ich leider nicht Posten aber das Beispiel zeigt ja ganz genau den Fehler...

    100000000 Dank!!

  • [autoit]

    $fileopen = "test"
    $File = FileOpen( "test.txt", 1 )
    GUICreate("Userlöschen", 150, 150)
    $fileadd = GUICtrlCreateButton("Datei", "50", "50", "50", "20")
    $addu = GUICtrlCreateButton("+", "70", "70", "20", "20")

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $fileadd
    $fileopen = FileOpenDialog("","","Userliste (*.txt)")
    If @error Then
    ContinueLoop
    Else
    MsgBox(4096,"test","datei erfolgreich ausgewählt")
    EndIf
    Case $addu
    FileWrite( $File,$fileopen)
    EndSwitch
    WEnd

    [/autoit]

    Das geht

    Einmal editiert, zuletzt von Daniel W. (14. Februar 2007 um 17:34)

  • muss man bei FileWrite erst die datei öffnen? Werde es morgen mal versuchen. Danke für den Tipp aber bisher hat es immer ohne FileOpen funktioniert..... Gruß Jan und schönen abend noch