Ресурси. Навіщо вони потрібні (исходники), Різне, Програмування, статті

У цій статті я хочу розповісти основи роботи з ресурсами.

Як завжди спочатку я поясню для чого ж нам потрібна ці ресурси:



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


З’явиться вікно, в ньому клікніть правою кнопкою миші і в меню вибрати New> Bitmap (картинка) або Icon (іконка) або Cursor (курсор)


У цій статті я розгляну Картинки в ресурсі. На початку після натискання на New> Bitmap з’явитися діалог в якому ми вибираємо ширину, висоту і кількість квітів в зображенні. Ім’я картинки потрібно перейменувати заголовними буквами ЦЕ ВАЖЛИВО. Тепер збережемо ресурс (н.р. Resource.res) в папку з проектом.


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


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;

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*