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

投稿日: 2005/08/03(Wed) 10:57
投稿者chama
Eメール
URL
タイトルRe^2: 配列の大きさを減らしたい

ありがとうございます。
下限の意味を間違えてました。

私は、配列の最大値(上限と分かりました)を減らすことを下限は変更できないって
解釈していました。
ちなみに、配列の真ん中辺りのデータを削除して、配列の大きさを詰める作業は、
自分でいちいち定義してあげないとだめでしょうか。



> > 動的配列では配列の大きさを大きくすることはできても、小さくできないと書いてありまし
た。
> ヘルプの下記の部分ですか?
> 同様に、キーワード 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 -