Delphi字节转换字节数组
procedureTForm1.btn2Click(Sender:TObject);varf1:Fileofbyte;aa:byte;beginAssignFile(f1...
procedure TForm1.btn2Click(Sender: TObject);
var
f1:File of byte;
aa:byte;
begin
AssignFile(f1,'2.exe');
try
reset(f1);
seek(f1,300938); //定位到第300938个字节处,位置你可以自己定
read(f1,aa); //读出一个字节,赋值给aa
aa:=$74; //修改aa的值
seek(f1,300938); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,aa); //将修改后的值写回原位
finally
closeFile(f1);
end; //end of try
end;
procedure TForm1.btn3Click(Sender: TObject);
var
f1:File of byte;
bb:byte;
begin
AssignFile(f1,'2.exe');
try
reset(f1);
seek(f1,300939); //定位到第300939个字节处,位置你可以自己定
read(f1,bb); //读出一个字节,赋值给aa
bb:=$31; //修改aa的值
seek(f1,300939); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,bb); //将修改后的值写回原位
finally
closeFile(f1);
end; //end of try
end;
procedure TForm1.btn4Click(Sender: TObject);
var
f1:File of byte;
cc:byte;
begin
AssignFile(f1,'2.exe');
try
reset(f1);
seek(f1,300940); //定位到第300940个字节处,位置你可以自己定
read(f1,cc); //读出一个字节,赋值给aa
cc:=$5c; //修改aa的值
seek(f1,300940); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,cc); //将修改后的值写回原位
finally
closeFile(f1);
end; //end of try
end;
end.
谁能帮我把aa,bb,cc三个字节转换成数组。
就是把这三句代码合成一句代码! 展开
var
f1:File of byte;
aa:byte;
begin
AssignFile(f1,'2.exe');
try
reset(f1);
seek(f1,300938); //定位到第300938个字节处,位置你可以自己定
read(f1,aa); //读出一个字节,赋值给aa
aa:=$74; //修改aa的值
seek(f1,300938); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,aa); //将修改后的值写回原位
finally
closeFile(f1);
end; //end of try
end;
procedure TForm1.btn3Click(Sender: TObject);
var
f1:File of byte;
bb:byte;
begin
AssignFile(f1,'2.exe');
try
reset(f1);
seek(f1,300939); //定位到第300939个字节处,位置你可以自己定
read(f1,bb); //读出一个字节,赋值给aa
bb:=$31; //修改aa的值
seek(f1,300939); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,bb); //将修改后的值写回原位
finally
closeFile(f1);
end; //end of try
end;
procedure TForm1.btn4Click(Sender: TObject);
var
f1:File of byte;
cc:byte;
begin
AssignFile(f1,'2.exe');
try
reset(f1);
seek(f1,300940); //定位到第300940个字节处,位置你可以自己定
read(f1,cc); //读出一个字节,赋值给aa
cc:=$5c; //修改aa的值
seek(f1,300940); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,cc); //将修改后的值写回原位
finally
closeFile(f1);
end; //end of try
end;
end.
谁能帮我把aa,bb,cc三个字节转换成数组。
就是把这三句代码合成一句代码! 展开
2个回答
展开全部
你的代码只读出那个字节又没做别的处理,因此不用Read了。因为你那三个字节都是连续的,因此可以用一个byte数组,如下:
var
F :File;
Buf: array[0..2] of byte;
begin
AssignFile(F, '2.exe');
try
Reset(F,1);
Buf[0]:=$74;
Buf[1]:=$31;
Buf[2]:=$5c;
seek(F,300938);//从300938开始写3个字节
BlockWrite(F, Buf, SizeOf(Buf));
finally
CloseFile(F);
end;
end;
var
F :File;
Buf: array[0..2] of byte;
begin
AssignFile(F, '2.exe');
try
Reset(F,1);
Buf[0]:=$74;
Buf[1]:=$31;
Buf[2]:=$5c;
seek(F,300938);//从300938开始写3个字节
BlockWrite(F, Buf, SizeOf(Buf));
finally
CloseFile(F);
end;
end;
展开全部
procedure TForm1.btn4Click(Sender: TObject);
var
f1:File of byte;
cc:byte;
alist:array of Longint; //新加
blist:array of Longint; //新加
I:integer; //新加
begin
SetLength(aList, 3) ; //新加
SetLength(bList, 3) ; //新加
aList[0]:=300938;
aList[1]:=300939;
aList[2]:=300940; //新加
bList[0]$74;
bList[1]:=$31;
bList[2]:=$5c;
AssignFile(f1,'2.exe');
try
for I := 0 to 3 do //新加
begin
reset(f1);
seek(f1,aList[I]); //修改 //定位到第300940个字节处,位置你可以自己定
read(f1,cc); //读出一个字节,赋值给cc
// cc:=$5c; //修改aa的值
cc:=bList[I]; //新修改
seek(f1,aList[I]); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,cc); //将修改后的值写回原位
end;
finally
closeFile(f1);
end; //end of try
end;
var
f1:File of byte;
cc:byte;
alist:array of Longint; //新加
blist:array of Longint; //新加
I:integer; //新加
begin
SetLength(aList, 3) ; //新加
SetLength(bList, 3) ; //新加
aList[0]:=300938;
aList[1]:=300939;
aList[2]:=300940; //新加
bList[0]$74;
bList[1]:=$31;
bList[2]:=$5c;
AssignFile(f1,'2.exe');
try
for I := 0 to 3 do //新加
begin
reset(f1);
seek(f1,aList[I]); //修改 //定位到第300940个字节处,位置你可以自己定
read(f1,cc); //读出一个字节,赋值给cc
// cc:=$5c; //修改aa的值
cc:=bList[I]; //新修改
seek(f1,aList[I]); //重新定位,因为读数据后,指针指向了下一个字节
write(f1,cc); //将修改后的值写回原位
end;
finally
closeFile(f1);
end; //end of try
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询