![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Помогите, пожалуйста !!!
(Исходник не мой) *( Как видно ниже в ЕХЕ внедрены Файлы Jpg и Wav Вопрос !!! Как эту картинку показать в Форме в TImege? А Музычку проиграть в TMadiaPlayer или какомто внешнем проигрывателе типа WinAmp? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, JPEG, MMSystem, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} {$R MyPicture.res} {$R MyWave.res} function LoadJPEGfromEXE( Number: integer ): TJPEGImage; var ResStream: TResourceStream; begin Result := TJPEGImage.Create; ResStream := TResourceStream.CreateFromID( HInstance, Number, RT_RCDATA ); Result.LoadFromStream( ResStream ); ResStream.Free; end; {--------------------------} procedure RetrieveMyWave; var WaveHandle: THandle; WavePointer: Pointer; begin WaveHandle := FindResource( hInstance, 'MyWave', RT_RCDATA ); if WaveHandle <> 0 then begin WaveHandle := LoadResource( hInstance, WaveHandle ); if WaveHandle <> 0 then begin WavePointer := LockResource( WaveHandle ); sndPlaySound( WavePointer, SND_MEMORY or SND_ASYNC ); UnlockResource( WaveHandle ); FreeResource( WaveHandle ); end; end; end; procedure TForm1.Button1Click(Sender: TObject); var ResStream: TResourceStream; begin ResStream := TResourceStream.Create( HInstance, 'MyPicture', RT_RCDATA ); ResStream.SaveToFile( 'Milkiway.jpg' ); ResStream.Free; end; procedure TForm1.Button2Click(Sender: TObject); var ResStream: TResourceStream; begin ResStream := TResourceStream.Create( HInstance, 'MyWave', RT_RCDATA ); ResStream.SaveToFile( 'ir_end.wav' ); ResStream.Free; end; |
|
#2
|
||||
|
||||
|
WAV (взято из DRKB)
Код:
var
FindHandle, ResHandle: THandle;
ResPtr: Pointer;
begin
FindHandle := FindResource(HInstance, 'Name of your resource', 'WAVE');
if FindHandle <> 0 then
begin
ResHandle := LoadResource(HInstance, FindHandle);
if ResHandle <> 0 then
begin
ResPtr := LockResource(ResHandle);
if ResPtr <> nil then
SndPlaySound(PChar(ResPtr), snd_ASync or snd_Memory);
UnlockResource(ResHandle);
end;
FreeResource(FindHandle);
end;
end; |
|
#3
|
||||
|
||||
|
JPEG (тоже из DRKB)
Код:
Грузим ресурс}
{$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; |
|
#4
|
||||
|
||||
|
Сечас оценю !!! СПС СПС
|
|
#5
|
||||
|
||||
|
Все работает прилесно
![]() Задам еще 1 вопрос !!! А как из ресурса в ЕХЕ - (Картинки в данном случае) поставить на рабочий стол? Зарание благодарен. |
|
#6
|
||||
|
||||
|
Сохрани картинку куда-нибудь, а потом http://decoding.narod.ru/faq/windows...ws004.html#006
|
|
#7
|
||||
|
||||
|
Вообщето я хотел сделать прожку которая чисто из ЕХЕ
все ресурсы Выгребает !!!! Ну уж пускай будет так !!! Чтото со стандартными картинками замучу ЫЫЫЫЫ |