(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 RATIONAL Rose Enterprise Floating User License + Sw Subscription & Support 12 Months
ABBYY Lingvo x6 Английская Профессиональная версия
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
ARCHICAD 21, локальная лицензия на 12 месяцев
CAD Import .NET Professional пользовательская
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Вопросы и ответы по MS SQL Server
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100