Как извлечь RTF текст из ресурсов и записать его
Вот основные шаги:
- Создайте файл ресурсов
- Подключите его к Вашему проекту
- Загрузите файл из файла ресурсов в 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;
Комментарии