Каталог статей
Меню сайта

Категории каталога
Язык программирования Delphi [27]

Форма входа

Поиск по каталогу

Друзья сайта

Наш опрос
Переходишь ли ты на Vista?
Всего ответов: 176

Приветствую Вас, Гость · RSS 12.05.2026, 03:36

Начало » Статьи » Язык программирования Delphi

Ресурсы в Delphi.

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

 

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

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

Для хранения большого числа картинок.

Для хранения своих курсоров.

 

Для начала откроем программу редактора ресурсов (стандартная в составе 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;

 

На сегодня хватит. To be continuation ..

Категория: Язык программирования Delphi | Добавил: proDelphi (12.06.2007) | Автор: Тян Игорь Александрович
Просмотров: 835 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *: