有谁能把这个PB函数改成DELPHI的函数吗??? 在线等待!!(100分)

  • 主题发起人 主题发起人 lxx2008
  • 开始时间 开始时间
L

lxx2008

Unregistered / Unconfirmed
GUEST, unregistred user!
//非常感谢
//有谁能把这个PB函数改成DELPHI的函数吗??? 在线等待!!
integer li_e
integer li_d
integer li_n
string ls_str
string ls_jm_id
ulong lul_temp
ulong lul_x
ulong lul_y
integer i


li_e = 3
li_d = 7
li_n = 33
ls_str = ls_str_id
ls_jm_id = ""
lul_temp = 0

do until ls_str = ""
lul_temp = integer(left(ls_str,2))

if lul_temp >= li_n then
lul_temp = integer(left(ls_str,1))//5
ls_str = right(ls_str,len(ls_str) - 1)//42775783
else
ls_str = right(ls_str,len(ls_str) - 2)
end if

lul_y = 1

for i = 1 to li_e
lul_y = lul_y * lul_temp
next

lul_y = mod(lul_y,33)
ls_jm_id = ls_jm_id + string(lul_y)
loop

return ls_jm_id
 
怎么了,,没有人奉献一下啊?
 
???????????//
 
ls_str_id应为传入的参数了,返回值为string,函数体如下,uses中加入strutils,你试试:
var
li_e,li_d,li_n,i:integer;
ls_str,ls_jm_id:string ;
lul_temp,lul_x,lul_y:longint ;

begin
li_e := 3;
li_d := 7;
li_n := 33;
ls_str := ls_str_id;
ls_jm_id := '';
lul_temp := 0 ;

repeat
lul_temp := strtoint(leftstr(ls_str,2));

if lul_temp >= li_n then
begin
lul_temp := strtoint(leftstr(ls_str,1));//5
ls_str := rightstr(ls_str,length(ls_str) - 1);//42775783
end
else
ls_str := rightstr(ls_str,length(ls_str) - 2);


lul_y := 1;

for i := 1 to li_e do
lul_y := lul_y * lul_temp;


lul_y := trunc(lul_y mod 33) ;
ls_jm_id := ls_jm_id + inttostr(lul_y);

until ls_str = '';

result:= ls_jm_id;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
707
import
I
后退
顶部