Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

Как в приложении вызвать процедуру для вывода изображения из RES   Найти похожие ветки 

 
Starcom   (2005-08-01 18:33) [0]

Привет Мастера!

Легенда:
Шаг первый:
 
Создайте файл сценария ресурса (*.RC) в обычном текстовом редакторе типа Notepad и добавьте следующую строку:
1  RCDATA  "MyPic.jpg"
Первый элемент является просто индексом ресурса. Второй элемент указывает на определенный пользователем ресурс. Третий, он же последний элемент, является именем jpeg-файла.

Шаг второй:

Для компиляции ресурса в .RES-файл используйте Borland Resource Compiler, BRCC32.EXE. В командной строке MS-DOS введите:
BRCC32 MyPic.RC
Это создаст файл ресурса с именем MyPic.RES.

Шаг третий:

Добавьте директиву компилятора к исходному коду вашей программы. Она должна располагаться непосредственно за директивой формы, как показано ниже:

{$R *.DFM}
{$R MyPic.RES}

Шаг четвертый:

Добавьте следующий код к вашему проекту (для этого я создал процедуру):

procedure LoadJPEGfromEXE;
var
 MyJPG: TJPEGImage; // Объект - JPEG
 ResStream: TResourceStream; // Объект - поток ресурсов
begin
 try
   MyJPG := TJPEGImage.Create;
   ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
   MyJPG.LoadFromStream(ResStream); // Что!? Да, это просто!
   Canvas.Draw(12, 12, MyJPG);
   // сделайте это, чтобы увидеть что это действительно работает!
 finally
   MyJPG.Free;
   ResStream.Free;
 end;
end; // procedure

Обратили внимание на второй параметр процедуры CreateFromID объекта TResourceStream? Это просто индекс ресурса. Вы можете включить более одного jpeg-изображения в исполняемый модуль приложения, просто добавляя в .RC-файл строчку с другим индексом для каждого включаемого изображения.

Шаг пятый:

Вызовите процедуру, запустите программу и вуаля! Дело сделано.

А теперь сам вопрос: Как в приложении вызвать процедуру для вывода изображения из RES файла?

С Уважением Starcom! ;-()


 
Гаврила ©   (2005-08-01 19:43) [1]


> Как в приложении вызвать процедуру для вывода изображения
> из RES файла?


LoadJPEGfromEXE;


 
Starcom   (2005-08-01 21:16) [2]

Гаврила ©   (01.08.05 19:43) [1]

Дык...! Вызывал! Нифига!

И вообще пишет сомпилятор...

[Error] gawrila.pas(37): Undeclared identifier: "Canvas"


 
Starcom   (2005-08-02 19:56) [3]

Рыбяты! как соображения?


 
Гаврила ©   (2005-08-02 20:09) [4]


> [Error] gawrila.pas(37):

Польщен, спсб :-)


> Undeclared identifier: "Canvas"


Ну так! Канвас то должен быть.
Передай его в LoadJPEGfromEXE параметром

procedure LoadJPEGfromEXE(Canvas: TCanvas);

возьми например, от формы

LoadJPEGfromEXE(Form1.Canvas);


 
Starcom   (2005-08-03 23:48) [5]

Гаврила ©   (02.08.05 20:09) [4]

А то!!!

Пасибо! Ты Рулиш О"кей!



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
1-1123005272
iskatel
2005-08-02 21:54
2005.08.21
прокси


14-1122628363
ocean
2005-07-29 13:12
2005.08.21
отказ от российского гражданства


5-1093243898
Mr.Den
2004-08-23 10:51
2005.08.21
Глючит Ttimer в самописном компоненте


9-1114438472
Bryke
2005-04-25 18:14
2005.08.21
Индексы текстурных координат


11-1094804220
Shiza
2004-09-10 12:17
2005.08.21
Dev Pascal + KOL