プログラミング作成承ります アプリで自動化をしたい方、プログラムでお困りの方是非

VBの構造体とは

こんばんは。

よっしーんです。

 

今日は暑かったせいで、所属するテニスサークル、全然人いませんでした。。。

4人でギリギリダブルスしていました。

コートもパサパサで、何故か自分の髪もパサパサになりました。

 

さて本題。

Visual Basicについて。

今回、クライアントのご依頼対応で使ってみたテクニックについてです。

一つの人データに所属や、属性の情報を一緒に処理したい箇所がありました。

これは・・・

 

C言語でいうところの構造体ですね。

 

VBにあるのでしょうか?

簡単に使えるのでしょうか?

答えは。

両方ともYesです。

あるし、楽です。

 

VBの構造体

定義の仕方は以下の通りです。

 

Private Type (名前。ここで付けた名前で今後使ってきます)

ここにファミリーメンバを書き綴ってください。

End Type

 

例えば以下みたいな感じですね。

 

Private Type Man
      Group As String
      Role As String
      Name As String
      Job As String
End Type

 

ちょっと気になるのが、データの型。Private?

これだとグローバルに使いまわせません。

調べた限りではPrivateじゃないと使えないようです。

 

◇使い方

構造体の定義をしたら、さっそく関数の中で使ってあげましょう。

 

具体的な使い方は。

以下の1と2ですべてです。

1. 関数で以下のように定義

dim (適当な名前) as (構造体の名前)

つまり。

変数を構造体として定義するという意味です。

 

たとえるならば。

 

dim Man_belong as Man

 

こうすると。

Man_belongのメンバである      Group 、  Role、  Name、  Job が使えるようになります。

 

2. 関数内で宣言した構造体に対して、各ファミリーメンバを定義

 

Man_belong.Name="Kenji"

Man_belong.Group="Ninja"

Man_belong.Role="Ero"

Man_belong.Job="Home Defenser"

 

ということで、Kenjiさんと、Kenjiさんの周辺情報が定義できるようになりました。

 

◇構造体の配列

構造体の配列が凄い楽です。

ここはCやC++と比べると目から鱗が落ちそうになります。

 

即ち。

上記の使い方の1.で以下のように定義したらOKです。

 

dim Man_belong() as Man

 

そうです。

名前のところにさりげなく()を入れてあげてください。

もしくは()の中に、配列のサイズ(インデックスの個数)を定義してあげてください。

それですべてです。

 

ということで、今回はVBの構造体に凄い助けられました。

VBよ。有難う(上から気味に)