L
LeeChange
Unregistered / Unconfirmed
GUEST, unregistred user!
受人之托,分析以下代码并改进之.
但在下实在是水平有限,还望各位大侠鼎立相助.看懂其意义者有分.
procedure TForm1.Button1Click(Sender: TObject);
VAR
S,S2,S3,S4,s5,s6,s7,s8,s9,s10:STRING;
I,J:INTEGER;
begin
S2:=EDIT1.TEXT;
S3:=EDIT2.TEXT;
for i:=1 to length(s2) div 2 do
s4:=s4+copy(s2,length(s2)-2*i+1,2);
//字符到取;
s5:=stringofchar('0',12- length(s4))+s5;
// 补零;
s6:=s5+s2;
//到取的EDIT。TEXT;
s7 := IntToHex(StrToInt64(S6),2);
//化成十六进制数。;
s8:= IntToHex(StrToInt64(S3),2);
// 化成十六进制数;
FOR I:=1 TO LENGTH(EDIT1.TEXT) do
begin
s9:= S9+CHR( NOT (ORD(S7))) ;//EDIT1中十六进制数取反。
s10:=s10+chr(ord(s9) xor ord(s8));
//EDIT1与EDIT2中十六进制数异或。
edit3.text:=s10;
end;
end;
但在下实在是水平有限,还望各位大侠鼎立相助.看懂其意义者有分.
procedure TForm1.Button1Click(Sender: TObject);
VAR
S,S2,S3,S4,s5,s6,s7,s8,s9,s10:STRING;
I,J:INTEGER;
begin
S2:=EDIT1.TEXT;
S3:=EDIT2.TEXT;
for i:=1 to length(s2) div 2 do
s4:=s4+copy(s2,length(s2)-2*i+1,2);
//字符到取;
s5:=stringofchar('0',12- length(s4))+s5;
// 补零;
s6:=s5+s2;
//到取的EDIT。TEXT;
s7 := IntToHex(StrToInt64(S6),2);
//化成十六进制数。;
s8:= IntToHex(StrToInt64(S3),2);
// 化成十六进制数;
FOR I:=1 TO LENGTH(EDIT1.TEXT) do
begin
s9:= S9+CHR( NOT (ORD(S7))) ;//EDIT1中十六进制数取反。
s10:=s10+chr(ord(s9) xor ord(s8));
//EDIT1与EDIT2中十六进制数异或。
edit3.text:=s10;
end;
end;