delphi res 字符串资源

时间:2021-10-21 16:39:51

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类型字符串