[リストへもどる]
一括表示

投稿時間:2004/01/11(Sun) 17:16
投稿者名:にゃー
Eメール:
URL :
タイトル:
二次元配列の初期値
VB6.0を使っているのですが、二次元配列の初期値を一気に設定する方法が分かりません。

Dim Table (2,3) As Integer
Table(0,0) = 0
Table(0,1) = 1
   :
   :
Table(2,3) = 9
という風にセル毎に設定していく以外には無理なのでしょうか?

C言語であれば
Table[0][] = {0,1,2,3}
という風に一列を一気に設定できますよね?

このようなことはVBではできないのでしょうか?

投稿時間:2004/01/11(Sun) 21:34
投稿者名:よねKEN
Eメール:
URL :
タイトル:
Re: 二次元配列の初期値
> C言語であれば
> Table[0][] = {0,1,2,3}
> という風に一列を一気に設定できますよね?
>
> このようなことはVBではできないのでしょうか?

VB6の場合、Variant型でよければ、
Array関数を使って似たようなことはできますが、
それ以外ではできません。

VB.NETではできます。

投稿時間:2004/01/11(Sun) 22:23
投稿者名:Say
Eメール:
URL :
タイトル:
Re: 二次元配列の初期値
> C言語であれば
> Table[0][] = {0,1,2,3}
> という風に一列を一気に設定できますよね?
>
> このようなことはVBではできないのでしょうか?

ジャグ配列にするとか。

    Dim a(2)
    a(0) = Array(0, 1, 2, 3)
    MsgBox a(0)(2)

2次元配列にしたいなら、たとえばこう。

    Dim a, b(2, 3) As Long, i As Long, j As Long
    a = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
    For i = 0 To 2
        For j = 0 To 3
            b(i, j) = a(i * 4 + j)
        Next
    Next
    MsgBox b(0, 2)