下面这几句理解很费劲,谁给讲一下,谢谢。Move( FileBuf[CurrentPos], b1, Sizeof(b1) );//move,sizeof()函数的用法和意思?
Inc( CurrentPos, Sizeof(b1) );TagLength := TagID and $3F;        // and 是什么意思?怎么用?   
    
TagID := TagID shr 6;           //shr是什么意思?怎么用?   另外谁有讲解比较详细的SWF文件结构的治疗?

解决方案 »

  1.   

    Move( FileBuf[CurrentPos], b1, Sizeof(b1) );//move,sizeof()函数的用法和意思?
    ///////把缓冲区FileBuf的CurrentPos开始,移动sizeof(b1)的数据到b1中。
    ////////sizeof(b1),b1是一个结构,得到该结构的长度。TagLength := TagID and $3F;        // and 是什么意思?怎么用?   
    ////////求得TagId 和$3F 0011 1111的按位与的结果,就是求TagId的低6位的值。
        
    TagID := TagID shr 6; 
    /////////将TagId向右移动6位。移位运算。
      

  2.   

    TagLength := TagID and $3F;        // and 是什么意思?怎么用?   
    ////////求得TagId 和$3F 0011 1111的按位与的结果,就是求TagId的低6位的值
    这个还是理解不是很清晰,其中$这个代表什么?16进制?
      

  3.   

    谢谢: gzmhero(hihihiTagID := TagID shr 6; 
    /////////将TagId向右移动6位。移位运算。
    如果100110111 shr 6的话应该是100110吗?
      

  4.   

    100110111->shr 6 =000 000 100