Quellcode offline bearbeiten

  • Hallo,

    folgendes Problem.
    Ich habe eine Html Datei
    Sieht so aus:

    Spoiler anzeigen


    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1"
    http-equiv="content-type">
    <title></title>
    </head>
    <body>
    Das ist ein alter Text
    </body>
    </html>

    Es soll der Quelltext mit RegEx bearbeitet werden.
    Also Text sollte ersetzt werden und dann die Datei neu abgespeichert werden.

    Aber wie kann ich einen Quelltext (offline) lesen, bearbeiten und neu abspeichern?

    Spoiler anzeigen
    [autoit]


    #include <inet.au3>
    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )

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

    $source = _INetGetSource($HtmlTemplate)
    Msgbox(0,"",$source)

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

    Local $sOutput = StringRegExpReplace($source, 'das ist ein (.*?)Text', ' das ist ein (neuer)Text ')

    [/autoit]

    Klappt leider alles nicht...

    ;) Grüße Ilse

  • Hallo Dieter,

    muß mich wieder melden.

    Kannst du mir vielleicht ein Beispiel zeigen,
    wie man den Quellcode der Datei anzeigen kann?

    Komm irgendwie nicht weiter

    [autoit]


    ;$datei = FileOpen("test.txt", 0)
    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )
    ; Überprüfe ob die Datei geöffnet werden konnte
    If $HtmlTemplate = -1 Then
    MsgBox(0, "Error", "Konnte Datei nicht öffnen.")
    Exit
    EndIf
    Msgbox(0,"",$HtmlTemplate)
    ; Liest 1 Buchstabe gleichzeitig bis das Ende der Datei erreicht wurde
    While 1
    $buchstabe = FileRead($HtmlTemplate, 1)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Buchstabe gelesen:", $HtmlTemplate)
    Wend

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

    FileClose($HtmlTemplate)

    [/autoit]

    :( Grüße Ilse

  • Hi.

    Anzeigen eines beliebigen Textes.

    Erstmal erstellst du dir mit GuiCreate() eine GUI, und dann ein Edit-Control mit GuiCtrlCreateEdit(). Mit GuiCtrlSetData() setzt du fest, was das Control anzeigen soll. Zum Auslesen der Datei einfach FileRead() nehmen. Beim Speichern wirds' dann schon komplexer, aber du kannst dich ja erstmal an dem Edit versuchen. Die Hilfe hilft da wirklich.

    Ps: Für Profis, oder wenn du genug verstanden hast, kannst du mit der SciLexer auch noch Syntax Highlighting mit reinnehmen.

  • Hallo,

    das Problem, ich kann den Quelltext nicht lesen.
    Das EditFeld zeigt den Pfad an, aber nicht den Quelltext

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 16, 16, 385, 417)
    $btnHtml = GUICtrlCreateButton("Html", 424, 16, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $btnHtml
    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )
    GuiCtrlSetData($Edit1,$HtmlTemplate)
    EndSwitch

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

    WEnd

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

    :( Ilse

  • Für alle,

    ich Hab's..

    [autoit]


    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )

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

    $text = FileRead ($HtmlTemplate)
    Msgbox(0,"",$text)

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

    $tout1 = StringReplace ($text, "test", "Ilse")

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

    FileWrite (@ScriptDir & "\ilse.html", $tout1)

    [/autoit]


    heieiei... ;)

    Liebe Grüße