當前位置:編程學習大全網 - 源碼下載 - 如何在Delphi中使用資源文件

如何在Delphi中使用資源文件

在Delphi中使用資源文件

1、在運行處brcc32 *.rc可生成供delphi使用的res文件

2、引入res文件

程序代碼

implementation

{$R *.dfm}

{$R Tank.res}

procedure TForm1.Button1Click(Sender: TObject);

var

bmp: TBitmap;

begin

bmp := TBitmap.Create;

bmp.LoadFromResourceName(HInstance, 'TankBar');

bmp.SaveToFile('Test1.bmp');

bmp.Free

end;

3、在Delphi項目中,通常有壹個與項目名稱主文件名相同的.RES文件,該文件用於保存應用程序圖標等資源,對應於此文件,在項目文件中壹定含有編譯指示“{$R *.res}”,告訴編譯器編譯時需要包含與項目主文件名相同的.RES文件。同樣,如果需要在應用程序中以資源形式包含任何文件類型,也可以利用.RES文件。本文將告訴妳如何利用RES文件在Delphi程序內部包含文件。

壹 創建.RES文件

這裏以壹組音頻文件為例。首先用記事本等任何文本編輯器編寫文件“MyMusic.RC”。文件的格式及內容如下:

程序代碼

SRC1 FILE1 OnlyYou.mp3

SRC2 FILE2 YesterdayOnceMore.mp3

SRC3 FILE3 MoonRiver.mp3

其中,每壹行表示聲明壹項資源,每壹項資源的聲明包含三個參數定義,第壹個參數是資源的名稱,第二個參數是資源的類型描述(本例定義了三類),第三個參數是文件名。參數之間必須由空格隔開。

編寫完成“MyMusic.RC”文件後,將其與上述三個.MP3文件放置在同壹文件夾中(為了避免由設置路徑帶來的麻煩)。然後以下面的命令行運行應用程序brcc32.exe(位於..\Delphi6\Bin):brcc32 mymusic.rc需要註意的是,該命令只能在命令行方式下執行。如果系統的PATH環境變量中不包含Delphi的運行路徑,那麽妳還需要將 brcc32.exe與MyMusic.RC、三個.MP3文件放置在同壹路徑中進行。運行上述命令行後,將在同壹路徑中得到文件 “MyMusic.RES”,這就是壹個獨立完整的資源文件,其格式是遵循Windows 標準的,因此可以在諸如VB、VC、CBuilder等多種開發環境中使用。

二 在程序中聲明包含.RES文件

妳只需要在項目中的某個單元中(最好是妳需要利用這些資源的單元,這樣會使妳的應用程序更具有可讀性)加入如下編譯指示:

$R MyMusic.RES}

{

盡管該編譯指示可以位於單元的任何位置,但為了使妳的源代碼結構合理,最好還是將其並列位於編譯指示“{$R *.dfm}”(每個含有窗體文件的單元中都含有該行編譯指示)。這裏的編譯指示就明確告訴編譯器,在編譯應用程序時需要將資源文件 “MyMusic.RES”包含到應用程序中。

三 在運行時獲取資源

上述兩步工作僅僅是基礎(但壹定是必要的),利用資源才是根本目的。下面的過程將告訴妳如何將應用程序中包含的資源(文件)重新還原。

程序代碼

procedure MusicResToFile(const ResName, ResType,FileName: string);

var

Res: TResourceStream;

begin

Res := TResourceStream.Create(HInstance,ResName, PChar(ResType));

Res.SaveToFile(FileName); //將資源保存為文件,即還原文件

//妳還可以進行其它的流操作,在內存中實現對資源利用而不必另存為文件

Res.Free;

end;

調用該過程的示例如:

程序代碼

MusicResToFile('SRC2', 'FILE2', 'TheSecondMusic.MP3');

值得壹提的是,利用此方法,妳完全可以制作自己的安裝程序,該安裝程序僅包含壹個可執行文件,在該可執行文件中以資源的形式包含所有將要安裝的內容(文件)。此外,如果在妳的應用程序中需要播放外部音頻文件(如背景音樂、聲音提示等),也可通過此方法將這些外部文件包含到應用程序中,從而避免用戶誤刪這些音頻文件導致應用程序的不完整。

  • 上一篇:birt報表和潤乾報表使用上的比較
  • 下一篇:我的樂園總結怎麽寫
  • copyright 2024編程學習大全網