有这么段程序:function sum(sdata) as string
Dim(17)as integer,zh1 as interger 
for k=1 to len(sdata)-1
zh(k)=val("&H"+mid(sdata,k,2)):zh1=zh1+zh(k)
next k
sum=right("00"+hex(zh1),2)
end function
是用来计算校验和的,其中的zh(k)=val("&H"+mid(sdata,k,2)):zh1=zh1+zh(k)是什么意思?请各位大大指教,仅有20分,全给了,谢谢。

解决方案 »

  1.   

    语句分隔符。zh(k)=val("&H"+mid(sdata,k,2)):zh1=zh1+zh(k)相当于
    zh(k)=val("&H"+mid(sdata,k,2))
    zh1=zh1+zh(k)
      

  2.   

    VB 默认用换行作为语句结束(一行一语句)。
    冒号“:”也可以作为语句结束符用,这样多句语句可以写在同一行。zh(k)=val("&H"+mid(sdata,k,2)):zh1=zh1+zh(k)
    等同于
    zh(k)=val("&H"+mid(sdata,k,2))
    zh1=zh1+zh(k)
      

  3.   

    多行代码写在一行时的分隔符.
    for k=1 to len(sdata)-1 
    zh(k)=val("&H"+mid(sdata,k,2)):zh1=zh1+zh(k) 
    next k 
    等价于
    for k=1 to len(sdata)-1 
    zh(k)=val("&H"+mid(sdata,k,2))
    zh1=zh1+zh(k) 
    next k 
      

  4.   

     如果想要把两行语句当作一行来写,就用:连起来比如,    Dim i As Integer
        Dim j As Integer
        
        i = 1
        j = 1
    可写作
        Dim i As Integer
        Dim j As Integer
        
        i = 1:j=1
    一条语句写一行,如果把一行写作多行,就用“_”符号连起来,如果想把多行写作一行,就用“:"