kansee 发表于 2009-5-3 11:55:15

对这样的循环有很大的疑问

本帖最后由 kansee 于 2009-5-8 20:26 编辑

        For $i = 1 To $dateNum
                $dat = Int(FileRead($fileHand, 1)) + Int(FileRead($fileHand, 1)) * 0x100 + Int(FileRead($fileHand, 1)) * 0x10000 + Int(FileRead($fileHand, 1)) * 0x1000000 ;读取4个字节,时间
                $riQi = _DateAdd('s', $dat + 28800 + 300, "1970/01/01 00:00:00")
                For $j = 1 To 6
                        $dat = Int(FileRead($fileHand, 1)) + Int(FileRead($fileHand, 1)) * 0x100 + Int(FileRead($fileHand, 1)) * 0x10000 + Int(FileRead($fileHand, 1)) * 0x1000000 ;读取4个字节
                        $fd1 = BitAND($dat, 0x40000000) / 0x40000000
                        $fd2 = BitAND($dat, 0x7F800000) / 0x800000 - 0x7F
                        If $fd2 <= 0 Then
                                $fd2 = 0
                                $fd3 = 0
                        Else
                                $fd3 = Mod($dat, 0x800000)
                                $fd3Z = ($fd3 + 0x800000) / 2 ^ (23 - $fd2)
                        EndIf
                        $jiaGe[$j] = $fd3Z & " "
                Next
                $shuChu = $shuChu & $riQi & " " & $jiaGe & $jiaGe & $jiaGe & $jiaGe & $jiaGe & $jiaGe & @CRLF;循环输出最终成为一个文本
                $riQi = ""
                FileRead($fileHand, 8) ;跳过最后8个字节
        Next
这里面的$fileHand变量怎么看都没有变化啊!!可是为什么就是递增了呢

kansee 发表于 2009-5-3 12:04:59

难道FileRead($fileHand, 8) 就像指针一样?$fileHand=$fileHand+8?

78391493 发表于 2009-5-3 14:35:37

自增的是$i,For循环开始的时候$i是=1的,每次循环都会自动加一,直到等于$dateNum为止

kansee 发表于 2009-5-3 16:23:15

这个我懂,问题已经解决了,关键在于$filehand的变化和$i没关系
页: [1]
查看完整版本: 对这样的循环有很大的疑问