(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Ресурсы. Зачем они нужны (исходники)

Alar

В этой статье я хочу рассказать основы работы с ресурсами.

Как всегда сначала я поясню для чего же нам нужна эти ресурсы:

  • Например для программ инсталляции (не лучший пример но), т.е. в программу можно запихать ещё пару программ.
  • Для хранения большого числа картинок.
  • Для хранения своих курсоров.

Для начала откроем программу редактора ресурсов (стандартная в составе Delphi это Image Editor). Я буду рассматривать именно этот редактор. Создадим новый ресурс File>New:>Resource File

Появится окно, в нём кликните правой кнопкой мыши и в меню выбрать New>Bitmap(картинка) или Icon(иконка) или Cursor(курсор)

В этой статье я рассмотрю Картинки в ресурсе. В начале после нажатия на New>Bitmap появиться диалог в котором мы выбираем ширину, высоту и количество цветов в картинке. Имя картинки нужно переименовать заглавными буквами ЭТО ВАЖНО. Теперь сохраним ресурс (н.р. Resource.res) в папку с проектом.

Перейдем к созданию второго ресурса с программой внутри и сразу напишем программу для доставания exe из ресурса.

  • Пишем в блокноте RC-файл, куда прописываем все нужные нам программы, например: Demo EXEFILE C:\Demo.exe
  • Компилируем его в ресурс при помощи Brcc32.exe (Brcc32.exe этот файл там, где Delphi лежит). Получаем RES-файл.
  • Далее в тексте нашей программы:
Implementation


{(знак доллара)R *.DFM}

{(знак доллара)R test.res} //Это наш RES-файл

{(знак доллара)R Resource.res} //Это ресурс для второго примера с картинками



procedure ExtractRes(ResType, ResName, ResNewName : String);

var

Res : TResourceStream;

Begin

// ResType - тип ресурса в нашем случае это программа с типом EXEFILE

// ResName - имя ресурса

// ResNewName - соответственно имя нового файла

Res:=TResourceStream.Create(Hinstance, Resname, Pchar(ResType));

Res.SavetoFile(ResNewName);

Res.Free;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

// Записывает в текущую папку Demo.exe

ExtractRes(`EXEFILE`, `Demo`, `Demo.exe`);

end;

Первый пример мы сделали давайте рассмотрим второй. Работа с картинками. Ресурс мы сделали и подключили теперь пишем процедуру для облегчения вывода изображения

procedure Bmp(var ImageNumber:TImage;ImageName:String);

var //Всякие переменные

MyBitmap:TBitmap;

MyIconsSt:String;

Begin

// ImageNumber - это имя Image куда будет грузиться картинка

// ImageName - собственно имя самой картинки

MyBitmap:= TBitmap.Create;

MyIconsSt:=ImageName;

MyBitmap.Handle:=LoadBitmap(hInstance,PChar(MyIconsSt));

ImageNumber.Picture.Bitmap:=MyBitmap;

MyBitmap.Free;

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

Bmp(Image1,`BITMAP1?);

end;

Файлы для загрузки


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 03.02.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
IBM Domino Utility Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
The BAT! Home- 1 компьютер
TeeGrid VCL/FMX Source Code single license
ABViewer Enterprise пользовательская
WinRAR 5.x 1 лицензия
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерный дизайн - Все графические редакторы
СУБД Oracle "с нуля"
Corel DRAW - от идеи до реализации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100