Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?
Поиск
L


Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 8
Всего онлайн: 8
Зарегистрировано юзеров: 5762
Комментариев на сайте: 623
Новый юзер: Sevnday



Последние комментарии
c
N0E0O7 прокомментировал "Урок 1 - Инициализация OpenGL":
А у меня форма чёрная запускается
dimonsky прокомментировал "Урок 2 - Простые примитивы":
GetDC(handle) вместо canvas.handle, и убрать вызов FormResize. Тогда получается конфетка.



Мы в соцсетях
c
Delphi
Урок 66 - Ресурсы в Delphi, (часть 2/2)

   В Delphi поддерживаются следующие типы ресурсов

  • RT_ACCELERATOR - таблица ускорителей
  • RT_ANICURSOR - анимированный курсор
  • RT_ANIICON - анимированная икона
  • RT_DIALOG - диалоговое окно
  • RT_FONT - шрифт
  • RT_FONTDIR - набор шрифтов
  • RT_GROUP_CURSOR - коллекция курсоров
  • RT_BITMAP - коллекция курсоров
  • RT_GROUP_ICON - коллекция иконок
  • RT_HTML - HTML документ
  • RT_MENU - меню
  • RT_MESSAGETABLE - таблица сообщений
  • RT_STRING - таблица строк
  • RT_VERSION - ресурс версия ,
   Это все стандартные типы и работа с ними почти не чем не отличается от тай что мы рассматривали в прошлом уроке. В этом уроке мы рассмотрим другой механизм, позволяющий использовать ресурсы как душе угодно, не зависеть от типа и файла.

   Напишем еще одну программку, она будет распаковывать нам другую программу, пример из прошлого урока.

   Для этого создадим ресурс по инструкции из прошлого урока. Поместим пример из предыдушего урока в папку с компилятором ресурсов и под редактируем файл Res.rc:

    PROGRAM EXE Project.exe

   где Project.exe имя примера. Создадим ресурс и подключим его в новой программе, также там добавим кнопку и диалог сохранения, в обработчике на кнопке напишем следующий код:
procedure TForm1.Button1Click(Sender: TObject);
begin;
  if SaveDialog1.Execute then
    ExtractRes('EXE', 'PROGRAM', SaveDialog1.FileName);
end;
   Теперь над этим обработчиком напишем функцию ExtractRes:
procedure ExtractRes(ResType, ResName, FileName : String);
var
  Res : TResourceStream;
begin
  Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
  Res.SavetoFile(FileName);
  Res.Free;
end;
   Функция принимает значения: Тип, Имя, Куда сохранить. Создается поток в памяти где будет храниться программа, сохраняется и поток удалятся.

   Компилируем и смотрим что получилось, сохраним например на рабочий стол с названием 1.exe:

Результат


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


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 21 Июля 2013
Просмотров:

Урок 65 - Ресурсы в Delphi, (часть 1/2) Урок 67 - INI файлы

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.