Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Memo und fehlerhaftes Dateiformat! (https://www.delphipraxis.net/89255-memo-und-fehlerhaftes-dateiformat.html)

bennle 28. Mär 2007 14:10


Memo und fehlerhaftes Dateiformat!
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
Ich schreibe gerade einen Editor, welcher eine Datei im HTML (WebBrowser Designmode) speichert und dann im Klartext des HTML öffnet. Jedoch muss ich feststellen,
dass er dies zu erst fehlerhaft bzw in einem anderen Format speichert.
Wenn ich das richtig verstehe ist es im Unicode gespeichert.
Nun wenn ich es im Memo öffne, dann bekomme ich nur ein "ÿþ". Damit kann ich natürlich nix anfangen!
Also wie kann ich die Datei konvertieren, dass ich diese im Memo geöffnet bekomme?

Ich habe mal die zwei unterschiedlichen Formate im Hexeditor geöffnet und als Bild angehängt.
Wäre super, wenn mir jemand eine Lösung präsentieren könnte.
Am besten wäre es, wenn ich den WebBrowser dazu bekommen könnte gleich im richitgen Format zu speichern. Hierzu möchte ich erwähnen, dass ich diese Editorlösung über MSHTML realisiere.

Vielen Dank.

Benny

SirThornberry 28. Mär 2007 15:27

Re: Memo und fehlerhaftes Dateiformat!
 
der quelltext, wie du das ganze speicherst, wäre interessant.

bennle 28. Mär 2007 15:35

Re: Memo und fehlerhaftes Dateiformat!
 
Zitat:

Zitat von SirThornberry
der quelltext, wie du das ganze speicherst, wäre interessant.

Ok ich weiß nicht ob es interessant ist, aber mal sehen! Das Problem das ich habe ist das es manchmal funktioniert! Und zwar, wenn ich den test in der memo schreibe und dann speichere und diesen dann öffne!
Sobald ich dann im Designeditor wieder speichere funktioniert es.

Nun aber den Code wie ich den Designeditor speicher:

Delphi-Quellcode:
(HTMLDocument2Ifc as IPersistFile).Save(Installpfad+ '\temp_edit.html', True);
Gruß
Benny

marabu 28. Mär 2007 18:16

Re: Memo und fehlerhaftes Dateiformat!
 
Hallo Benny,

ein paar Infos zu deinem Problem findest du in diesem Thread: playlist aus itunes txt laesst sich nicht einlesen

Ich hatte dort zwar Code bereit gestellt, aber dieser behandelt nur ein einziges Byte-Order-Mark (BOM). Beim Einlesen von ANSI-kodierten Dokumenten muss zuerst noch der FileStream auf den Anfang positioniert werden, sonst fehlen zwei bis drei Bytes.

Die Ausgabe im von dir ungewollten Format ist auf jeden Fall korrekt, da der MSHTML-Editor intern mit WideStrings arbeitet. Beim Einlesen von Dokumenten wird deren Kodierung analysiert, sodass der Editor kein Problem mit unterschiedlichen Kodierungen hat. Die Memo-Komponente allerdings kommt mit UTF-16 nicht zurecht. Stattdessen könntest du SynMemo aus dem SynEdit-Projekt verwenden, welches die gegebene Kodierung eines Dokuments ähnlich komfortabel erkennen sollte.

Grüße vom marabu

bennle 28. Mär 2007 19:15

Re: Memo und fehlerhaftes Dateiformat!
 
Vielen Dank, ich glaube das hat mein Problem gelöst!

Gruß
Benny


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz