函数请教 ( 积分: 10 )

  • 主题发起人 主题发起人 mawei0913_green
  • 开始时间 开始时间
M

mawei0913_green

Unregistered / Unconfirmed
GUEST, unregistred user!
for i:=0 to round(Length(trim(ADOQuTD.FieldByName('候车室').AsString))/2)-1 do
begin
str_int:=strtoint(MidBStr(trim(ADOQuTD.FieldByName('候车室').AsString),(i+1)*2-1,2));
if str_int>0 then
begin
adoqtmp.SQL.Text:='select * from tr_hcs where houche_id='+inttostr(str_int);
adoqtmp.Open;
Str_tmp:=Str_tmp+' '+Trim(adoqtmp.fieldbyname('Houche_name').AsString);
end;
end;

我想知道的是:
str_int:=strtoint(MidBStr(trim(ADOQuTD.FieldByName('候车室').AsString),(i+1)*2-1,2));

Midbstr(....)里面的具体的什么意思;),(i+1)*2-1代表什么意思
请各位高人给予指点!
 
应该就是加密计算某种特征码吧。
 
TO 藏马
我这里并不是什么加密,而是问一下“(i+1)*2-1”在Midbstr函数里具体代表什么意思
我对它不太理解,请各位高人赐教呀!
 
去看MidBStr的函数原型,这么写一下是看不出来的...
 
Midbstr(字符串,索引,个数)我知道他的意思,这好像他Midbstr没有多大的关系
本程序中,i说明了代表了什么意思,我只是不理解“(i+1)*2-1”这句的具体意思
 
对一个字符串进行处理,依顺序每次取两个字符,取完为止。
 
多人接受答案了。
 
你的说法不对,因为从你写的程序来看,函数MidBStr需要3个参数,并且分别是一个String类型的参数,和两个Integer类型的参数。至于你需要知道的(I + 1) * 2 - 1(也就是函数MidBStr的第二个参数)的具体意义和作用,当然要了解了MidBStr函数的用途以及原理后才能够明白为什么是这样写的,怎么能够说和函数MidBStr关系不大呢?
 

Similar threads

后退
顶部