在一个线程是,对字符串进行处理。代码如下: writes2:='';
writes2:=writes2+IntToHex(ord(writes[1]),2);
writes2:=writes2+IntToHex(StrToInt(writes[2]),2);
str:=IntToHex(StrToInt(writes[3]+writes[4]+writes[5]+writes[6]+writes[7]),4);
writes2:=writes2+IntToHex((StrToInt('$'+str)div 256),2);
writes2:=writes2+IntToHex((StrToInt('$'+str)mod 256),2);
str:=IntToHex(StrToInt(writes[8]+writes[9]+writes[10]+writes[11]+writes[12]),4);
writes2:=writes2+IntToHex((StrToInt('$'+str)div 256),2);
writes2:=writes2+IntToHex((StrToInt('$'+str)mod 256),2);
writes2:=writes2+IntToHex(StrToInt(writes[13]+writes[14]),2);可有时候得到writes2的值,会少了很多?为什么呢?如果把这一段代码放在线程外部执行后得值传入线程,就没有问题!
writes2:=writes2+IntToHex(ord(writes[1]),2);
writes2:=writes2+IntToHex(StrToInt(writes[2]),2);
str:=IntToHex(StrToInt(writes[3]+writes[4]+writes[5]+writes[6]+writes[7]),4);
writes2:=writes2+IntToHex((StrToInt('$'+str)div 256),2);
writes2:=writes2+IntToHex((StrToInt('$'+str)mod 256),2);
str:=IntToHex(StrToInt(writes[8]+writes[9]+writes[10]+writes[11]+writes[12]),4);
writes2:=writes2+IntToHex((StrToInt('$'+str)div 256),2);
writes2:=writes2+IntToHex((StrToInt('$'+str)mod 256),2);
writes2:=writes2+IntToHex(StrToInt(writes[13]+writes[14]),2);可有时候得到writes2的值,会少了很多?为什么呢?如果把这一段代码放在线程外部执行后得值传入线程,就没有问题!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货