function TForm1.GetXorC(AStr: string):Byte;
var
i,Count:integer;
bTemp :Byte;
IDATALEN:INTEGER;
ADATA:ARRAY OF STRING;
IBEGININDEX:INTEGER;
begin
Result:= 0;
bTemp := 0;
Count := Length(AStr);
IBEGININDEX:=1;
iDataLen := length(AStr);
if (iDataLen mod 2) <> 0 then
Exit;
SHOWMESSAGE(INTTOSTR( Trunc(iDataLen / 2) - 1));
for i := 0 to Trunc(iDataLen / 2) - 1 do
BEGIN
SETLENGTH(ADATA, Trunc(iDataLen / 2));
aData[iBeginIndex + i] := Copy(ASTR, i * 2 + 1);
SHOWMESSAGE( aData[iBeginIndex + i] );
END;
//Memo1.Lines.Add(IntToStr(Count));
for i:= 1 to 10 do
begin
if i = 1 then
bTemp := ord(Astr[1])
else
bTemp := ord(Astr[i]) xor bTemp;
end;
Result:= bTemp;
end;
var
i,Count:integer;
bTemp :Byte;
IDATALEN:INTEGER;
ADATA:ARRAY OF STRING;
IBEGININDEX:INTEGER;
begin
Result:= 0;
bTemp := 0;
Count := Length(AStr);
IBEGININDEX:=1;
iDataLen := length(AStr);
if (iDataLen mod 2) <> 0 then
Exit;
SHOWMESSAGE(INTTOSTR( Trunc(iDataLen / 2) - 1));
for i := 0 to Trunc(iDataLen / 2) - 1 do
BEGIN
SETLENGTH(ADATA, Trunc(iDataLen / 2));
aData[iBeginIndex + i] := Copy(ASTR, i * 2 + 1);
SHOWMESSAGE( aData[iBeginIndex + i] );
END;
//Memo1.Lines.Add(IntToStr(Count));
for i:= 1 to 10 do
begin
if i = 1 then
bTemp := ord(Astr[1])
else
bTemp := ord(Astr[i]) xor bTemp;
end;
Result:= bTemp;
end;