|
建立一个RC文件,本示例程序:SwfFile.rc RC文件其实就是一个资源文件的描述文本。然后可以输入一些我们要定义的资源,示例: Flash SwfFile1 Thanks.SWF 然后用BRCC32把这个RC文件编译成SwfFile.RES。 BRCC32 SwfFile.rc保存为Swf.bat批处理文件。 在Delphi的工程文件中使用 $R 编译指令让Delphi包括资源到EXE文件里面。 {$R SwfFile.RES} 此时我们可以在单一的执行文件中调用资源了。示例代码如下: //资源文件流的应用 procedure FlashResToFile(const ResName, ResType, FileName: string); var FlashRes: TResourceStream; begin FlashRes := TResourceStream.Create(HInstance, ResName, PChar(ResType)); try FlashRes.SaveToFile(FileName); //将资源保存为文件,即还原文件 finally FlashRes.Free; end; end; //执行资源文件中的Flash播放文件 procedure TFlashResFrm.PlayResFileBtnClick(Sender: TObject); begin if FileExists(ExtractFilePath(ParamStr(0)) + ''''Thanks.SWF'''') then DeleteFile(ExtractFilePath(ParamStr(0)) + ''''Thanks.SWF''''); FlashResToFile(''''FLASH'''', ''''SwfFile1'''', ''''Thanks.SWF''''); ShockwaveFlash1.Movie := ExtractFilePath(ParamStr(0)) + ''''Thanks.SWF''''; ShockwaveFlash1.Play; end;
通常在Delphi的应用程序中会调用到很多的资源,例如图片,动画(AVI),声音,甚至于别的执行文件。 ResICO ICON "example.ico" //加入图标 ResCursor Cursor "example.cur" //加入光标 ResBitmap Bitmap "example.bmp" //加入位图 ResAVI AVI "example.avi" //加入视频 ResWav WAVE "example.wav" //加入视频
{$R ResDefine.RES}
procedure TResourceForm.FormCreate(Sender: TObject); begin Application.Icon.Handle := LoadIcon(hInstance,''''ResICO''''); Application.Title := ''''资源文件使用集合''''; ResourceForm.Caption := ''''资源文件使用集合--[Delphi编程驿站:http://yckxzjj.vip.sina.com]''''; end;
procedure TResourceForm.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin //把MMSystem加入到Interface的uses单元中 PlaySound(''''ResWav'''',HInstance,Snd_ASync or Snd_Memory or snd_Resource) ; end;
procedure TResourceForm.AVIPlayBtnClick(Sender: TObject); begin Animate1.ResName :=''''ResAVI'''' ; //资源标识 Animate1.Active :=True ; end;
procedure TResourceForm.BmpShowBtnClick(Sender: TObject); begin //Image1.Picture.Bitmap.Handle :=LoadBitmap(hInstance,''''ResBitmap''''); Image1.Picture.Bitmap.LoadFromResourceName(hInstance,''''ResBitmap''''); Image1.Visible := True; end;
procedure TResourceForm.CursorUpdateBtnClick(Sender: TObject); begin Screen.Cursors[1] :=LoadCursor(hInstance,''''ResCursor''''); //Image1.Cursor := 1; ResourceForm.Cursor :=1; end;
没有相关教程
|