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

Как использовать ресурсы

Delphi , ОС и Железо , Kylix



Автор: http://www.swissdelphicenter.ch

{
  To create resource files (*.res) for Kylix you can use the Delphi
  brcc32.exe resource compiler.
  Take a look at ;http://www.swissdelphicenter.ch/en/showcode.php?id=1049


  Kylix dont support userdefined resourcetypes. Therefore you have to define
  all resources without a predefined ResType as RCDATA.

  Example with TResourceStream
  Saves the resource (in userdefined.res) with the name MYRES1 to the file
  test.txt
 }

uses
  SysUtils, Types, Classes, Variants, QGraphics, QControls, QForms, QDialogs,
  QStdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.xfm}
{$R userdefined.res}

procedure TForm1.Button1Click(Sender: TObject);
var
  stream: TResourceStream;
begin
  stream := TResourceStream.Create(HInstance, 'MYRES1', RT_RCDATA);
  with TFileStream.Create('test.txt', fmCreate) do
  begin
    CopyFrom(stream, stream.Size);
    Free;
  end;
end;

Программа на Delphi/Kylix, демонстрирующая использование файлов ресурсов (.res) в приложении Kylix. Код создает файл ресурсов "userdefined.res" и использует класс TResourceStream для загрузки и записи данных в ресурс.

Обзор кода:

  1. Первая секция - комментарий от Swiss Delphi Center, который информирует о том, как использовать компилятор ресурсов brcc32.exe для создания файлов ресурсов для Kylix.
  2. Код определяет класс TForm1, наследуясь от TForm. Он имеет один кнопку (Button1) и частные и общие разделы.
  3. В секции var объявляется экземпляр класса TForm1: Form1: TForm1;
  4. Секция реализации начинается с двух директив ресурсов: {$R *.xfm} и {$R userdefined.res}. Первая директива указывает Delphi включать все формы (с расширением .xfm) в проект, а вторая директива включает пользовательский файл ресурсов "userdefined.res".
  5. Процедура Button1Click вызывается при клике кнопки. Она создает экземпляр класса TResourceStream, передавая HInstance (handle основного модуля), 'MYRES1' (имя ресурса) и RT_RCDATA (тип ресурса) в качестве аргументов.
  6. Код использует объект TFileStream для создания файла "test.txt" и копирует данные из ресурсного потока в файл.

В этом примере файл ресурсов "userdefined.res" содержит ресурс с именем 'MYRES1' типа RCDATA. Этот ресурс загружается в память с помощью класса TResourceStream, а его содержимое записывается в текстовый файл "test.txt".

Обратите внимание, что Kylix не поддерживает пользовательские типы ресурсов, поэтому все ресурсы должны быть определены без предопределенного типа ResType (например, RT_RCDATA).

Альтернативное решение:

Если вы хотите использовать более современный способ работы с ресурсами в Delphi/Kylix, вы можете использовать классы TResourceReader и TResourceWriter. Эти классы предоставляют программный способ чтения и записи файлов ресурсов.

Пример:

uses
  System.SysUtils,
  System.Classes,
  Vcl.Graphics,
  Vcl.Controls;

var
  ResFile: TResourceReader;
  Stream: TStream;

begin
  ResFile := TResourceReader.Create('userdefined.res');
  try
    Stream := ResFile.OpenResource('MYRES1', RT_RCDATA);
    try
      // Делайте что-то с ресурсным потоком
    finally
      Stream.Free;
    end;
  finally
    ResFile.Free;
  end;
end.

Код читает файл ресурсов "userdefined.res" и открывает ресурс 'MYRES1' типа RCDATA. Поток затем используется для доступа к данным ресурса.

Обратите внимание, что в этом примере мы используем TResourceReader вместо TResourceStream, который предоставляет больше гибкости при работе с ресурсами.

В статье описывается использование ресурсов в приложении Kylix с помощью библиотеки Delphi и пример программирования на языке Pascal.


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

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




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


:: Главная :: Kylix ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 15:52:15/0.0033118724822998/0