Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 439

•  TDictionary Custom Sort  6 469

•  Fast Watermark Sources  6 260

•  3D Designer  9 215

•  Sik Screen Capture  6 598

•  Patch Maker  6 986

•  Айболит (remote control)  6 984

•  ListBox Drag & Drop  5 857

•  Доска для игры Реверси  96 989

•  Графические эффекты  7 185

•  Рисование по маске  6 481

•  Перетаскивание изображений  5 348

•  Canvas Drawing  5 723

•  Рисование Луны  5 440

•  Поворот изображения  4 968

•  Рисование стержней  3 529

•  Paint on Shape  2 799

•  Генератор кроссвордов  3 664

•  Головоломка Paletto  2 952

•  Теорема Монжа об окружностях  3 761

•  Пазл Numbrix  2 479

•  Заборы и коммивояжеры  3 165

•  Игра HIP  2 128

•  Игра Go (Го)  2 060

•  Симулятор лифта  2 425

•  Программа укладки плитки  2 108

•  Генератор лабиринта  2 569

•  Проверка числового ввода  2 259

•  HEX View  2 585

•  Физический маятник  2 200

 
скрыть

Delphi Sources

Включение JPEG в EXE-файл 2



Разговор программиста с женой. Программер:
- Ты слыхала, что через 10-15 лет станет возможным иметь секс с компьютером?
- А тебе-то что? Для тебя ничего не изменится...

1) Создайте текстовый файл с расширением ".rc". Имя этого файла должно отличаться от имени файла-пректа или любого модуля проекта. Файл должен содержать строку вроде:

MYJPEG JPEG C:\DownLoad\MY.JPG 

где: "MYJPEG" имя ресурса "JPEG" пользовательский тип ресурса "C:\DownLoad\MY.JPG" путь к JPEG файлу.

Пусть например rc-файл называется "foo.rc"

Запустите BRCC32.exe (Borland Resource CommandLine Compiler) - программа находится в каталоге Bin Delphi/C++ Builder'а - передав ей в качестве параметра полный путь к rc- файлу.

В нашем примере:

C:\DelphiPath\BIN\BRCC32.EXE C:\ProjectPath\FOO.RC 

Вы получите откомпилированный ресурс - файл с расширением ".res". (в нашем случае foo.res).

Далее добавте ресурс к своему приложению.


{Грузим ресурс} 
{$R FOO.RES} 

uses Jpeg; 

procedure LoadJPEGFromRes(TheJPEG : string; ThePicture : TPicture); 
var        
 ResHandle : THandle;        
 MemHandle : THandle;        
 MemStream : TMemoryStream;        
 ResPtr   : PByte;        
 ResSize  : Longint;        
 JPEGImage : TJPEGImage; 
begin        
 ResHandle := FindResource(hInstance, PChar(TheJPEG), 'JPEG');        
 MemHandle := LoadResource(hInstance, ResHandle);        
 ResPtr   := LockResource(MemHandle);        
 MemStream := TMemoryStream.Create;        
 JPEGImage := TJPEGImage.Create;        
 ResSize := SizeOfResource(hInstance, ResHandle);         
 MemStream.SetSize(ResSize);        
 MemStream.Write(ResPtr^, ResSize);        
 FreeResource(MemHandle);        
 MemStream.Seek(0, 0);        
 JPEGImage.LoadFromStream(MemStream);         
 ThePicture.Assign(JPEGImage);        
 JPEGImage.Free;        
 MemStream.Free; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin        
 LoadJPEGFromRes('MYJPEG', Image1.Picture); 
end;