Главная страница
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.059 c
4-1120471657
Gold
2005-07-04 14:07
2005.08.21
как узнать объем памяти занимаемой приложением?


14-1122753871
syte_ser78
2005-07-31 00:04
2005.08.21
Что значит "инсталировать"?


1-1122368423
Dust
2005-07-26 13:00
2005.08.21
Создание логов


6-1114156012
Der1983
2005-04-22 11:46
2005.08.21
Клиент чата на TcpClient


4-1119683912
Grief
2005-06-25 11:18
2005.08.21
как нарисовать Cursor на DC?