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.
//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;
//记事本编写 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;
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;
{
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;
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;
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脚本文本
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将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类型字符串
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类型字符串