要求:现在想把图片、文本加入到一个exe文件的后面,然后,当程序运行的时候,从自身读取出来,现实在窗体上。提问:1、是不是要在被加入的exe程序里面写入信息:加入了多少个文件,文件大小多少等信息呢?
2、offset是偏移量,如果我加入一个integer的值,应该是64位,那偏移量是多少?是sizeof(i)?求教大家,在先等待。有示例程序,另外加分。单个文件的加入和读取,我大体知道。多个文件的不会。
2、offset是偏移量,如果我加入一个integer的值,应该是64位,那偏移量是多少?是sizeof(i)?求教大家,在先等待。有示例程序,另外加分。单个文件的加入和读取,我大体知道。多个文件的不会。
解决方案 »
- Delphi 字符串分解
- 信春哥求如何写网络通信代码
- 如何把这个过程,写成线程来执行,注:IDHTTP的POST过程
- 高手求救:如何提高DX效率:DelphiX中的编程,往往会占用太多的CPU,如何解决?
- 程序快开发完毕。怎么测试我的程序最少要消耗多少内存?在多快的CPU上跑才比较流畅?期望量化指标
- 请教有关TQuery控件遇到的问题!谢谢!
- 请问SpinEdit中的OnChange、OnClick、OnEnter有什么区别和联系???
- 哪里可以下载D5的补丁!
- 如何使用使用DBChart??
- DELPHI做一个MAIL SERVER。只要能收到邮件的信息就可以了。
- 兑现诺言,foxyy8888(古来圣贤皆寂寞,惟有饮者留其名!) 来领100分
- 多线程问题?
就是你在末尾,先放一个表示文件长度的数据,再放文件,然后读完了第一个文件,判断一下是否移动到exe文件末尾了,不是就再读一个表示文件长度的数据,在根据长度读文件
2、因为结尾有8个字节是描述大小的,怎么把这段去掉,读出真实的原文件内容呢?我尝试用memorystream,好像不行。function TForm1.Lb_TxtLoad(Memo: TMemo; SourceFile: string): Boolean;
var
Source:TFileStream;
//Target:TMemoryStream;
MyFileSize:integer;
iPos:Integer;
begin
try
Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
//Target:=TMemoryStream.Create;
try
iPos:=Source.Seek(-sizeof(MyFileSize),soFromEnd);
//Showmessage('当前 pos1:'+IntToStr(iPos));
Source.ReadBuffer(MyFileSize,sizeof(MyFileSize));//读出资源
Showmessage('资源大小:'+IntToStr(MyFileSize));
iPos:=Source.Seek(-MyFileSize,soFromEnd);//定位到资源开始位置
//Target.CopyFrom(Source,MyFileSize-sizeof(MyFileSize));
//Showmessage('资源开始 pos2:'+IntToStr(iPos));
Memo.Lines.LoadFromStream(Source);
finally
//Target.Free;
Source.Free;
end;
except
Result:=False;
Exit;
end;
Result:=True;
end;