Главная страница
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.045 c
6-1114143431
M@X
2005-04-22 08:17
2005.08.21
компоненты TcpClient TcpServer


1-1122938741
mangoost
2005-08-02 03:25
2005.08.21
function для точки


4-1119846375
leonidus
2005-06-27 08:26
2005.08.21
Как отследить двойное нажатие клавиши Shift


5-1093345802
kvi
2004-08-24 15:10
2005.08.21
Как измененить цвет шрифта у кнопок?


14-1122630536
Lexer
2005-07-29 13:48
2005.08.21
Отчётность АО должна быть в сети?