Карта сайтаСсылкиКонтакты

Как извлечь RTF текст из ресурсов и записать его на диск

PDF Печать
Статьи

Иногда требуется сохранить текст в RTF формате в ресурсах (Dll, EXE и т.д.), а затем извлечь его.

Вот основные шаги:

  1. Создайте файл ресурсов
  2. Подключите его к Вашему проекту
  3. Загрузите файл из файла ресурсов в TResourceStream
  4. Создайте TFileStream с именем файла, который Вы хотите записать на диск
  5. Используйте CopyFrom, чтобы получить данные из TResourceStream в TFileStream
  6. Освободите оба потока

Файл очень просто запишется на диск без вызова какой-либо процедуры записи или чего-нибудь вроде этого.

Вот пример извлечения test.rtf из ресурса TEST.RES и сохранения его на диск как test2.rtf в папке приложения:


procedure TfrmMain.Button1Click(Sender: TObject);
var
  ResStream: TResourceStream
  MyFileStream: TFileStream;
begin
  try
    MyFileStream := TFileStream.Create(
      ExtractFilePath(Application.ExeName) + 'test2.rtf ',
      fmCreate or fmShareExclusive
    );
    ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
    MyFileStream.CopyFrom(ResStream, 0);
  finally
    MyFileStream.Free;
    ResStream.Free;
  end;
end;

 

Добавить комментарий


Защитный код
Обновить