Урок 65 - Ресурсы в Delphiм, (часть 1/2)

  Ресурс - это любой файл который может находится внутри исполняемого файла (.ехе), его можно извлекать в память программы и работать с ним, а можно и вовсе извлечь его на диск (например чтобы предотвратить их случайное удаление пользователем, либо, чтобы защитить их от изменений). Данная статья показывает как вшить любой файл как ресурс в EXE-шнике.

  Далее рассмотрим, как создать файл ресурсов, содержащий копию какого-либо файла. После создания такого файла его можно легко прицепить к Вашему проекту директивой {$R}.

   Файлом ресурсов будет вот эта картинка:

The Delphi


   Итак для того чтобы создать ресурс нам нужен текстовый файл с указаниями для компилятора ресурсов. Создадим папку и положим туда картинку и там создадим текстовый файл вот с таким содержимым:

IMAGE BITMAP logo.bmp

   Теперь поясним что эта запись значит:

   Первое слово - имя ресурса, второе - тип ресурса, третье - путь к файлу.    Т.е. синтаксис будет таким: [Имя] [Тип] [Путь].

   После редактирования сохраним наш файл по названием Res.rc, далее положим в эту же папку сам компилятор ресурсор, он лежит в папке Delphi\bin\brcc32.exe, и просто перетаскиваем файл Res.rc на brcc32.exe. После это должен появится файл Res.RES, это и есть наш готовый ресурс, хранящий в себе картинку. Если этого не произошло то можно обойтись другим способом:

   Создать ТХТ-файл, написать в него: brcc32.exe Res.rc, переименовать файл в 1.bat и запустить его, должно сработать.

   Все ресурс создан, теперь его надо подключить в наш EXE-шник. Делается это так:

   После ключевого слова implementation пишется строка {$R Res.RES} это говорит компилятору Delphi о том что надо включить в ехе-файл наш ресурс, его необходимо положить вместе с файлом проекта. После компиляции он больше не нужен.

   Далее выташим на форму компонент Image и кнопку, на ней обработчик события OnClick:
procedure TForm1.Button1Click(Sender: TObject);
begin;
  Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'IMAGE');
end;
   Компилируем и вот:

Загруженная картинка


   Все работает, но только для файлов .bmp, о том как работать с другими файлами в следуйшем уроке.

Удачи!
Встретимся в следующем уроке!




Добавил(а): Mattew_Pharrel Дата: 2014-08-17
Жаль но у меня ни один из способов не сработал! Может что подскажете?



Добавил(а): Mattew_Pharrel Дата: 2014-09-08
Проблема решена. Нашел сторонний редактор ресурсов - Resource Editor. Все работает/


    No results found.
Отменить.