Autor Beitrag
Torsten Richter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 11.12.09 13:32 
Hallo,

D2009
Meine Frage ist die Gleiche wie Textfile encoding von Format Windows 1252 nach DOS 850 vom 27.03.07 11:12, (nur dass mir die Antwort nicht gefällt)

Ich versuche eine ASCII-Textdatei einzulesen, bekomme aber Umlaute nicht richtig angezeigt.

das Ganze mache ich mit
Memo1.Lines.LoadFromFile(MeineAteDosDatei, TEncoding.ASCII);

ich kann beim Encoding einstellen was ich will - die Resultate sind durchaus unterschiedlich, aber Umlaute sind nicht korrekt.

Was stimmt hier nich ?

tia
Torsten

Moderiert von user profile iconChristian S.: Verlinkung eingefügt
rn22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: Fr 08.10.10 21:11 
Das würde mich auch interessieren - hab nämlich das gleiche Problem.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 08.10.10 21:12 
Dafür gibt es OemTochar und CharToOem. ;-)
rn22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: Fr 08.10.10 21:25 
Aha.

Ich hab das in der Onlinehilfe nachgesehen. :?:
Wie würde man es denn konkret machen, wenn man z.B. die Datei test.txt ins MEmo1 laden wil?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Nanu, ich hab das gerade ausprobiert. Wenn man nur Test in ein Memo läd, geht es.

Aber wenn ich es erst in ein TStringList lade, gibt es das Umlaut-Problem.
theo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62

Win 2000, XP, Vista; Win 7
Delphi 6, 7, 2010, MSSQL, Firebird, DevExpress
BeitragVerfasst: Fr 08.10.10 21:34 
Wenn Du das Charset kennst, dann geht das ohne Probleme mit:

Memo1.Lines.LoadFromFile('C:\KLC\tschech.ini', TEncoding.GetEncoding(28592)); (laden als ISO 8859-2)

Den Parameter kannst hier nachschlagen: msdn.microsoft.com/e...dd317756(VS.85).aspx
rn22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: Fr 08.10.10 23:14 
Ich glaub, langsam komme ich hinter das Problem:
Meine Textdateien sind von einer englisch-Sprachigen Software erstellt. Die codiert offenbar anders.



user profile icontheo hat folgendes geschrieben Zum zitierten Posting springen:
Wenn Du das Charset kennst, dann geht das ohne Probleme mit:

Memo1.Lines.LoadFromFile('C:KLCtschech.ini', TEncoding.GetEncoding(28592)); (laden als ISO 8859-2)



Das sieht ja schon vielversprechend aus. Aber mit meinem Delphi5 scheint es nicht zu gehen. TEncoding ist normalerweise in SysUtils - oder? Dort hab ich nachgeschaut und es nicht gefunden.

Gibt es einen anderen Weg oder kann man das "nachrüsten"?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 09.10.10 05:12 
Diese Encoding-Sachen gibt es erst ab Delphi 2009 oder 2010. ;-)

Vorher musst du die geladene Datei selber umwandeln.