Re: [VB6 ] 陣列太小,資料無法全部存下

看板Visual_Basic作者時間11年前 (2013/01/14 19:55), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《rufus43 (rufus43)》之銘言: : 大家好 : 我遇到的問題是,我需要宣告一個陣列為 : Dim a(901,65536) As Double : 來儲存901個文件,每個文件有65536筆資料 : 但是目前這樣的宣告因為所需的資料元素太多而無法宣告, : 所以我用a(65536),在For迴圈中使用,做完一個文件的處理, : Erase掉a陣列,再去存下一個文件,之後再做處裡,以這樣的方式做完全部的文件, : 但是這樣開檔讀檔的方式實在太慢,時間將近要兩、三幾個月,想詢問大家 : (1)是否可以打破VB6陣列宣告大小的限制 Option Explicit Dim a(901, 65536) As Double Private Sub Form_Load() Dim i As Long, j As Long For i = 0 To 901 For j = 0 To 65536 a(i, j) = i * j Next Next Debug.Print a(901, 65536) End Su 跑起沒問題啊, 依MS的資料: 陣列大小考慮事項 長度限制 每個陣列之維度長度都受限於 Integer 資料型別的最大值,也就是 (2 ^ 31) - 1。然而 ,陣列之總大小也同時受限於系統可用的記憶體。若您試圖對總大小超過可用的 RAM 之 陣列進行初始化,Common Language Runtime 將擲回 OutOfMemoryException 例外狀況。 : (2)或者有更快速的方式去存這些資料 : 謝謝大家!!! -- ████ █ ★ ████ █ █ █ █ █ █ █ █ █ 超 級 熱 烈 歡 迎 █ ████ █ █ █ ████ █ █ █ █ █ ███★ █ █ 歡迎到嘉義版! ★███ █ █ █ █ █ █ █ 訊馳電腦-路徑嘉義市林森西路496號(05)2244-526順發斜對面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.174.92

01/14 23:25, , 1F
參考資料中提CLR,這...
01/14 23:25, 1F

01/15 12:49, , 2F
vb6 Integer 少一半的大小,也不會有Exception
01/15 12:49, 2F
文章代碼(AID): #1Gy_95WW (Visual_Basic)
文章代碼(AID): #1Gy_95WW (Visual_Basic)