VB 6.0





 プロシージャ


プログラムのコードを目的別に分割することによって、プログラミング作業を簡単にすることができます。
Visual Basicでは、コードを "プロシージャ" と呼ばれる単位に分割して、アプリケーションを構成します。

プロシージャは、何度も実行する処理や、共有される処理をまとめるために使うことができます。
たとえば、頻繁に実行する計算処理、テキストやコントロールの操作、データベースの操作などを、プロシージャにすることができます

プロシージャを使ったプログラミングには、次の 2 つの主な利点があります。
1.
プロシージャを使うと、プログラムを個別の論理ユニットに分割することができます。プロシージャごとにデバッグする方がプロシージャに分割されていないプログラム全体をデバッグするよりも簡単です

2.
あるプログラムで使用しているプロシージャは、通常、ほとんど変更することなくほかのプログラムで利用できます。

Visual Basic で使うプロシージャには、次のものがあります。
Sub     プロシージャは値を返しません。(いわゆるサブルーチン)
Function プロシージャは値を返します。
Property プロシージャは、値を返したり、代入することが可能で、オブジェクトへの参照を設定できます。

Sub プロシージャ

Sub プロシージャの定義(いわゆるサブルーチン)
[Private|Public] [Static] Sub プロシージャ名 (引数並び)
処理内容
End Sub

Private|Public はどちらか1つ 省略で Public になる
Private Sub aaa() Private型  Subプロシージャを宣言したモジュール内のみ参照可能
Public Sub aaa() Public型   モジュール内のすぺてから参照可能
Sub aaa()     Public型

※イベントプロシャージャには Private がつく
Private Sub Command1_Click()

Static 付加で静的変数(値保持型)
Private Static Sub aaa()
Sub Static aaa()

引数は型名とともに()の中に書く
Sub Test1() 引数なし
Sub Test1(A As Integer) 引数1つ
Sub Test1(A as Long, B as Long) 引数2つ ロング型
Sub Test1(A, B) 引数2つ バリアント型


Sub プロシージャ呼び出し

実引数並びを()で囲うと意味が変わるので注意、()付で関数定義になる
Sub プロシージャ名 [実引数並び]
Test1 引数なし
Test1 A, B 引数あり

仮引数と実引数

プロシャージャ呼出し側とプロシャージャ本体側でデータをやり取りするには、引数を使用する。
呼び出す側では、生きている実際のデータを記述する。これを実引数と呼ぶ。
本体側では仮引数と呼ぶ、これはどんな値が渡されるか解からない仮の引数のため。


関数プロシージャ

Function プロシージャの定義
[Private|Public] [Static] Function プロシージャ名 (引数並び) [As 型]
処理内容
プロシージャ名 = 値  'これが戻り値になる
End Function
引数並びは Sub プロシージャと同じ
戻り値の型は「As 型」で指定する
Function Test1(A, B) As Long  'Long型の値を返す
Function Test1(A, B) As String  'String型の値を返す

戻り値は「関数名への代入」で行なう
Function Keisan1(a,b) as Long Dt=Keisan1
関数 プロシージャ呼び出し

関数型では、引数並びを()で囲うことに注意
Data1 = 関数プロシージャ名(実引数並び)
関数プロシージャは式の中に使う。

Di = Keisan1(x, y, z) '関数呼び出し 引数3つ

Function Keisan1(in1 As Long, in2 As Long, in3 As Long) As Long '関数本体
Dim Ret As Long

Select Case in3
Case 0
Ret = in1 + in2
Case 1
Ret = in1 - in2
Case 2
Ret = in1 * in2
Case 3
Ret = in1 / in2
End Select

Keisan1 = Ret '戻り値
End Function




TOP