構造体の変数 (Visual Basic)
構造体を作成したら、その型でプロシージャ レベルの変数およびモジュール レベルの変数を宣言できます。 たとえば、コンピューター システムに関する情報を記録する構造体を作成するとします。 次に例を示します。
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public purchaseDate As Date
End Structure
これで、この型の変数を宣言できるようになります。 次に例を示します。
Dim mySystem, yourSystem As systemInfo
注意
クラス内およびモジュール内では、Dim ステートメント (Visual Basic) を使用して宣言した構造体は既定でパブリック アクセスになります。構造体をプライベートにする場合は、Private (Visual Basic) キーワードを使用して宣言します。
構造体の値へのアクセス
構造体変数の要素で値を代入したり取得したりするには、オブジェクトのプロパティの設定や取得に使用する構文を指定します。 メンバー アクセス演算子 (.) は、構造体変数名と要素名の間に配置します。 systemInfo 型として既に宣言されている変数の要素にアクセスする例を次に示します。
mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True
構造体変数の代入
両方の変数の構造体が同じ型の場合は、ある変数を別の変数に代入できます。 これによって、一方の構造体のすべての要素が、もう一方の構造体の対応する要素にコピーされます。 次に例を示します。
yourSystem = mySystem
構造体の要素が文字列型 (String) やオブジェクト型 (Object) などの参照型である場合は、データへのポインターがコピーされます。 上の例で、systemInfo にオブジェクト変数が含まれていたとすると、mySystem から yourSystem にはポインターがコピーされることになります。そのため、一方の構造体をとおしてオブジェクトのデータに変更を加えると、もう一方の構造体をとおしてアクセスする内容にも変更が反映されます。
参照
処理手順
データ型のトラブルシューティング (Visual Basic)
関連項目
概念
構造体およびその他のプログラミング要素 (Visual Basic)