0

我有以下代码:

user_s.username := EnDecrypt(Edit_username.Text);

功能如下:

function EnDeCrypt(const Value : String) : String;
 var
 CharIndex : integer;
begin
 Result := Value;
 for CharIndex := 1 to Length(Value) do
Result[CharIndex] := chr(not(ord(Value[CharIndex])));
end;

变量的类型是:

TUser = record
 access: char;
 username: string[25];
 password: string[25];
end;

在 Delphi 2007 中它可以工作,在 Delphi XE2 中它失败了。奇怪的是,如果它是 123456789,它可以很好地加密/解密密码。这个问题必须与 unicode 和短字符串的使用有关。我希望有一些方法可以让它在 Delphi XE2 中也能工作..

4

1 回答 1

6

Stringtype替换为AnsiStringCharAnsiChar代码将与 Delphi 2007 中完全相同。(String[25]但不应更改。)当然,您不会获得 Unicode 支持。

于 2012-08-08T12:23:31.140 回答