FileRead Problem

  • Hallo,

    ich habe ein Problem eine Textdatei in einem Loop
    zu bearbeiten und zu öffen.

    Wie bekomme ich z.B. die bearbeitete Quellcode.txt in eine VAR?

    Spoiler anzeigen
    [autoit]


    $file = FileOpen($Liste, 0)

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

    While 1
    $line = FileReadLine($file)
    ;hier wird die Textdatei immer erneuert!

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

    FileWrite (@desktopdir & "\Quellcode.txt", _INetGetSource($Code))
    ;Die Quellcode.txt wird gefüllt

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

    $Textdat = FileOpen(@desktopdir & "\Quellcode.txt", 2)

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

    ;ab hier soll diese Datei bearbeitet werden. Aber ich kann die Quellcode.txt nicht anzeigen. Ist vorhanden und gefüllt!

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

    $Auswertung = StringRegExp($Textdat,'<span>(.*?)</span>',3)

    Msgbox(0,"",$Auswertung)

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

    FileClose($Textdat)

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

    Wend

    [/autoit]


    Grüße
    ;) Ilse

    Einmal editiert, zuletzt von Ilse (29. März 2013 um 16:22)

  • Und wo liegt jetzt das Problem?
    Du hast die Datei ja schon mit FileOpen geöffnet (zwar mit der falschen Flag, aber wenigstens geöffnet), jetzt musst du sie nur noch mit FileRead auslesen (und danach am Besten wieder schließen):

    [autoit]

    $Textdat = FileOpen(@desktopdir & "\Quellcode.txt", 0)
    $Text = FileRead($Textdat)
    FileClose($Textdat)
    $Auswertung = StringRegExp($Text, ...)

    [/autoit]
    • Offizieller Beitrag

    Ilse, Du solltest Dir angewöhnen Dein komplettes Script einzustellen oder zumindest ein nachvollziehbares Beispiel.
    Bei dem, was Du gepostet hast, weiss niemand welche Datei in $Liste enthalten ist und es kennt keiner den Inhalt von "Quellcode.txt".
    Außerdem benutzt Du StringRegExp mit dem Handle von FileOpen. Das kann überhaupt nicht funktionieren. Du musst die Datei erstmal einlesen (FileRead/Line).
    Entsprechende Beispiele stehen in der Hilfe zu FileRead und FileReadLine.

  • @ alle

    Funktioniert jetzt super!

    Dank euch allen!

    @ Oscar
    das ganze ist sehr unübersichtlich
    deswegen hatte ich mich aufs wesentliche beschränkt.
    Hilfe hatte ich auch schon hinter mir, bevor ich gepostet habe.
    Bin da nicht weitergekommen.

    Klappt jetzt prima...

    Liebe Grüße
    ;) Ilse

  • Hi,
    wenn es nicht gerade um die letzten hundertstel Sekunden Performance geht und nur einfache Textdateien einmalig ausgelesen werden müssen, kann man sich das FileOpen()-Gedöns auch sparen und direkt per

    [autoit]

    $text=FileRead(@desktopdir & "\Quellcode.txt")

    [/autoit]

    auslesen.