比如一个exe文件的第一个字节的16进制的值是"AF",用label显示出来"AF"!var
af, bf: TFileStream;
buffer: Integer;
SwfFileSize: Int64;
begin
af := TFileStream.Create('e:\a.exe', fmOpenRead);
af.Seek(1, soFromBeginning);
af.Read(buffer, 1);
Label1.Caption := inttostr(buffer);
end;我用上面的方法显示出来的是一个数字,我把这个数字转换为16进制后发现与a.exe文件的第一个字节的16进制的值是不相同!不知道该怎么写!请大家帮帮我!
af, bf: TFileStream;
buffer: Integer;
SwfFileSize: Int64;
begin
af := TFileStream.Create('e:\a.exe', fmOpenRead);
af.Seek(1, soFromBeginning);
af.Read(buffer, 1);
Label1.Caption := inttostr(buffer);
end;我用上面的方法显示出来的是一个数字,我把这个数字转换为16进制后发现与a.exe文件的第一个字节的16进制的值是不相同!不知道该怎么写!请大家帮帮我!
解决方案 »
- 纠错
- 如何查找目标应用程序的主图标偏移和大小?500分
- 我下载的CodeGearRADStudio2007_Dec2007不能安装
- 关于数据库控件DBNavigator的问题
- 请问,如何查询两个datetime类型的字段(如两个日期)之间的某个日期?
- DELPHI7的BITBTN的图标在那一安装目录下啊
- 这样的SQL语句怎么写?(在线等)
- 搜索数据库中的空闲关键字
- 软件开发合作
- 哪位大侠熟悉Crystal Report这个报表工具,请进!!(高分)
- 按一个按钮。使dbgrid的某一个字段自动拥有焦点。就象edit1.setfocus.那样。在dbgrid中怎样表示?
- 用InstallShield对应用程序打包时,如果是用ADO作数据引擎,该怎样打包?
var
af, bf: TFileStream;
buffer: Byte;//第一个字节吧,一个字节8位,好象我没有搞错吧,用Byte作Buffer才行
SwfFileSize: Int64;
begin
af := TFileStream.Create('e:\a.exe', fmOpenRead);
af.Seek(0, soFromBeginning);//文件位置是从0开始
af.Read(buffer, SizeOf(Buffer));//读出缓冲的大小为一个Byte的大小
Label1.Caption := inttostr(buffer);
end;
我还有一个问题!
用"FF"替换第一个字节的16进制的值,该怎么写啊!
谢谢!
Label1.Caption := inttostr(buffer);
应该是
label1.caption:=inttohex(buffer,2);