Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
850 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie Textdateien lesen? Unicode oder ANSI

  Alt 30. Jun 2010, 15:51
Hallo,

ich habe bisher mit AssignFile und ReadLn Textdateien gelesen. Damit kann man leider keine Unicode-Dateien lesen. Nach etwas suchen habe ich das hier gefunden:

Delphi-Quellcode:
var
  Reader: TStreamReader;
begin
  Reader := TStreamReader.Create('C:\Test.txt');
  //Reader := TStreamReader.Create('C:\Test.txt', TEncoding.GetEncoding(28591), false); //Alternative, damit auch deutsche Umlaute dargestellt werden
  while not Reader.EndOfStream do
    Memo1.Lines.Add(Reader.ReadLine);
  Reader.Free;
end;
Das Problem dabei ist, dass dieser Code nur UTF8-Unicode-Dateien lesen kann. Bei normalen ASNI-Dateien wird nichts eingelesen.

Welche Möglichkeiten gibt es eine Textdatei unabhängig davon ob es UTF8 oder ANSI usw. ist einzulesen? Das Format soll also automatisch erkannt werden. Ich habe sehr große Dateien. Das einlesen muss also Zeilenweise passieren und nicht einfach über eine TStringList, die mit LoadFromFile die gewünschte Automatik bietet.
  Mit Zitat antworten Zitat