对于这种资源,我一般是用Visual C++的资源编辑器将资源Import进来后生成.RC文件,再用RC实用工具Complile成.RES文件。Borland的工具似乎不太好用。

解决方案 »

  1.   

    可是我不懂Visual c++怎么办?我DELPHI刚入门??
      

  2.   

    举列:1)先编写名为Pepack.rc的文件,其中的内容只有一句话:   lovecz  Stream  Pepack.exe  2)保存文件后,使用DELPHI中的Brcc32.exe,该文件位于目录
    E:\...\Delphi5\bin中.使用Brcc32.exe对Pepack.rc进行编译,
    可在MS-DOS中使用如下命令:
       X:\...\Delphi5\bin\Brcc32 Pepack.rc
    编译后生成一个与该.rc文件同名的Pepack.res文件。在源码中
    使用 {$R Pepack.res} 编译命令将该资源文件包含到可执行文
    件中。
      

  3.   

    编写一个RC文件,只用一行代码。
    格式:
    资源标识符 WAVE 声音文件路径(路径用双引号)
    如:
    mywave wave "c:\123.wav"
    存成后缀为RC的文件
    然后用DELPHI目录中的BRCC32的这个DOS命令就行了
    brcc32 myfile.rc
    生成myfile.res
      

  4.   

    Dephi5 中资源文件的创建和使用 崔同杰   张卫华     --------------------------------------------------------------------------------   几乎每个 Windows 应用程序都使用图标、图片、光标等资源。资源是程序的一部分,但是它是不可执行代码。下面我们就详细介绍资源文件在 Delphi5 中建立和使用方法。   1 .把资源放到 Exe 文件的优点     由于定位资源比在磁盘中定位文件花费时间少,所以应用程序执行会更快。多种资源可以放在一个文件中,减少了图标、图片、光标等文件数量。保存资源文件时不要和工程名相同,因为 Delphi 创建工程时会自动创建一个和工程名相同的资源文件。并且最好将资源文件保存到和工程文件同一个文件夹中。   2 .创建资源文件     首先创建一个 .Rc 的纯文本文件。格式如下:     资源标识符  +  关键字  +  资源文件名       ①   资源标识符:程序中调用资源时的特殊标号;       ②   关键字:标识资源文件类型;         Wave :   资源文件是声音文件;         RCDATA :  JPEG 文件;         AVI :  AVI 动画;         ICON :   图标文件;         BITMAP :   位图文件;         CURSOR :   光标文件;         资源文件名:资源文件名;       ③   资源文件名:编译的资源文件,比如动画、位图、光标等;       ④   如: MyWav WAVE -FileName.Wav-    使用 Borland 资源编译器( BRCC32.EXE )转化 .Rc 文件成 .Res 文件。在 DOS 命令行下输入下列命令:       Brcc32 FileName.Rc // Brcc32.Exe 在 Delphi5\Bin 文件下。   3 .在工程中引用资源文件     为了存取我们的资源文件,必须告诉 Delphi 链接我们的资源文件到应用程序中。因此我们可以在源代码中加入一条编译指令完成上述功能。这条指令必须紧跟在窗口指令后,如下形式:   {$R *.DFM} //Delphi 自带编译指令   {$R FileName.Res}   // 新加入的编译资源文件的指令。   不要删除 {$R *.DFM} 指令,因为这行代码告诉 Delphi 链接下面的资源到窗口的资源中。   4 .调用资源文件   (1) 存取资源文件中的位图 (Bitmap) :   程序中如果想存取资源,你必须调用一些 Windows API 函数。保存在资源文件中的位图、光标和图标可以通过调用LoadBitmap 、 LoadCursor 和 LoadIcon 函数存取。     本例举例说明如何存取资源文件中位图并显示在 Timage 控件中。   procedure TfrMain.btnCanvasPic(Sender: TObject);  begin   Image1.Picture.Bitmap.Handle :=LoadBitmap(hInstance, '' 资源标识符 '');  end;    注:如果位图没有装载成功,程序仍旧执行,但是 Image 将不再显示图片。你可以根据 LoadBitmap 函数的返回值判断是否装载成功,如果装载成功返回值是非 0 ,如果装载失败返回值是 0 。     另外一个存取显示位图的方法如下:  procedure TfrMain.btnLoadPicClick(Sender: TObject);  begin    Image1.Picture.Bitmap.LoadFromResourceName(hInstance, '' 资源标识符 '');  end;  (2) 存取资源文件中的光标:    Screen.Cursors[] 是一个光标数组,使用光标文件我们可以将定制的光标加入到这个属性中。因为默认的光标在数组中索引值是 0 ,所以除非想取代默认光标,最好将定制的光标索引值设为 1 。   procedure TfrMain.btnUseCursorClick(Sender: TObject);  begin    Screen.Cursors[1] :=LoadCursor(hInstance,'' 资源标识符 '');    Image1.Cursor :=1;  end;  (3) 存取资源文件中的图标:    将图标放在资源文件中,可以实现动态改变应用程序图标。   procedure TfrMain.LoadIconClick(Sender: TObject);  begin    Application.Icon.Handle := LoadIcon(hInstance, '' 资源标识符 '');  End;  (4) 存取资源文件中的 AVI : procedure TfrMain.LoadIconClick(Sender: TObject);  begin    Animate1.ResName :=''MyAvi'' ; // 资源标识     Animate1.Active :=True ;  End ;  (5) 存取资源文件中的 JPEG:    把 jpeg 单元加入到 Interface 的 uses 单元中。   procedure TForm1.LoadJPGClick(Sender: TObject);  var    Fjpg : TJpegImage ;    FStream :TResourceStream ;  begin    Fjpg :=TJpegImage.Create ;    FStream := TResourceStream.Create (Hinstance,'' 资源标识符 '',RT_RCDATA) ;    FJpg.LoadFromStream (FStream) ;    Image1.Picture.Bitmap.Assign (FJpg);  end;  (6) 存取资源文件中的 Wave:   把 MMSystem 加入到 Interface 的 uses 单元中   procedure TForm1.LoadWaveClick(Sender: TObject);  begin    PlaySound(''MyWav'', HInstance, Snd_ASync or Snd_Memory or snd_Resource) ;  end;  5 .结束语     位图、光标和图标、 AVI 动画、 JPEG 和 Wave 文件等可以放到资源文件中,上面我们介绍了如何将资源加入到资源文件中,并介绍了在 Delphi 中动态存取资源文件的方法。 Delphi 编译工程会自动创建一个和工程名相同的资源文件(如果没有其他的资源,主窗口的图标会放在这个资源文件中)。但是建议最好不要改变这个资源文件。