Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateiformat ermitteln (https://www.delphipraxis.net/102121-dateiformat-ermitteln.html)

xZise 23. Okt 2007 20:58


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

Luckie 23. Okt 2007 21:10

Re: Dateiformat ermitteln
 
http://blogs.msdn.com/oldnewthing/ar.../24/95235.aspx
http://blogs.msdn.com/oldnewthing/ar...7/2158334.aspx

Bernhard Geyer 23. Okt 2007 21:12

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.

xZise 23. Okt 2007 22:23

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?

Garfield 24. Okt 2007 06:23

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.

Bernhard Geyer 24. Okt 2007 07:28

Re: Dateiformat ermitteln
 
Zitat:

Zitat von Garfield
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.

Das dürfte ja dann ein performancetechnisches Grab sein. Und wird die Unicode-Entscheidung bei Zeichen > #$007F oder > #$00FF getroffen?

Luckie 24. Okt 2007 08:36

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. :?

xZise 24. Okt 2007 10:46

Re: Dateiformat ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Garfield
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.

Nein ;) Das stimmt so nicht!

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:

Zitat von Luckie
Wenn die TNT Controls das wirklich können, dann sollte man mal Raymond Chen (siehe Links in meinem ersten Beitrag) Bescheid sagen. :?

Hat sich damit erledigt ^^

PPS: Also muss ich per Hand das Format herausfinden/erraten?

Garfield 24. Okt 2007 11:32

Re: Dateiformat ermitteln
 
Zitat:

Zitat von xZise
Nein ;) Das stimmt so nicht!

Bist Du Dir sicher?

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.

xZise 24. Okt 2007 11:47

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
Seite 1 von 2  1 2      

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