InetGet - Download ohne Zeilenumbruch?

  • Beispiel der Datei die ich downloaden will:
    1+1=1
    1+2=3
    1+3=4

    Wenn ich sie dann auf der Platte habe, sieht sie so aus:
    1+1=11+2=3+1+3=4

    Klar, könnte ich die Zeilenumbrüche durch ein Zeichen ersetzen und das später Zeichen wiederum später durch einen Zeilenbruch ersetzen, aber geht es nicht einfach?

  • Das liegt wahrscheinlich an der Zeilenumbruchzeichensequenz (was ein Wort :D).
    Der Server ist wahrscheinlich ein Server auf Linux- oder Unix-Basis, und nutzt demnach als Zeilenumbruchzeichen Line Feed, oder kurz LF. Windows aber nutzt zum Darstellen eines Zeilenumbruchs die Sequenz Carriage Return & Line Feed, also CRLF.

    Wenn du die Datei mit CRLF von Windows per FTP irgendwo hochlädst, dann kann es passieren, dass aus den CRLF automatisch LF werden. Hin und wieder findet da eine automatische Umwandlung statt. Die meisten Browser stellen die Datei dann richtig dar, auch unter Windows. Bei einem eigenen Programm musst du dich aber selber um die LF kümmern. Eigentlich sollte ein StringReplace helfen.

    Gruß

  • Das liegt wahrscheinlich an der Zeilenumbruchzeichensequenz (was ein Wort :D).
    Der Server ist wahrscheinlich ein Server auf Linux- oder Unix-Basis, und nutzt demnach als Zeilenumbruchzeichen Line Feed, oder kurz LF. Windows aber nutzt zum Darstellen eines Zeilenumbruchs die Sequenz Carriage Return & Line Feed, also CRLF.

    Wenn du die Datei mit CRLF von Windows per FTP irgendwo hochlädst, dann kann es passieren, dass aus den CRLF automatisch LF werden. Hin und wieder findet da eine automatische Umwandlung statt. Die meisten Browser stellen die Datei dann richtig dar, auch unter Windows. Bei einem eigenen Programm musst du dich aber selber um die LF kümmern. Eigentlich sollte ein StringReplace helfen.

    Gruß


    Er koennte auch StringAddCR benutzen. :whistling:

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Wie im Web üblich wirst du in der Regel LF als Zeilenumbruch auf Webseiten vorfinden. Das Notepad unter Windows zeigt dir diese Umbrüche aber nicht an und benötigt ein CRLF.

    Die einfachste Lösung:

    1. Verwende

    [autoit]

    inetread

    [/autoit]

    , um den String der Webseite direkt in einer Variable zu erhalten
    2. verwende

    [autoit]

    stringreplace

    [/autoit]

    und ersetze

    [autoit]

    @LF

    [/autoit]

    durch

    [autoit]

    @CRLF

    [/autoit]


    3. Sofern überhaupt notwendig verwende

    [autoit]

    filewrite

    [/autoit]

    um den bearbeiteten String in eine Datei zu schreiben


    EDIT: Da war ich nen Tick zu langsam...