Dateiformat ermitteln
Hallo DP,
ich hate von den TntControls mir die Memo geholt und leider nur die dcu Variante und kann deshalb nicht so gut den Code durchforsten ^^ Also ich habe eine Datei und möchte ermitteln welches Dateiformat die Datei hat. Also ob ANSI etc. 1. Wie kriege ich das raus? 2. Welche Formate gibt es so? Also ich habe da ANSI, UTF8 und UTF16 (welches wohl überall als Unicode beschrieben wird?)? Natürlich da dann noch LE und BE :) 3. Wie kann ich das am besten speichern? Gibt es da schon was von den Tnts? MfG xZise |
Re: Dateiformat ermitteln
|
Re: Dateiformat ermitteln
Erkennunszeichen sind die BOM's am Dateianfang.
TNT sollte UTF16 können. Ob nun Little oder Big-Endian wieß ich im Moment nicht. |
Re: Dateiformat ermitteln
Naja die Tnts laden ohne zu Murren meine Dateien (welche Standardmäßig vorkommen sollten.
Aber wenn ich nun den Datentyp wüsste, wie könnte ich ihn abspeichern? |
Re: Dateiformat ermitteln
Die TNTControls prüfen beim Laden das Format der Datei. Beim Speichern wird der zu speichernde Text geprüft und entsprechend gespeichert. Ist nur Ansi drin wird als Ansi gespeichert. Ist Unicode drin, wird als Unicode gespeichert.
Die Units der TNT Controls gibt es zum Beispiel dort rechts im Menue unten. |
Re: Dateiformat ermitteln
Zitat:
|
Re: Dateiformat ermitteln
Wenn die TNT Controls das wirklich können, dann sollte man mal Raymond Chen (siehe Links in meinem ersten Beitrag) Bescheid sagen. :?
|
Re: Dateiformat ermitteln
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Er lädt alles, aber speichern tut er dass, solange ich es über ".Lines.SaveToFile()" mache, als UniCode Datei. Das sieht man besonders gut daran, dass die ersten 2 Bytes "FF FE" (Also LE (Oder nicht ?! ^^)) sind. MfG xZise PS: Zitat:
PPS: Also muss ich per Hand das Format herausfinden/erraten? |
Re: Dateiformat ermitteln
Zitat:
Ich kann es hier leider nicht überprüfen. Hatte vor ein paar Wochen mit TTNTStringlist, TStringList und TWideStringList experimentiert. Und da war es meiner Meinung nach so. Muss ich heute abend mal nachsehen. |
Re: Dateiformat ermitteln
Für doch einfach mein Programm aus.
Lade eine ANSI Datei. Er zeigt dir die ersten 3 Bytes an. Wenn du nun speicherst du die Datei wieder lädst, dann sind die ersten zwei Bytes ein LE BOM ;) MfG xZise |
Re: Dateiformat ermitteln
:gruebel: Irgendetwas habe ich da wohl verwechselt.
|
Re: Dateiformat ermitteln
Also die TTntStringList hat eine Ansiunterliste, welche auch Ansi speichert.
Nur krieg ich ihn nicht hingebogen UTF16 BE oder UTF8 zu speichern :( |
Re: Dateiformat ermitteln
Vielleicht hilft das: http://www.delphipraxis.net/internal...t.php?t=121456
|
Re: Dateiformat ermitteln
Zitat:
Wenn deine Komponente auch auch SaveToStream beherrscht müsste es gehen, wenn auch ziemlich um die Ecke: 1. von der Komponente in einen Stream speichern 2. vom Stream in meinen zusammengebastelten TUniString laden 3. von dort aus in einen beliebigen Stream in einem beliebigen Unicode-Format speichern Laden wäre das gleiche, nur umgekehrt. MfG, Bug |
Re: Dateiformat ermitteln
Zitat:
Ich habe es genauso gemacht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 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