Главная страница
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
14-1122906557
Jeer
2005-08-01 18:29
2005.08.21
С днем военно-морского флота !


6-1115755390
whiletruedo
2005-05-11 00:03
2005.08.21
как обратиться к открытому IE?


1-1122618209
td
2005-07-29 10:23
2005.08.21
кодировка в Database Desktop


1-1122607787
Кот
2005-07-29 07:29
2005.08.21
Не прорисовывается форма


3-1121170783
evvcom
2005-07-12 16:19
2005.08.21
Работает ли конструкция case через dblink?