我要读取一个二进制文件 118个字节为一行 读出后存到数据库中, 但这个文件 很大的,不停的读就像死机一样请问有什么好的解决办法吗?

解决方案 »

  1.   

    Open FileName For Binary As #1
            For i = 1 To BillCount
                BillStr = ""
                For Index = 1 To 128
                    Get #1, 128 * (i - 1) + Index, B
                    If B > 15 Then BillStr = BillStr & Hex(B)
                    If B < 16 Then BillStr = BillStr & "0" & Hex(B)
                Next Index
                '到这里已经读出一条话单放到billstr中了
                CALL_ORDER = 1
                CALL_CALLER = Mid(BillStr, 53, 20)
                CALL_CALLED = Mid(BillStr, 77, 20)
                CALL_BEGINTIME = ctime(Mid(BillStr, 17, 12))
                CALL_ENDTIME = ctime(Mid(BillStr, 29, 12))
                CALL_DURATION = H_To_D(Mid(BillStr, 41, 2)) + H_To_D(Mid(BillStr, 43, 2)) + H_To_D(Mid(BillStr, 45, 2)) + H_To_D(Mid(BillStr, 47, 2))
                CALL_USERTRK = Mid(BillStr, 121, 2)
                CALL_TRK = Mid(BillStr, 123, 2)
                CALL_KIND = mianfei(Mid(BillStr, 13, 1))
                DoEvents
            Next i
      

  2.   

    最好在优化程序的同时在程序中加一个DOEVENTES,不要让同一个任务占用资源不放