首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教xor byte数组后怎么获取

2012-09-15 
请问xor byte数组后如何获取?procedure TForm1.Button1Click(Sender: TObject)constcode: array[0..8] of

请问xor byte数组后如何获取?
procedure TForm1.Button1Click(Sender: TObject);

 const
 code: array[0..8] of byte =($55, $8B, $EC, $81, $C4, $30, $F0, $FF, $FF);
 var
  newcode : array[0..8] of byte;
  i:integer;
begin
  for i:=0 to sizeof(code)-1 do
  newcode[i]:=code[i] xor $55; //这个就是你要的新数组
end;

上面是那的别人的代码,我想获取xor后的 newcode[i]数组,上面的代码经过xor后如何把xor处理后的数组保存到Memo控件里面,或者是保存到一个新的txt文本文件里?获取的效果也是 ($55, $8B, $EC, $81, $C4, $30, $F0, $FF, $FF )这种形式的,不过就是经过xor处理过的数组。

[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
const
code: array[0..8] of byte =($55, $8B, $EC, $81, $C4, $30, $F0, $FF, $FF);
var
TmpValue: Byte;
TmpStr: String;
iStart, iCount:integer;
newcode : array[0..8] of byte;
begin
TmpStr := '';
Memo1.Clear;
iCount := sizeof(code) - 1;
for iStart := 0 to iCount do
begin
TmpValue := code[iStart] xor $55;
TmpStr := TmpStr + '$' + IntToHex(TmpValue, 2) + ',';
newcode[iStart]:= TmpValue; //这个就是你要的新数组
end;
TmpStr[length(TmpStr)] := ')';
TmpStr := '(' + TmpStr;
Memo1.Text := TmpStr;
end;
初略写了一下不知道是不是你要的结果!

热点排行