function xor_xor(data1,data2,data:array of Char):integer;
var
tmp,tmp1,tmp2:array [0..8] of byte;
//data1,data2,data3:array [0..8] of Char;
i:integer;
str:string;
begin
str := '';
FillChar(tmp1,SizeOf(tmp1),$0);
FillChar(tmp2,SizeOf(tmp2),$0);
FillChar(tmp,SizeOf(tmp),$0); tmp1[0]:= StrToInt('$'+data1[0]+data1[1]);
tmp1[1]:= StrToInt('$'+data1[2]+data1[3]);
tmp1[2]:= StrToInt('$'+data1[4]+data1[5]);
tmp1[3]:= StrToInt('$'+data1[6]+data1[7]);
tmp1[4]:= StrToInt('$'+data1[8]+data1[9]);
tmp1[5]:= StrToInt('$'+data1[10]+data1[11]);
tmp1[6]:= StrToInt('$'+data1[12]+data1[13]);
tmp1[7]:= StrToInt('$'+data1[14]+data1[15]); tmp2[0]:= StrToInt('$'+data2[0]+data2[1]);
tmp2[1]:= StrToInt('$'+data2[2]+data2[3]);
tmp2[2]:= StrToInt('$'+data2[4]+data2[5]);
tmp2[3]:= StrToInt('$'+data2[6]+data2[7]);
tmp2[4]:= StrToInt('$'+data2[8]+data2[9]);
tmp2[5]:= StrToInt('$'+data2[10]+data2[11]);
tmp2[6]:= StrToInt('$'+data2[12]+data2[13]);
tmp2[7]:= StrToInt('$'+data2[14]+data2[15]); for i:= 0 to 7 do
begin
tmp[i]:= tmp1[i] xor tmp2[i];
str:= str + IntToHex(tmp[i],2);
end;
StrCopy(data,PChar(str));
Result:=1;end;
变量为:
tmp_data:array [0..8] of Char;
d1,d2,d3: array [ 0.. 8]of Char;
tmp_data里的值为:'12345678'
d1里的值为:'12345678'
请问我这个tmp_data,d1里的值怎么传不进啊
xor_xor(tmp_data,d1,d2);
var
tmp,tmp1,tmp2:array [0..8] of byte;
//data1,data2,data3:array [0..8] of Char;
i:integer;
str:string;
begin
str := '';
FillChar(tmp1,SizeOf(tmp1),$0);
FillChar(tmp2,SizeOf(tmp2),$0);
FillChar(tmp,SizeOf(tmp),$0); tmp1[0]:= StrToInt('$'+data1[0]+data1[1]);
tmp1[1]:= StrToInt('$'+data1[2]+data1[3]);
tmp1[2]:= StrToInt('$'+data1[4]+data1[5]);
tmp1[3]:= StrToInt('$'+data1[6]+data1[7]);
tmp1[4]:= StrToInt('$'+data1[8]+data1[9]);
tmp1[5]:= StrToInt('$'+data1[10]+data1[11]);
tmp1[6]:= StrToInt('$'+data1[12]+data1[13]);
tmp1[7]:= StrToInt('$'+data1[14]+data1[15]); tmp2[0]:= StrToInt('$'+data2[0]+data2[1]);
tmp2[1]:= StrToInt('$'+data2[2]+data2[3]);
tmp2[2]:= StrToInt('$'+data2[4]+data2[5]);
tmp2[3]:= StrToInt('$'+data2[6]+data2[7]);
tmp2[4]:= StrToInt('$'+data2[8]+data2[9]);
tmp2[5]:= StrToInt('$'+data2[10]+data2[11]);
tmp2[6]:= StrToInt('$'+data2[12]+data2[13]);
tmp2[7]:= StrToInt('$'+data2[14]+data2[15]); for i:= 0 to 7 do
begin
tmp[i]:= tmp1[i] xor tmp2[i];
str:= str + IntToHex(tmp[i],2);
end;
StrCopy(data,PChar(str));
Result:=1;end;
变量为:
tmp_data:array [0..8] of Char;
d1,d2,d3: array [ 0.. 8]of Char;
tmp_data里的值为:'12345678'
d1里的值为:'12345678'
请问我这个tmp_data,d1里的值怎么传不进啊
xor_xor(tmp_data,d1,d2);
解决方案 »
- 使用webbrowser无法点击链接、
- 表单中的控件如何随表单大小改变而改变大小?
- 在delphi中调excel,关闭不了excel进程!!怎么办??多谢各位了
- delphi Xe2 BUG如何解决
- 关于消息机制,快来接分吧。守信用...
- DELPHI中实现网络文件的传输!代码如下:在线等候!
- DBGrid中怎么得到当前选中的行号?
- (在线等待)!!如何解决出现“ [DBNETLIB] [Connection Open (connect()).)] Sql Server doesnot exist or access denied” 的问题
- 关于存储过程的问题——急
- ActiveX签名以及与dll打包
- 我的ACM控件怎么安不上?
- 如何让ListView里的图标可以自由活动?
两个数组异或返回到另一个数组中?~~
没有用实参怎么返回?~~
你想用十六进制表示?那0..7只有8个字符,空间也不够~~
自己想清楚先~~