file.au3 _FileWriteFromArray

  • Hallo

    habe ein kleines Problem. Beim Schreiben eines Arrays in eine Datei wird stets eine Leerzeile (eigentlich ein CR) vor dem eigentlichen Inhalt des Array in die Datei geschrieben. Die Ursache ist in der Funktion _FileWriteFromArray auch erkennbar:
    ----
    If FileWrite($hFile, @CRLF & $a_Array[$x]) = 0 Then ..
    ----

    Da das CR nicht zum Array gehört, muss doch was falsch sein und ich gehe davon aus, dass der Fehler bei mir liegt. Kann jemand helfen?

    Danke und Grüße
    gamba

    Einmal editiert, zuletzt von Gamba (8. Februar 2008 um 23:55)

  • Hi Oscar,
    mein Problem besteht darin, dass ein _FileWriteFromArray vor dem ersten Datensatz (Array[1]) ein CR in die Datei schreibt. Bei Textdateien wird dadurch eine Leerzeile vor dem ersten Eintrag eingefügt. Die Ursache ist aus dem Quelltext auch nachzuvollziehen, der Grund dafür nicht. Warum ein CR vor der ersten Zeile?
    Im konkreten Fall lese ich eine LOG-Datei in ein Array, lösche ein paar Zeilen aus dem Array und schreibe das Array wieder in die Datei. Wiederholt man den Vorgang, wird jedes Mal eine neue Leerzeile am Dateianfang eingefügt.
    Das muss doch bei allen Anwendungen von _FileWriteFromArray unangenehm auffallen.
    Verstehst?
    Danke für die Bemühungen
    MfG
    Gamba

    • Offizieller Beitrag

    Ahh...verstehe! Ja, da hast Du nicht ganz Unrecht. Vor dem jeweiligen Eintrag, ok, aber warum vor dem ersten Array-Eintrag?
    Hat vermutlich damit zu tun, dass man auch ein Filehandle übergeben kann und der Author der Funktion mit dem @CRLF am Anfang das Array davon abtrennen will. Wäre aber ein wenig schlampig programmiert.

    Was soll's, Du musst die Funktion ja nicht benutzen. Schreib Dir einfach Deine eigene. :)