temp file

  • Es soll die vorhergeschriebene tmp.txt geöffnet werden, gelesen und dann
    der text in eine neue "selbst benannte Datei" geschrieben werden.
    So das ich die Daten aus tmp.txt und der neuen zusammen hab.
    Seite1 generiert bei mir hier tmp.txt
    Seite2 generiert auch text und zusammen sollen sie dann in eine Datei geschrieben werden ... geht aber nicht warum???

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

    func Fertig2()
    $tmpfile = FileOpen("tmp.txt", 0)

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

    ; Datei offen?
    If $tmpfile = -1 Then
    MsgBox(0, "Error", "Datei kann nicht geöffnet werden.")
    Exit
    EndIf

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

    ; Solange lesen bis Dateiende
    $SavePath = FileSaveDialog("Dateinamen wählen:", "", "Textdatei (*.txt)")
    $endfile = FileOpen($SavePath, 1)
    While 1
    $endline = FileReadLine($tmpfile)
    If @error = -1 Then ExitLoop
    Dim $endfile
    FileWrite($endfile,"Eingaben Seite 1: " &$endline)
    FileClose($endfile)
    WEnd
    EndFunc

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

    FileWrite($endfile, $endline) geht auch nicht

    2 Mal editiert, zuletzt von kci (23. Oktober 2006 um 16:49)

  • hi,

    [autoit]


    fertig2()
    #include <File.au3>

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

    func Fertig2()
    Local $aFileContent
    _FileReadToArray("temp.txt", $aFileContent)
    $SavePath = FileSaveDialog("Dateinamen wählen:", "", "Textdatei (*.txt)")
    $endfile = FileOpen($SavePath, 1)
    For $i = 1 To $aFileContent[0]
    FileWriteLine($endFile,"Eingaben Seite 1:" & $aFileContent[$i])
    Next
    FileClose($endfile)
    EndFunc

    [/autoit]
    • Offizieller Beitrag

    Hallo kci,

    deine Version funktioniert nicht weil zwei Fehler enthalten sind.

    1. Die Dim-Anweisung innerhalb der While-Schleife (Dim $endfile) überschreibt den Filehandle der mit FileOpen angelegt wurde.

    2. FileClose muss auserhalb der While-Schleife geschrieben werden sonst wird die Datei nach der 1. Zeile schon wieder geschlossen.

    [autoit]


    func Fertig2()
    $tmpfile = FileOpen("tmp.txt", 0)

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

    ; Datei offen?
    If $tmpfile = -1 Then
    MsgBox(0, "Error", "Datei kann nicht geöffnet werden.")
    Exit
    EndIf

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

    ; Solange lesen bis Dateiende
    $SavePath = FileSaveDialog("Dateinamen wählen:", "", "Textdatei (*.txt)")
    $endfile = FileOpen($SavePath, 1)
    While 1
    $endline = FileReadLine($tmpfile)
    If @error = -1 Then ExitLoop
    FileWriteLine($endfile,"Eingaben Seite 1: " & $endline)
    WEnd
    FileClose($endfile)
    FileClose($tmpfile)
    EndFunc

    [/autoit]

    PS: Man sollte auch immer alle Dateien die man geöffnet hat wieder schliessen!