VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/08/02(Tue) 19:43
投稿者花ちゃん
Eメール
URL
タイトルRe: 配列の大きさを減らしたい

> 動的配列では配列の大きさを大きくすることはできても、小さくできないと書いてありました。
ヘルプの下記の部分ですか?
同様に、キーワード Preserve を使用した場合、動的配列のサイズを変更するために変え
られるのは、添字の上限だけです。添字の下限を変更しようとすると、エラーが発生します。

この場合の添字の下限とは、ReDim Preserve a(1 to 10) のような 1 の値(下限)
を意味しており、a(10) の 10は上限になります。

ヘルプを見て解釈されたのだと思いますが、簡単な事なので試して見る事ですね。
(ヘルプが間違っている場合も結構ありますし)

下記を試して見て下さい。
Private Sub Command1_Click()
    Dim a() As Integer
    Dim i As Long
    
    ReDim a(100)
    For i = 0 To 100
        a(i) = i
    Next i
    ReDim Preserve a(10)
    For i = 0 To 10
        Debug.Print a(i)
    Next i
'   ReDim Preserve a(1 To 10) ' 従ってこれはNG
End Sub


Private Sub Command1_Click()
    Dim a() As Integer
    Dim i As Long
    
    ReDim a(100, 10, 10)
    For i = 0 To 10
        a(1, 1, i) = i
    Next i
    ReDim Preserve a(100, 10, 5)
    For i = 0 To 5
        Debug.Print a(1, 1, i)
    Next i
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -