GIF动画也是一个GIF文件,既然是文件,你就可以打包到资源中去。
解决方案 »
- 树型控件treeview与数据库
- 【高分/探讨】网络自动搜索+信息解析
- 小问题!!请教高手!!!
- rave报表打印出错,紧急求助!
- 在Service Application里加入ADOConnect,为什么在TService的OnStart事件里做ADOConnect.Connect:=true 启动时会出错?(编译无错)
- 【 各位高人帮一下忙】如何对一文本文件做如下操作?
- 谁有delphi写的通用进销存
- 嵌入式框架中,用Dynamic定义方法,能否提升兼容性?
- DBNavigator移动,DBEdit输入的问题?
- 欢迎Delphi的高高手、中高手、低高手、所有自认为是高手但别人不认为是高手、以及所有自认为不是高手但别人认为是高手的人进入。
- 关于创建动态按钮
- 能否在程序中改变显示的外观?就像在“显示属性”-“外观”中设置那样?
to chechy: 我是一保菜鸟,没有自己做过资源文件,请问怎样做呢,还有怎样调用资源文件里的文件呢
具體做起來﹐還是很簡單的
ARJ EXEFILE c:\arj.exe
MOV AVI c:\mov.avi
GIf AA d:\a.gif
然后用BRCC32把这个RC文件编译成sample.res(真正的资源文件)。在Delphi的工程文件中使用 $R 编译指令让Delphi包括资源到EXE文件里面。{$R sample.res}这样我们就可以在这个单一的执行文件中调用资源了。举例如下:EXEFILE:procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
在Delphi的源程序中加入
{$R Your.RES}
就可以了。
rc文件这样写
YOURIDENTIFY RCDATA HELLO.GIF
出现DOS窗口后,在敲BRCC32。
brcc32 *.rc
Image1.Picture.Bitmap.LoadFromResourceName(aaa,'ABC');
但我试过不行,请问怎样写呢
procedure GetSource;
var
Text: string;
ResInstance: THandle;
HRes: HRSRC;
a: TStrings;
begin
ResInstance := FindResourceHInstance(HInstance);
HRes := FindResource(ResInstance, 'YOURIDENTIFY', RT_RCDATA);
Text := PChar(LockResource(LoadResource(ResInstance, HRes)));
SetLength(Text, SizeOfResource(ResInstance, HRes));
a := TStringList.Create;
a.Text := Text;
a.SaveToFile('a.gif');
a.Free;
end;
var
ResInstance: THandle;
HRes: HRSRC;
Size: Integer;
a: TStream;
begin
ResInstance := FindResourceHInstance(HInstance);
HRes := FindResource(ResInstance, 'YOURIDENTIFY', RT_RCDATA);
Size := SizeOfResource(ResInstance, HRes);
a := TFileStream.Create('2.gif', fmCreate);
a.Write(LockResource(LoadResource(ResInstance, HRes))^, Size);
a.Free;
Image1.Picture.LoadFromFile('2.gif');
end;
procedure ReadCheck(Stream: TStream; var Buffer; Size: LongInt);
var
ReadSize : integer;
begin
ReadSize := Stream.Read(Buffer, Size);
if (ReadSize <> Size) then
Error(sOutOfData);<----这里出错
end;
我担心
HRes := FindResource(ResInstance, 'YOURIDENTIFY', RT_RCDATA);
上面的语句,你没有修改正确。
GIF RCDATA e:\ph\hanson.gif