当程序执行到这条指令时result[i]:=char(byte(s[i] xor (key shr 8));
出现Operator not applicable to this operand type错误提示,不知道这条指令那错了?
以下是一段程序的代码
function Encrypt(s:string;key:word):string;
var
  i:integer;
  j:integer;
begin
  result:=s;
  for i:=1 to length(s) do
  begin
    result[i]:=char(byte(s[i] xor (key shr 8));
    key:=(byte(result[i]+key)*c1+c2;
  end;
  s:=result;
  result:='';
  for i:=1 to length(s) do
    begin
      j:=integer(s[i]);
      result:=result+char(65+(j div 26))+char(65+(j mod 26));
    end;
end;