delphi res 字符串资源

delphi res 字符串资源 (2011/12/10 19:19:36)

//res 字符串资源 
//rc 文件:
StringTable
begin
0 "AAAA"
1 "BBBB"
2 "CCCC"
3 "DDDD"
end

//也可以这样写:
StringTable
begin
0, "AAAA"
1, "BBBB"
2, "CCCC"
3, "DDDD"
end

//还可以这样写:
StringTable
{
0,"AAAA"
1,"BBBB"
2,"CCCC"
3,"DDDD"
}


{严格的头可能是这样写: STRINGTABLE DISCARDABLE}


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

//程序代码:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
     procedure FormCreate(Sender: TObject);
   end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
   with Memo1.Lines do
   begin
    Add(LoadStr( 0));
    Add(LoadStr( 1));
    Add(LoadStr( 2));
    Add(LoadStr( 3));  
   end;
end;

end.

delphi resourcestring 资源串常量 (2011/12/10 19:19:38)

delphi resourcestring 资源串常量 (2011/12/10 19:19:38)

//resourcestring 资源串常量
{
用resourcestring 指令定义的字符串变量将被保存到程序资源的字符串表中
有趣的是,当你用资源编辑器打开执行文件时,
你会在程序资源中看到你所定义的字符串。
这意味着字符串并没有进入编译代码,而是保存在执行文件 (EXE文件)的一个单独区域。
}
 
procedure TForm1.Button1Click(Sender: TObject);
resourcestring //支持所有字符类型的数据
    str1 = 'delphi';
    str2 = 'XE';
begin
    showmessage(str1 +str2);
end;

delphi RES存取资源文件中的AVI无声动画文件 (2011/12/10 19:19:39)

//RES存取资源文件中的AVI无声动画文件 
//记事本编写 rc脚本
MyAVI_01 AVI "FlickAnimation.avi"    

//保存为 AviRES.RC
//brcc32编译 AviRES.RES
//加入资源 
         {$R AviRES.RES}

//播放AVI代码
procedure TForm1.Button6Click(Sender: TObject);
begin
  Animate1.ResName := 'MyAVI_01' ; //资源标识
  Animate1.Active :=True ;
end;

delphi RES存取资源文件中的BMP图像 (2011/12/10 19:19:40)

//RES存取资源文件中的BMP图像 
1.编写rc脚本文本,保存为 BmpRes.RC
BMP1 bitmap "aaa.bmp"
BMP2 bmpType "bbb.bmp"


2 brcc32 C:\Users\Administrator\Desktop\BmpRes.RC //brcc32.exe文件在delphi目录下
  将 BmpRes.RC 编译成 BmpRes.RES 资源文件
3 把 BmpRes.RES 文件剪切到 delphi项目文件中

4{$R *.dfm} 下面引入资源 {$R BmpRes.RES}

//调用 资源文件中的BMP文件
//bitmap方法 (RC格式 BMP2 bitmap "bmp02.bmp")
procedure TForm1.Button1Click(Sender: TObject);
begin
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'BMP1');
end;

//bmpType方法 (RC格式 BMP1 bmptype "bmp01.bmp")
procedure TForm1.Button2Click(Sender: TObject);
var
   ResStream: TResourceStream;
begin
   ResStream := TResourceStream.Create(HInstance, 'BMP2', 'bmptype');
   Image1.Picture.Bitmap.LoadFromStream(ResStream);
   ResStream.Free;
end;

delphi RES存取资源文件中的Cursor光标文件 (2011/12/10 19:19:41)

//RES存取资源文件中的Cursor光标文件 
{
Screen.Cursors[]是一个光标数组,使用光标文件我们可以将定制的光标加入到这个属性中。
因为默认的光标在数组中索引值是0,
所以除非想取代默认光标,最好将定制的光标索引值设为1。 
}

mycur1 cursor "repair.cur"
mycur2 cursor "attack.cur"

保存为 CursorsRes.rc
brcc32.exe编译 CursorsRes.RES
加入资源 {$R CursorsRes.RES}

procedure TForm1.Button1Click(Sender: TObject);
begin
   Screen.Cursors[ 1] :=LoadCursor(hInstance, 'mycur1'); //资源标识符
   Image1.Cursor := 1; //Image控件的光标
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   Screen.Cursors[ 2] :=LoadCursor(hInstance, 'mycur2'); //资源标识符
   self.Cursor := 2; //当前窗体的光标
end;

delphi RES存取资源文件中的ICON图标文件 (2011/12/10 19:19:42)

//RES存取资源文件中的ICON图标文件 
1 创建rc文件 {请确保桌面上有图标文件aaa.ico bbb.ico}
ico1 ICON aaa.ico
ico2 ICON bbb.ico
命名为 MyRes.rc
2 编译RC文件成RES文件
brcc32 C:\Users\Administrator\Desktop\MyRes.rc
产生了文件 MyRes.RES

3{$R *.dfm}加入资源文件
{$R MyRes.RES}


4 调用RES里面的图标文件
procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.Icon.Handle := LoadIcon(HInstance, 'ico1');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Application.Icon.Handle := LoadIcon(HInstance, 'ico2');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Application.Icon := nil;
end;

delphi RES存取资源文件中的JPEG图像 (2011/12/10 19:19:43)

//RES存取资源文件中的JPEG图像 
1.编写rc脚本文本

jpg1 jpgtype "jpg01.jpg"
用记事本编写 RC 脚本文本,保存为 jpgRes.RC

2 brcc32 C:\Users\Administrator\Desktop\jpgRes.RC //brcc32.exe文件在delphi目录下
  将 jpgRes.RC 编译成 jpgRes.res 资源文件 {资源文件必须放在同一目录}
3 把 jpgRes.RES 文件剪切到 delphi项目文件中

4{$R *.dfm} 下面引入资源 {$R jpgRes.res}
{当你有多个资源文件,依次加入}

//存取资源文件中的JPEG图像
//出现了问题
uses JPEG;
procedure TForm1.Button1Click(Sender: TObject);
var
  jpg: TJPEGImage;
  ResStream: TResourceStream;
begin
  jpg := TJPEGImage.Create;
  ResStream := TResourceStream.Create(HInstance, 'jpg1', 'jpgtype');
  jpg.LoadFromStream(ResStream);
  Image1.Picture.Assign(jpg);
  jpg.Free;
  ResStream.Free;
end;

delphi RES存取资源文件中的PNG图像 (2011/12/10 19:19:43)

//RES存取资源文件中的PNG图像 
1.编写rc脚本文本

imgAuto1 PNG "C:\Users\Administrator\Desktop\自动1.png"
imgAuto2 PNG "C:\Users\Administrator\Desktop\自动2.png"
imgMore1 PNG "C:\Users\Administrator\Desktop\更多颜色1.png"
imgMore2 PNG "C:\Users\Administrator\Desktop\更多颜色2.png"

用记事本编写 RC 脚本文本,保存为 jpgRes.RC

2 brcc32 C:\Users\Administrator\Desktop\pngRes.RC //brcc32.exe文件在delphi目录下
  将 pngRes.RC 编译成 pngRes.res 资源文件 {资源文件必须放在同一目录}
3 把 pngRes.RES 文件剪切到 delphi项目文件中

4{$R *.dfm} 下面引入资源 {$R pngRes.res}
{当你有多个资源文件,依次加入}

//存取资源文件中的PNG图像

//  SetImgPicture(img_Auto1,'ImgAuto2','png');
procedure SetImgPicture(Image:TImage;ResName: string;ResType:PWideChar);
var
  PNG: TPngImage;
  RES: TResourceStream;
begin
  png := TPngImage.Create;
  RES := TResourceStream.Create(HInstance, ResName, ResType);
  PNG.LoadFromStream(RES);
  Image.Picture.Assign(PNG);
  PNG.Free;
  RES.Free;
end;
 
些方法对这个无效 Project - Resources and Images
  delphi res 字符串资源
 

delphi Res将Wav声音文件打包到程序中 (2011/12/10 19:19:44)

//Res将Wav声音文件打包到程序中 
STP1.建立一个rc文件; {标识符 声音格式 声音文件} {支持中文名称}
    新建一个记事本 输入 click wave "click.wav" 把本文件保存为 *.rc格式的文件;这里我保存为SOUND.RC
    注:声音文件click.wav 和SOUND.RC必须在同一目录下
STP2.将rc文件转换为res文件;
    把delphi目录Bin里的brcc32.exe文件复制到C:\Windows目录下,开始运行:输入 cmd打开命令栏之后输入:brcc32 C:\Users\Administrator\Desktop\SOUND.RC
这样就编译了一个SOUND.RES文件

STP3.在 Uses 下面引入 MMSystem;
       在 implementation下面输入 {$R SOUND.RES}

STP4.使用以下代码播放音乐
     PlaySound( 'click' , 0 , snd_ASync or snd_Resource); //PChar类型字符串




你可能感兴趣的:(Delphi)