看板 Visual_Basic 關於我們 聯絡資訊
感激不盡! 但是發現處理比較大檔案時, 程式會當掉, 且頗吃資源, 是因為沒有用 buffer 就邊讀編寫 的關係嗎? 另外, 表單中不知如何實現動態文字, 想呈現 xx% 的進度, 卻到 100 % 才顯現出來. ※ 引述《fumizuki (小獅子)》之銘言: : ※ 引述《acosy (acosy)》之銘言: : : 一個簡單的二進位檔複製.. : : ------ : : open "c:\xxx.1" for binary access read as #1 : : open "c:\xxx.2" for binary access write as #2 : : do until eof(1) : : get #1, ,a : : put #2, ,a : : loop : : close #1 : : close #2 : : -------- : : 結果 xxx.2 總會比 xxx.1 多出 1 bytes, why?? : 多出一個 chr(0) ,不知道為何讀到 0 ... eof才會是true @@ : 下面兩種方法就不會有這問題 : 1) : Dim a As Byte : Open "c:\xxx.1" For Binary As #1 : Open "c:\xxx.2" For Binary As #2 : Do While Loc(1) < LOF(1) : Get #1, , a : Put #2, , a : Loop : Close : 2) : Dim a() As Byte : Open "c:\xxx.1" For Binary As #1 : Open "c:\xxx.2" For Binary As #2 : Redim a(LOF(1) - 1) : Get #1, , a : Put #2, , a : Close -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.60.197.145
mouse26:迴圈裡插入一行doevents即可 210.58.40.212 08/05
fumizuki:文字很好表現吧 迴圈執行時間很長的話就加樓上 210.58.156.43 08/05
fumizuki:所說的 210.58.156.43 08/05
fumizuki:第二個方法只適合小的檔案~ 210.58.156.43 08/05