看板 Visual_Basic 關於我們 聯絡資訊
請問版上大大有人可以用比較白話來解釋redim這個函數的作用嗎?? 因為在網路上看到的解釋都看不太懂,只知道用redim可以比較省記憶體 想請各位大大幫忙啦!!謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.22.18.73 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1429100584.A.43B.html
MOONRAKER: 比較省是誰講的 可否提供網址拜讀一下 04/15 20:30
wenyonba: 網路上的解釋都看不懂我很懷疑,Google一搜就有MSDN 04/15 21:18
johnpage: 重新配置記憶體大小 04/15 21:42
fumizuki: redim不是函數,redim是陳述式,用來重新宣告陣列變數 04/15 23:01
fumizuki: 有沒有省記憶體是看你所有變數總共用了多少空間而定 04/15 23:03
fumizuki: 跟redim無關 04/15 23:04
ClubT: 我猜 如果你一開始 Redim arr(99) 用完後 Redim arr(0) 04/16 11:22
ClubT: 第二次 Redim arr(0) 就會省記憶體 04/16 11:23
MOONRAKER: 可是我以前看到都是dim k()玩一玩然後再redim k(5000) 04/16 15:34
MOONRAKER: 這樣怎麼會比較省記憶體 04/16 15:34
markbaseball: http://ppt.cc/aPny 這裡有寫到ReDim 可以藉由減少 04/16 21:05
markbaseball: 陣列大小,釋放記憶體 04/16 21:05
MOONRAKER: 你寫什麼程式會寫到這樣釋放記憶體?來個scenario聽聽 04/17 00:36
wenyonba: 話說真的寫VB的時候,釋放通常就erase全放掉了,如果是用 04/17 09:10
wenyonba: 到ReDim的時候,通常是陣列已經不夠大,只會增加沒在減少 04/17 09:10
wenyonba: 的情況比較多XD 04/17 09:11
johnpage: 記憶體不是1byte 1byte增加或減少 04/17 12:17
MOONRAKER: 是阿 redim就跟realloc一樣 用來擴張機會較大 04/17 23:07
markbaseball: 隱性差分求option 04/18 13:52
cf1064: 之前寫程式有用到用在全域變數上 04/29 00:40
cf1064: 例如我要宣告一個buttom陣列,但是不知道幾個,所以先在全 04/29 00:41
cf1064: 域dim buttom1() 04/29 00:41
cf1064: 然後在某個function裡下sql找出共十筆資料,所以要變成十 04/29 00:43
cf1064: 個buttom1, 所以就要redim button1(10), 之後例如在某個fu 04/29 00:43
cf1064: nction下要對button(2)下enable=false就可以用了 04/29 00:44
cf1064: 因為在全域下無法下sql等等的指令,所以採用這個方法 04/29 00:44
cf1064: 可以看我之前文章有 04/29 00:47