FileWrite() schreibt nicht ..

  • Hey!

    zu meinem problem: Ich habe eine Endlosschleife, welche dauernd verschiedene texte an meine .txt datei schreibt! soweit klappt alles!
    wenn ich das script über das trayicon beende, schreibt das script, aber wenn ich das script über den taskmanager beende, schreibt das script die daten nicht mehr an die .txt.

    weiß da jemand weiter?

    Einmal editiert, zuletzt von Fisch (14. September 2008 um 23:23)

  • [autoit]

    Global $title, $title_old
    $file = FileOpen("bla.txt", 1)

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

    While 1
    $title = WinGetTitle("[active]")
    If $title <> $title_old Then
    _write($title)
    $title_old = $title
    EndIf
    Sleep(100)
    WEnd

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

    Func _write($what2log)
    FileWriteLine($file, @CRLF&@HOUR&":"&@MIN&":"&@SEC&": "& $what2log)
    EndFunc

    [/autoit]

    also, es schreibt immer die aktiven fenster in ne .txt datei
    wie gesagt, wenn ich über taskmanager beende, ist danach nichts in "bla.txt"

  • Hi.

    Also ich bin ja nun nicht so gut in AutoIt. Aber du könntest das Script ja einfach so umschreiben:

    [autoit]


    Global $title, $title_old

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

    While 1
    $title = WinGetTitle("[active]")
    If $title <> $title_old Then
    _write($title)
    $title_old = $title
    EndIf
    Sleep(100)
    WEnd

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

    Func _write($what2log)
    $file = FileOpen("bla.txt", 1)
    FileWriteLine($file, @CRLF&@HOUR&":"&@MIN&":"&@SEC&": "& $what2log)
    Fileclose($file)
    EndFunc

    [/autoit]

    Es gibt aber bestimmt eine Bessere Lösung.


    Lg,


    Lenny

    P.s. Ich denke wenn du den Prozess abschießt wird die Datei nicht geschlossen (Fileclose(""))

    Jaja, Moo does the Cow!

    • Offizieller Beitrag

    Was wird das denn jetzt schon wieder? :S
    Ich wills garnicht wissen
    $file = FileOpen("bla.txt", 1)
    FileWriteLine($file, @CRLF&@HOUR&":"&@MIN&":"&@SEC&": "& $what2log)
    Fileclose($file)

    kannst du auch einfach in FileWriteLine("bla.txt", @CRLF&@HOUR&":"&@MIN&":"&@SEC&": "& $what2log)
    umwandeln, da FieWrite automatisch die Datei öffnet und schliesst, wenn ein Pfad angegeben ist. (Hilfe lesen..)

    Mfg spider