帮忙把下面这个delphi代码片段翻译成vb,分不够可以再加,急求啊。
R : longword;
P : integer;
protocol_byte : array [1..620] of byte;
rtemp_byte:array [1..4] of byte absolute R;
ptemp_byte:array [1..4] of byte absolute P;
strTemp : string; try
intFlag := -1;
fillchar(protocol_byte,sizeof(protocol_byte),0);
fillchar(rtemp_byte,sizeof(rtemp_byte),0);
fillchar(ptemp_byte,sizeof(ptemp_byte),0); P:=SArgDataReqHeader[0]; //数据类型
for i := 1 to 4 do
begin
protocol_byte[i]:=ptemp_byte[i];
end;
R:=44;
for i := 1 to 4 do
begin
protocol_byte[i+4]:=rtemp_byte[i];
end;
P:=StrToInt(SmsServer.cooperaterId); //企业编号
for i := 1 to 4 do
begin
protocol_byte[i+8]:=ptemp_byte[i];
end; if length(SmsServer.loginname) < 20 then //用户名
begin
szUserName := SmsServer.loginname + copy(strZeroTemp,1,20-length(SmsServer.loginname));
end; if length(SmsServer.ICPPass) < 16 then //密码
begin
szPassword := SmsServer.ICPPass + copy(strZeroTemp,1,16-length(SmsServer.ICPPass));
end;
strTemp := szUserName + szPassword; for i := 1 to 36 do
begin
protocol_byte[i+12]:=ord(strTemp[i]);
end; R:=1; //版本号
for i := 1 to 4 do
begin
protocol_byte[i+48]:=rtemp_byte[i];//完成消息头!
end; if not isTestMode then
begin
strMsg := '正在发送登录请求,登录验证:no:' + SmsServer.cooperaterId + ',user:' + SmsServer.loginname + ',password:' + SmsServer.ICPPass;
SmsServer.Memo1.Lines.Add(strMsg);
end;
smsServer.ClientSocket1.open; try
SmsServer.ClientSocket1.Socket.Sendbuf(protocol_byte[1],52);
intFlag := 1;
except
on e:exception do
begin
end;
end;
R : longword;
P : integer;
protocol_byte : array [1..620] of byte;
rtemp_byte:array [1..4] of byte absolute R;
ptemp_byte:array [1..4] of byte absolute P;
strTemp : string; try
intFlag := -1;
fillchar(protocol_byte,sizeof(protocol_byte),0);
fillchar(rtemp_byte,sizeof(rtemp_byte),0);
fillchar(ptemp_byte,sizeof(ptemp_byte),0); P:=SArgDataReqHeader[0]; //数据类型
for i := 1 to 4 do
begin
protocol_byte[i]:=ptemp_byte[i];
end;
R:=44;
for i := 1 to 4 do
begin
protocol_byte[i+4]:=rtemp_byte[i];
end;
P:=StrToInt(SmsServer.cooperaterId); //企业编号
for i := 1 to 4 do
begin
protocol_byte[i+8]:=ptemp_byte[i];
end; if length(SmsServer.loginname) < 20 then //用户名
begin
szUserName := SmsServer.loginname + copy(strZeroTemp,1,20-length(SmsServer.loginname));
end; if length(SmsServer.ICPPass) < 16 then //密码
begin
szPassword := SmsServer.ICPPass + copy(strZeroTemp,1,16-length(SmsServer.ICPPass));
end;
strTemp := szUserName + szPassword; for i := 1 to 36 do
begin
protocol_byte[i+12]:=ord(strTemp[i]);
end; R:=1; //版本号
for i := 1 to 4 do
begin
protocol_byte[i+48]:=rtemp_byte[i];//完成消息头!
end; if not isTestMode then
begin
strMsg := '正在发送登录请求,登录验证:no:' + SmsServer.cooperaterId + ',user:' + SmsServer.loginname + ',password:' + SmsServer.ICPPass;
SmsServer.Memo1.Lines.Add(strMsg);
end;
smsServer.ClientSocket1.open; try
SmsServer.ClientSocket1.Socket.Sendbuf(protocol_byte[1],52);
intFlag := 1;
except
on e:exception do
begin
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货