[VBA ] redim的作用

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

Links booklink

Contact Us: admin [ a t ] ucptt.com