Inhalt einer .txt in eine .html schreiben

  • Hi @ all,
    da ich nicht immer wen ich eine .txt in eine html. umwandeln will in den editor rein muss hab ich mir ein prog geschrieben das die .txt datei auswählt und sie mit dem selben namen im selben ordner(wie die .txt) speichert. Soweit so gut, meine datei speichert (auch im selben ordner:)) nur der inhalt der .html ist dann einfach nur "0" warum?

    hier der Code:

    [autoit]

    $File=FileOpenDialog("Öffnen...","","Text Datei (*.txt)")
    $Text = GUICtrlRead($File)
    FileWrite($File & ".html", $Text)

    [/autoit]


    achso das ich es nicht vergesse, die datei speichert dann als Name.txt.html wie kann ich das verhidnern?

    MfG Roggazzz
    Click Ctrl-C to copy. (hides when lost focus)

  • Hi @ all,
    da ich nicht immer wen ich eine .txt in eine html. umwandeln will in den editor rein muss hab ich mir ein prog geschrieben das die .txt datei auswählt und sie mit dem selben namen im selben ordner(wie die .txt) speichert. Soweit so gut, meine datei speichert (auch im selben ordner:)) nur der inhalt der .html ist dann einfach nur "0" warum?

    hier der Code:

    [autoit]

    $File=FileOpenDialog("Öffnen...","","Text Datei (*.txt)")
    $Text = GUICtrlRead($File)
    FileWrite($File & ".html", $Text)

    [/autoit]


    achso das ich es nicht vergesse, die datei speichert dann als Name.txt.html wie kann ich das verhidnern?

    MfG Roggazzz
    Click Ctrl-C to copy. (hides when lost focus)

    da du von umwandeln schreibst, gehe ich davon aus, dass die Datei keinerlei HTML-Code enthält, schau dir dazu mal Oscar 's Beitrag an, zum entfernen der ursprünglichen Dateinerweiterung gibt es viele Möglichkeiten z.B

    [autoit]

    StringReplace($Text,".txt","")

    [/autoit]


    Ich hoffe dass bringt dich weiter,

    mfg (Auto)Bert

  • Hallo,
    generell ist es hilfreich, vor dem Posten/Nachfragen die Variablen z.B. mittels eines simplen "MsgBox" zu prüfen...

    a) Dabei fällt dir auf, dass der Dateiname incl Pfad in der Variable $text steht.
    b) Ein "GuiCtrlRead" funktioniert nicht mit Dateien,

    zu a):
    Die Dateiendung ".txt" soll zu ".html" werden, nutze dazu den Befehl Stringrreplace()
    zu b):
    der Befehl heisst "FileRead"

    viel Spass weiterhin
    Andy

  • Hallo Roggazzz,

    versuch mal diese Lösung:

    [autoit]

    #include <file.au3>
    Local $aFile ;array zum des einlesen kompletten Files
    Local $File=FileOpenDialog("Öffnen...",@DesktopCommonDir,"Text Datei (*.txt)") ;Verzeichnis evtl. austauschen
    If Not _FileReadToArray($File, $aFile) Then
    MsgBox(4096, "Fehler", "Fehler beim einlesen der Datei " & $File & "in das Array Fehler:" & @error)
    Exit
    EndIf
    Local $FileNew = StringReplace($File,".txt",".html") ;tauscht die Namesbezeichnung aus und weit sie de Variable $FileNew zu
    FileOpen($FileNew, 2) ; 2 = überschreiben ;ein File mit der neuen Namensbezeichnung öffnen
    _FileWriteFromArray($FileNew, $aFile, 1) ;File schreiben
    FileClose($File)
    ;danach evtl. das alte File löschen

    [/autoit]

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (23. Mai 2009 um 01:30)