更新日:2002/10/1
VB.NETの開発環境は、Visual Studio.NETである。Visual C#などの他のプログラミング言語も同一の統合開発環境で開発することができる。
見かけだけでなく根底にある、.NET Frameworkが共通の環境(クラス ライブラリ)を提供することが重要である。
といっても、当分、VBだけを考えていくので、Visual Studio.NET(以下「Studio」という)のスタートページでフロフィールにBasic開発者を指定することにより、画面がそれに適した形に変化する。
解像度は、1024×768、文字の大きさは、大にしてみた。
Officeの画面などと同様に画面上のツールなどは、自由に配置することができる。私は、ツールボックスを固定し、プロパティとソリューションエクスプローラウインドウは、フロートとした。このようにすると右端の
プロパティなどの文字の上にマウスカーソルが移動するとプロパティウインドウなどが左側に展開するようになる。
ソリューションは、特定の目的を果たすための複数のプロジェクトの集合である。まあ、システムといってもよいのかな。
プロジェクトは、いわゆる、個別のプログラムと考えておこう。
(1)手を動かしてプログラムを作ろう。
簡単な仕様は、次のとおり。
適当な大きさのフォームにボタンとラベルを配置して、ボタンを押すとラベルに「こんにちは」と表示する。
別のボタンをクリックすると、終了する。文字のスタイル等は、任意にする。
手順としては、Studioのファイルメニューまたはスタートページ新規プロジェクトを選択する。
プロジェクトの種類は、Visual Basic、テンプレートは、Windowsアプリケーションである。
プロジェクト名は、First Programとした。このようにすると、マイドキュメント(のStudioの中)にその名前のフォルダができる。
(2)Form1
編集画面上に「Form1.vb」というフォームが自動的に生成されている。フォームは、自由にその大きさを変更することができる。
また、プロパティウインドウのBackcolorやBackgroundimageプロパティで色や背景画像を指定することができる。
フォームの最大化、最小化などの許可もプロパティウインドウで指定することができる。プロパティの名前は、英語であるが、見当が付くものもが多いことは、ありがたい。
ここでは、既定のままとする。
(3)コントロールの配置
フォーム上にボタンを2つ、ラベルを1つ配置する。これらのコントロールは、VBAと同様にその名前を変更することができる。
ここでは、ボタン1に「cmdjikko」、ボタンに「cmdend」と命名した。同様にラベル1を「lblhyoji」とする。
これらのコントロール付ける先頭の文字をプリフィックスといい、ある程度決まっているようである。
ボタンのtextプロパティには、日本語で「実行」、「閉じる」と記載する。
(4)試しに実行
試みにこれだけでデバッグメニューから開始をクリックするとコンパイルが始まり、画面にフォームが表示される。
各ボタンは、クリックできるものの、当然、何も起こらない。
フォームの閉じるボタン(×)、有効なので、クリックすると正常にフォームは、閉じる。
(5)イベントプロシージャ
次にボタンにイベントプロシージャを書くことになる。
クリックしたときの動作を書くためには、ボタンをダブルクリックしてもよいが、ダブルクリックした場合やその他の一般の動作に関するイベントプロシージャを書くためには、F7キーを押して、Form1.vbのコードウインドウに切り替える。Form1と書かれているクラス名のプルダウンメニューから、cmdjikkoを選択する。
次に右側のメソッド名のプロダウンメニューからclickを選択する。
すると、Private Sub cmdjikkou_click(・・というVBAでも見慣れたプロシージャが出てくる。の中に手続きを記載する。
(6)実行ボタン
lblhyoji.text=”こんにちは”
だけである。上記は、見やすいように全角文字を使っている。今後も同様である。
文字の大きさが小さいようであれば(既定では、9ポイントである)、フォームのプロパティウインドウで大きく設定しておく。
(7)閉じるボタン
endだけである。
close()でもよい。
(8)実行してみる。
(4)と同様にデバッグから開始で実行してみる。動作は、問題ないようである。
プロシージャのところを注意深く見ると、かっこ内に、Byvalという文字が出てくる。これは、関数の引数の引き渡し方法の指定である。VBAでは(VB6でも)、引数の渡し方は、参照渡しであった。この場合は、 Byrefという指定を引数の前に付けるが、通常は、省略している。すなわち、既定では、参照渡しであった。
これが、VB.NETの既定では、値渡しに変更されている。
この違いは、渡された方のルーチンで渡された変数の値を変更できるかどうかである。参照渡しでは、これが可能、
値渡しでは、不可能。外部のルーチンで不用意に引数の値が変更されないようにするためには、値渡しの方が優れている。
一方、変数のポインタだけを渡す参照渡しに比べてオーバーヘッドは大きくなる。
このため、VBAやVB6では、参照渡しが既定になっていたのである。
だから、外部ルーチンで引数の値を変更するようなプログラムを書いていなかった方は、この違いによる影響は、少ないと考えられる。
Windows上で実行できるプログラムにするためには、ビルドを実行する必要がある。
これは、ビルドメニューからソリューションのビルドを実行するだけである。
これにより、First Program.exeというプログラムがマイドキュメントの中のサブフォルダ内に作られる。
このフログラムは、単独で(.NET FrameworkがインストールされたWindows環境で)実行することができる。
ディスク上のサイズは、9.5KB程度である。
ファイルメニューまたはツールボタンのすべて保存を実行する。
その後にファイルメニューから、ソリューションを閉じるを選択して、実行後にStudioを終了する。
実は、このあたりまでは、Studioに付属のマイクロソフトの「今からはじめるVisual
Basic.net」だけで
十分なのであるが、第3章の「初めてのオブジェクト指向」から急に難しくなってくる。
(正直、わからん)
この後は、参考書を読まないと進めません。私は、2冊の本を買いました。
「これならわかるVB.NETプログラミング」(翔泳社。古橋寛仁著。2200円)
「ステップ学習 VB.NETオブジェクト指向プログラミング入門」(メディア・テック出版。横井与次郎著。3600円)
前者の方が、初心者向けに書き始められている。後者は、標準的な本である。