gpt4 book ai didi

delphi - 如何从 Delphi 迁移到 Delphi 2010(Unicode 问题)

转载 作者:行者123 更新时间:2023-12-03 15:53:16 25 4
gpt4 key购买 nike

您好,我在 Delphi 6 中使用了 Francois Piette 的 RasDial,但它在 Delphi 2010 中停止工作我怎样才能像以前一样继续使用这些功能?

class function Encryption.DecriptPasswd(strPasswd: string): string;  
type
PWORD = ^WORD;
var
Buffer : String;
PW : String[255];
P : PWORD;
I : Integer;
V : Integer;
begin
PW := ' ';
P := PWORD(@PW[0]);
I := 1;
while I <= Length(strPasswd) do
begin
Buffer := Copy(strPasswd, I, 5);
I := I + 5;
V := StrToInt(Buffer) - 34567;
P^ := V;
Inc(P);
end;
Result := PW;
end;

class function Encryption.EncriptPasswd(strPasswd: string): string;
type
PWORD = ^WORD;
var
Len : Integer;
I : Integer;
V : DWORD;
P : PChar;
Buffer : String[255];
begin
Buffer := strPasswd;
Len := Length(Buffer) + 1;
if (Len mod 2) <> 0 then
Inc(Len);

if Len < 10 then
Len := 10;

I := Length(Buffer);
if I = 0 then
Buffer := IntToStr(GetTickCount)
else
while Length(Buffer) < 10 do
Buffer := Buffer + Buffer;
SetLength(Buffer, I);

Result := '';
P := PChar(@Buffer[0]);
for I := 1 to Len div 2 do
begin
V := 34567 + PWORD(P)^;
P := P + 2;
Result := Result + Format('%5.5d', [V]);
end;
end;

最佳答案

您可以首先将所有 string 声明(除了已经存在的 string[255] 声明)更改为 AnsiString,所有 code>CharAnsiChar,所有 PCharPAnsiChar

然后去here这是关于将 Delphi 的 Unicode 之前版本移植到 Unicode 的三篇文章系列中的第一篇。 Nick Hodges写得真好,Delphi 的前产品经理,当时 Delphi 还是 CodeGear 产品。它们涵盖了更改其他现有代码所需的所有详细信息。

关于delphi - 如何从 Delphi 迁移到 Delphi 2010(Unicode 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com