Code: Select all
procedure LoadUTF8(rv: TCustomRichView; const FileName: String;
StyleNo, ParaNo: Integer);
var Stream: TFileStream;
s: TRVRawByteString;
ws: TRVUnicodeString;
begin
Stream := TFileStream.Create(FileName, fmOpenRead);
SetLength(s, Stream.Size);
Stream.ReadBuffer(PRVAnsiChar(s)^, Stream.Size);
Stream.Free;
rv.Clear;
ws := UTF8Decode(s);
rv.AddTextNLW(ws, StyleNo, ParaNo, ParaNo, False);
end;
Code: Select all
LoadUTF8(RichViewEdit1, 'test.txt', 0, 0);
RichViewEdit1.Format;
loaded as it is. If not, it will be converted to ANSI text)
(2008-Dec-9: updated for compatibility with TRichView 11 and Delphi 2009)