![]() |
String-Format?
Liste der Anhänge anzeigen (Anzahl: 1)
Vielleicht hat jemand direkt eine Lösung parat...
Ich habe eine alte D7-Anwendung, die eine Textdatei importiert. Jetzt wurde das externe Format verändert (kenne mich da nicht wirklich aus :oops:). Ich habe mal einfach planlos AnsiToAscii und AsciiToAnsi versucht. Hat aber nichts gebracht. Kann vielleicht jemand anhand des Screenshots direkt eine Lösung erkennen? Oben ist das bisherige Format, unten das neue, Das alte Format wird in S lesbar incl. Umlauten abgebildet. Beim neuen Format bin ich erst mal überfragt, zumal die Delphi-Hilfe hier auch nicht funktioniert. Wenn es nützlich wäre könnte ich statt Textdatei.Readln auch über StringList gehen. Hat jemand eine Idee, was der sinnvollste/einfachste Ansatz wäre? (Das Projekt hat aber keine Priorität.) |
AW: String-Format?
Unicode?
|
AW: String-Format?
Um genau zu sein, ist das eindeutig UTF-8, sowohl der BOM als auch der Umlaut.
MfG Dalai |
AW: String-Format?
Ja, stimmt, habe gerade mal gesucht.
In einer älteren eMail steht "UTF-8" als Ankündigung. Werde mal nach einer D7-(Not-)Lösung suchen. Danke. Hilft mir schon mal etwas. |
AW: String-Format?
In Delphi 7 dürften UTF8Decode bzw UTF8Encode Deine Freunde sein.
|
AW: String-Format?
Oder aber auch Utf8ToAnsi und AnsiToUtf8 aus der Unit System.
Jedenfalls nehm' ich die immer, wenn ich UTF8-Dateien (zeilenweise) lesen bzw. schreiben muss. |
AW: String-Format?
Als kleiner Tipp:
![]() |
AW: String-Format?
Danke, ich gebe Ende nächster Woche Bescheid...
|
AW: String-Format?
Dank nochmal. So werde ich weiter kommen.
Utf8ToAnsi kapselt einfach Utf8Decode.
Delphi-Quellcode:
War halt schwierig, da ohne funktionierende Hilfe drauf zu kommen. :?
function Utf8ToAnsi(const S: UTF8String): string;
begin Result := Utf8Decode(S); end; Die erste Zeile enthält im Original Sonderzeichen, die zu einem Fragezeichen umgewandelt werden, das ich einfach entferne. Dann passt offenbar alles. |
AW: String-Format?
Diese "Sonderzeichen" nennen sich
![]() |
AW: String-Format?
Da die Datei ein ByteOrderMark hat, kannst du auch einfach TStringList nehmen, die macht den Rest automatisch. ;-)
|
AW: String-Format?
Zitat:
|
AW: String-Format?
Soweit ich weiß Kann die D7 Stringlist nur Ansi!
Gruß K-H |
AW: String-Format?
Stimmt, ich habe nur auf das Profil geachtet und die Angabe im ersten Beitrag übersehen. :oops:
|
AW: String-Format?
Hatte ich auch übersehn.
Das erklärt dann auch, warum das BOM zu einem Fragezeichen wurde. TNT-Unicode und JEDI haben eine TWideStringList. k.A. ob Delphi 7 schon die Unit WideStrings.pas kennt. |
AW: String-Format?
TWideStrings sind schon bekannt, aber seit #9 ist das Problem wohl gelöst.
(Solange man sich sprachlich nur in Deutschland oder dem angrenzenden Ausland bewegt, reicht ANSI wohl noch.) Gruß K-H |
AW: String-Format?
Seit D2009 hat TStringList ja eine Erkennung des BOM drin, samt automatischer Decodierung.
|
AW: String-Format?
Ja, für mich ist die gefundene Lösung ausreichend. (Ich will mich auch nicht intensiver damit befassen müssen.)
Wenn jemand mehr braucht gibt es ja hier noch ein paar hilfreiche Infos. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz