Главная страница
    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.46 MB
Время: 0.032 c
3-1121166891
Ирина
2005-07-12 15:14
2005.08.21
Сортировка


6-1115974297
Андрей Жук
2005-05-13 12:51
2005.08.21
Как отправить письмо с вложением в Indy 10?


1-1122142486
ivanick
2005-07-23 22:14
2005.08.21
Кириллица в Delphi


6-1115489058
Ландграф Павел
2005-05-07 22:04
2005.08.21
получить статистику текущего соединения с интернет


4-1120045370
Inspired
2005-06-29 15:42
2005.08.21
Как перетащить файл из своей проги в другую?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский