Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Загрузить RTF текст из файла ресурса в TRichEdit

Delphi , Файловая система , Ресурсы

Загрузить RTF текст из файла ресурса в TRichEdit

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch


(*
   Load RTF file from resource:

   You can store any kind of file as a RCDATA resource.
   The following example shows this with an RTF file.

   Create a text file called textres.rc and put the
   following line in it:

   TESTDOC RCDATA "textdoc.rtf"

   Next, compile that using the Borland Resource Compiler,
   which is provided with Delphi.

   brcc32.exe textres.rc

      Your next step is to include the compiled resource (.RES) file into
   your executable, which can be done with the {$R} compiler directive.

 *)

 (*

   Man kann eine beliebige Datei als RCDATA Ressource in eine
   Exe-Datei einbinden.
   Das folgende Beispiel zeigt, wie man einen RTF-Text aus
   einer Ressource ladt und in einem TRichEdit anzeigt.

   Erstelle zuerst eine Datei "textres.rc" mit folgendem Inhalt:

   TESTDOC RCDATA "textdoc.rtf"

   Kompiliere diese mit brcc32.exe:

   brcc32.exe textres.rc

      Es wurde nun eine textres.res Datei erzeugt.

 *)


 implementation

 {$R *.dfm}
 {$R textres.res}  // <---- your resource file! 

procedure TForm1.Button1Click(Sender: TObject);
 var
   rs: TResourceStream;
 begin
   rs := TResourceStream.Create(hinstance, 'TESTDOC', RT_RCDATA);
   try
     Richedit1.PlainText := False;
     TempStream.Position := 0;
     Richedit1.Lines.LoadFromStream(rs);
   finally
     rs.Free;
   end;
 end;

Программный код на языке Delphi, который загружает файл формата Rich Text Format (RTF) из ресурса в контроле TRichEdit.

Компиляция ресурсов Код сначала компилирует текстовый файл textres.rc с помощью компилятора ресурсов Borland (brcc32.exe) для создания файла .res, содержащего файл RTF как ресурс RCDATA. Затем полученный файл .res включается в исполняемый файл с помощью директивы компилятора $R.

Загрузка файла RTF из ресурса В обработчике события Button1Click код создает объект TResourceStream, чтобы загрузить файл RTF из ресурса:

rs := TResourceStream.Create(hinstance, 'TESTDOC', RT_RCDATA);

Здесь hinstance -.handle основного модуля (исполняемого файла), 'TESTDOC' - имя ресурса, а RT_RCDATA указывает, что это ресурс RCDATA.

Код затем устанавливает свойство PlainText контрола TRichEdit в False, указывая, что он должен загружать контент RTF вместо текста. Он также позиционирует поток на начало с помощью свойства Position.

Наконец, код загружает файл RTF из потока в контрол TRichEdit с помощью метода Lines.LoadFromStream:

Richedit1.Lines.LoadFromStream(rs);

Освобождение ресурсов Чтобы предотвратить утечки памяти, код освобождает объект TResourceStream, когда он больше не нужен:

rs.Free;

В целом, этот код демонстрирует, как загрузить файл RTF из ресурса в приложении Delphi и отобразить его в контроле TRichEdit.

Загрузка текста из файла ресурса в TRichEdit позволяет хранить любые файлы, включая RTF-файлы, как RCDATA-ресурс и последующую загрузку его в RichEdit компонент.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Ресурсы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 01:18:33/0.0032269954681396/0