ganz einfaches einlesen einer Datei funktioniert mit FileOpen aber nicht mir FileopenDialog

  • [EDIT]

    Beim Schreiben hab ich den Fehler selber gefunden....
    FileOpenDialog gibt KEIN Handle zurück!

    Als Lösung einfach:

    [autoit]

    $file = FileOpen(FileOpenDialog("Hallo", @WindowsDir, "Textdateien (*.txt)", 8 ), 0)

    [/autoit]


    [/EDIT]


    Hallo


    ich versuche mich an einer ganz einfachen Funktion um eine datei einzulesen.
    ich habe in der onlinehilfe die passende Zeilen gefunden:

    [autoit]

    $file = FileOpen("test.txt", 0)

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

    ; Prüfen, ob Datei eingelesen wurde
    If $file = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf

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

    ; Zeilen des Textes einlesen bis EOF
    While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Zeile gelesen:", $line)
    Wend

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

    FileClose($file

    [/autoit]

    Eleganter ist das ganze aber natürlich mit dem FileOpenDialog.
    Ersetze ich die erste Zeile aber mit

    [autoit]

    $file = FileOpenDialog("Hallo", @WindowsDir, "Textdateien (*.txt)", 0 )

    [/autoit]

    was meiner Meinung nach funktionieren sollte, wird nur die erste Zeile gelesen, und das "unendlich" oft...

    FileOpen sowie FileOpneDialog geben doch aber beide nur ein handle auf die Datei zurück... verstehe nicht, warum das nicht funktioniert ;)


    Danke schonmal für Tipps

    Einmal editiert, zuletzt von womble (13. März 2011 um 10:11)

  • Zitat

    FileOpen sowie FileOpneDialog geben doch aber beide nur ein handle auf die Datei zurück... verstehe nicht, warum das nicht funktioniert


    machen aber was komplett anderes das eine ist ein Auswahldialog liefert Pfad/Name zurück.
    Fileopen hingegen öffnet die Datei zu Beginn um diese performanter lesen/schreiben zu können.
    Fileopen zielt also mehr auf den Inhalt ab.

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o