谁能帮我把一段简单的vbscript函数翻译成delphi函数?送72分(72分)

  • 主题发起人 主题发起人 16cy
  • 开始时间 开始时间
1

16cy

Unregistered / Unconfirmed
GUEST, unregistred user!
Function EnCrypt(strCryptThis)
Dim strChar, iKeyChar, iStringChar, I
for I = 1 to Len(strCryptThis)
iKeyChar = Asc(mid(g_Key,I,1))
iStringChar = Asc(mid(strCryptThis,I,1))
iCryptChar = iKeyChar Xor iStringChar
strEncrypted = strEncrypted & Chr(iCryptChar)
next
EnCrypt = strEncrypted
End Function
 
Function EnCrypt(strCryptThis:string) :你想要的类型;
var
strChar, iKeyChar, iStringChar string ;
I:integer;
begin
for I := 1 to length(strCryptThis) do
begin
iKeyChar := Asc(midbstr(g_Key,I,1))--ASC我也不知道是什么方法,没有做过,麻烦你自己去查一下吧,呵呵
iStringChar := Asc(midbstr(strCryptThis,I,1));
iCryptChar := iKeyChar Xor iStringChar;
strEncrypted := strEncrypted + inttostr(iCryptChar);--什么类型也不知道,你没说清
end;
EnCrypt := strEncrypted;
end;
 
Asc是取字符串第一个字符的的ASCII码值,其实就是强制转换为Integer。

Function EnCrypt(strCryptThis:string) :你想要的类型;
var
strChar, iKeyChar, iStringChar: Integer; // 注意类型
strEncrypted: string;
I:integer;
begin
strEncrypted := '';
for I := 1 to length(strCryptThis) do
begin
iKeyChar := Integer(g_Key);
iStringChar := Integer(strCryptThis);
iCryptChar := iKeyChar Xor iStringChar;
strEncrypted := strEncrypted + inttostr(iCryptChar);
end;
Result := strEncrypted;
end;
 
"Asc是取字符串第一个字符的的ASCII码值"没错,但是"其实就是强制转换为Integer"似乎不对:
Function EnCrypt(strCryptThis:string) :你想要的类型;
var
strChar, iKeyChar, iStringChar: Integer; // 注意类型
strEncrypted: string;
I:integer;
begin
strEncrypted := '';
for I := 1 to length(strCryptThis) do
begin
iKeyChar := ord(g_Key);
iStringChar := ord(strCryptThis);
iCryptChar := iKeyChar Xor iStringChar;
strEncrypted := strEncrypted + inttostr(iCryptChar);
end;
Result := strEncrypted;
end;
 
Function EnCrypt(strCryptThis:string) :string;
var
strChar, iKeyChar, iStringChar: Integer; // 注意类型
strEncrypted :string;
I :integer;
g_Key :string;
strlist :Tstringlist;
begin
strEncrypted := '';
strlist:=Tstringlist.create;
strlist.loadfromfile('c:/key.txt');
g_Key:=strlist.strings[0];
for I := 1 to length(strCryptThis) do
begin
iKeyChar := ord(g_Key);
iStringChar := ord(strCryptThis);
iCryptChar := iKeyChar Xor iStringChar;
strEncrypted := strEncrypted + inttostr(iCryptChar);
end;
strlist.free;
Result := strEncrypted;
end;

为什么g_key不能正确读出文本文件里的东西?另外你们全用了inttostr()函数好象不对吧,应该用char函数吧??
 
已经解决
 
后退
顶部