Статьи
|
Иногда требуется сохранить текст в RTF формате в ресурсах (Dll, EXE и т.д.), а затем извлечь его.
Вот основные шаги:
- Создайте файл ресурсов
- Подключите его к Вашему проекту
- Загрузите файл из файла ресурсов в TResourceStream
- Создайте TFileStream с именем файла, который Вы хотите записать на диск
- Используйте CopyFrom, чтобы получить данные из TResourceStream в TFileStream
- Освободите оба потока
Файл очень просто запишется на диск без вызова какой-либо процедуры записи или чего-нибудь вроде этого.
Вот пример извлечения 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;
|