[もくじへトップページへ前ページへ次ページへ]

                                       


 2.3 距離方向角計算(合体)

  さて、これから距離と方向角のプログラムを合体しますが、合体するのはそんな 

 に難しいことではありません。これまでのプログラムを、あちこちコピーして貼り

 付ければいいのです。



  しかし、それでは進歩がありませんね。新しい事がらを学ばなければ、いつまで

 たっても上達しません。

  そこで、ひとつ大事なことを勉強しましょう。変数のスコープです。はじめての

 人には少し難しいかもしれませんが、ここがVBの山場です。しっかり理解しまし

 ょう。



  変数のスコープ(通用範囲)

  スコープとは、変数がプロジェクト内のどの範囲まで有効かということで、次の

 3つがあります。



  ・ローカルスコープ

   プローシージャ内でDim宣言された変数は、そのプローシージャ内だけで有効

  です。このような変数をローカル変数といいます。


  ・モジュールスコープ

   モジュールの宣言セクション(General-Declarations)でDimまたはPrivate宣言

  された変数は、そのモジュール内のすべてのプローシージャで共通に使えます。

  しかし、他のモジュ−ルからは使えません。


  ・グローバルスコープ

   モジュールの宣言セクション(General-Declarations)でPublic宣言された変数

  は、そのモジュール内のすべてのプロシージャと他のモジュールから使えます。

   ただし、フォームモジュールの場合、その変数を他のモジュールから使うには、

      モジュールの名前.変数 

  とします。たとえば、Form1の変数aをForm2などで使うには、

      Form1.a

  とします。

   しかし、標準モジュールの宣言セクション(General-Declarations)でPublic宣

  言されている変数はどのモジュールからでも、モジュールの名前を指定せずに使

  えます。



  ややこしいですね。モジュールとかプロシージャとか、またわけの分からない言

 葉が出てきましたね。もう少し説明します。



  VBのプログラムは、通常次のようなモジュールからなっています。

       フォームモジュール(拡張子がfrm) ← これまでのプログラム

       標準モージュール(拡張子がbas)  ← 今回のプログラムで登場

 他にクラスモージュール(拡張子がcls)などもありますが、ここでは省略します。



  さらにモジュールは、

       イベントプローシージャ

          コマンドボタンをクリックした時(=イベント発生)

          などに実行されるプロシージャ

          標準モジュールには作れない

       ジェネラルプロシージャ

          サブルーチンや関数(ファンクション)など

          フォームモジュールにも標準モジュールにも作れる

 などからなっています。



  また、一つのプログラムが、どのようなモジュールから構成されているかを管理

 するファイルがプロジェクトファイル(拡張子vbp)です。



  これまでの説明を図で示すと、次のようになります。

図3−2 スコープ




  次回は、標準モジュールを使ったプログラミングです。


質問や感想をお聞かせ下さい。

■お名前

■メールアドレス

■質問


■このページの印象はいかがでしたか?


        

 これでおわります。              


[もくじへトップページへ前ページへ次ページへ]