Код:
procedure TForm1.Button3Click(Sender: TObject);
var
F : File;
Sz : Integer;
Str : WideString;
begin
AssignFile(F, 'zum.reg');
Reset(F, 1);
Sz := FileSize(F);
setLength(Str, Sz+2);
BlockRead(F, Str[1], Sz);
CloseFile(F);
Memo1.Lines.Add(Str)
end;
Этот код работает, разделяя прочитанные данные на две части, "выжимая" Ansistring. "Выжатая" часть нормально отображается Delphi в первой половине текста (в Memo или RichEdit). Другая часть отображается в ввиде "??????".
Наверное, эту часть легко отбросить. ИМХО, это лучше, чем многочисленные советы в форумах, где предпочтение отдается сканированию считанной строки unicode в цикле и формированию Ansistring.