FileReadLine erkennt Dateiende nicht

  • Hallo und guten Abend,

    ich verzweifle gerade am zeilenweisen Auslesen einer 08/15-Textdatei mit einer Do...Until-Schleife. An sich funktioniert fast alles perfekt - außer eben dem Umstand, dass ich scheinbar dass passende Exit-Kriterium nicht "finde" und somit ewig in der Schleife hänge :/

    Wie gesagt, Problem ist, dass die u.a. Schleife einfach nicht verlassen wird - und ich verstehe nicht, was ich bzgl. der Hilfe/Doke anders mache...

    In der Hilfe zu FileReadLine steht:

    Return Value

    Success: a line of text.

    Failure: sets the @error flag to non-zero.

    @error: 1 = if file not opened in read mode or other error

    -1 = if end-of-file is reached


    Nachfolgend mein (gekürzter) Code:

    Bin für Tip's wirklich sehr (!) dankbar...

    Viele Grüße und nen schönen Abend,

    Mr.Fritz

    • Offizieller Beitrag

    Das Macro "@error" wird durch StringLower zurückgesetzt.

    Du musst @error direkt nach FileReadLine auswerten:

    C
    $hFile = FileOpen($ErrorFile)
    Do
        $sString = FileReadLine($hFile)
        If @error Then ExitLoop
        $sString = StringLower($sString)
        ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sString = ' & $sString & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    Until @error
    FileClose($hFile)