C 代码 转换为 Delphi代码(20分)

  • 主题发起人 主题发起人 SmallGhost
  • 开始时间 开始时间
S

SmallGhost

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能帮我把下列的C代码转成Delphi语言!
DWORD S2N(LPCTSTR szString_arg)
{
DWORD dwNumber;
int i;
for (dwNumber = i = 0; szString_arg; i++)
{
dwNumber = (dwNumber+(i+1)*szString_arg)%0x8000000bu*0xffffffefu;
}
return dwNumber^0x12345678;
}
 
直接翻译的,没试验过

function S2N(szString_arg:PChar): DWORD;
var
I : Integer;
begin
Result := 0;
for I := 0 to Length(szString_arg)-1 do
begin
Result := (Result + (I+1)*Ord(szString_arg)) mod $8000000B * $FFFFFFEF;
end;
Result := Result xor $12345678;
end;

 
function S2N(szString_arg: String): DWORD;
var
dwNumber : DWORD ;
i : integer;
c : ShortInt;
begin
dwNumber := 0;
i := 0;

for i := 0 to Length(szString_arg)-1 do
begin
c := ShortInt(ord(szString_arg[i+1]));
dwNumber := DWORD((dwNumber + (i+1)*c)) mod $8000000B * $FFFFFFEF;
end;

Result := dwNumber xor $12345678;
end;

tseug的代码在字符串中存在汉字的时候有问题!
 
谢谢大家的帮助现在开始散分!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
922
SUNSTONE的Delphi笔记
S
D
回复
0
查看
806
DelphiTeacher的专栏
D
I
回复
0
查看
1K
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部