Entwickler-Ecke

Dateizugriff - Merkwürdige textdatei


jsfrigo - Mo 04.10.10 15:25
Titel: Merkwürdige textdatei
Ich versuche eine Textdatei in meinem Programm zu verarbeiten.
Es handelt sich um meine Hand Histories vom Online Pokern.
Wenn ich diese Datei normal mit dem Editor öffne kann ich auch alles lesen was drin steht.
Öffne ich diese Datei jetzt aus einem Dephi Programm herraus sind die Daten in einer komplett anderen Form vorhanden.
Da steht dannn z.B. #0'S'#0'e' usw. in der Zeile
Wieso kann ich im Editor die Daten lesen und bei einer Verbeitung im Programm nicht??
Woran kann das liegen?
Wie komme ich denn trotzdem an meine Daten.


Marc. - Mo 04.10.10 15:34

Wie liest Du denn die Daten? Ich kann mir kaum vorstellen, dass Delphi da noch Zeichen erfindet. ;)
Ich tippe darauf, dass diese Zeichen vorhanden sind, aber von Deinem Editor ignoriert respektive nicht dargestellt werden.

Kannst Du die Textdatei mal anhängen?

E: Wer lesen kann, ist klar im Vorteil. :roll:
Ggfalls, handelt es sich idT. um UniCode-Zeichen, wie Tranx nun anmerkte.


Tranx - Mo 04.10.10 15:36

Scheinbar ist der Text in AnsiChar (Unicode) geschrieben, d.h. gegenüber einem normalen Zeichen, welches die Werte von 0 .. 255 enthalten kann, ist AnsiChar um ein Byte erweitert, kann also die Wete 0 .. 65535 enthalten. Die ist deswegen, um auch fremde Zeichensätze darstellen zu können, z.B. den chinesischen Zeichensatz, welche ja bekanntlich mehr als 256 Zeichen umfasst.

Ich kann mir vorstellen, dass möglicherweise die Komponente TRichedit das Ganze richtig darstellt.

Binde eine Komponente TRichedit als Richedit1 in Dein Programm ein und versuche dann, den Text in RichEdit1.Lines.LoadFromFile(Dateiname) einzulesen. (Dateiname = Name der Datei, in der der Text steht).

EDIT:

Ich habe es an einem chinesischen Text ausprobiert. Der kann problemlos im Editor gelesen werden. Wenn Du entweder den Text im Editor - weil er ja kein solcher Text ist - als Ansi-Text abspeicherst, dann müsste Delphi den Text problemlos lesen können. Andernfalls speicherst Du ihn im UTF8-Format ab, dann liest die Richeditkomponente den Text problemlos so wie er geschrieben wurde.


jsfrigo - Mo 04.10.10 15:49

Danke Tranx
Genau das wars.