ページの作成:「== 概要 == <br><br> == 基本構文 == <syntaxhighlight lang="vb"> ' 関数 [Private|Public] Function <関数名>([<引数> As <型>, ...]) [As <戻り値の型>] ' 処理 関数名 = 戻り値 '戻り値の設定 End Function ' サブルーチン [Private|Public] Sub <サブルーチン名>([<引数> As <型>, ...]) ' 処理 ' ...略 End Sub </syntaxhighlight> <br><br> == プロパティ== <syntaxhighlight lang="vb"> Property Get <…」
 
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
 
Visual Basic 6の関数は、特定の処理を行い値を返すプログラムの一部として機能する。<br>
<br>
アクセス修飾子として、<code>Private</code>や<code>Public</code>を指定して、関数名の後に引数を定義する。<br>
戻り値の型は、<code>As</code>キーワードで指定する。<br>
<br>
関数内では値を計算や処理を行い、最終的に関数名に値を代入することで戻り値を設定する。<br>
データ型には数値型、文字列型、オブジェクト型等があり、目的に応じて適切な型を選択できる。<br>
<br>
引数の受け渡し方法には値渡し (ByVal) と 参照渡し (ByRef) があり、デフォルトは参照渡しである。<br>
必要に応じて、省略可能な引数や可変長引数も使用できる。<br>
<br>
関数は他の関数やサブルーチンから呼び出すことができ、モジュール化されたコードの定義に役立つ。<br>
また、エラーハンドリングのためにOn Errorステートメントを使用することもできる。<br>
<br><br>
<br><br>


16行目: 28行目:
     ' ...略
     ' ...略
  End Sub
  End Sub
</syntaxhighlight>
<br><br>
== Private / Public ==
==== Private ====
* そのモジュール内でのみアクセス可能
* 他のモジュールからは参照不可
* コードの安全性とカプセル化を高める。
<br>
<syntaxhighlight lang="vb">
' このモジュール内でのみ使用可
Private Sub InternalProcess()
    '処理
End Sub
</syntaxhighlight>
<br>
==== Public ====
* どのモジュールからもアクセス可能
* プロジェクト内のどこからでも参照可能
* モジュール間で共有する必要がある変数やメソッドに使用する。
<br>
<syntaxhighlight lang="vb">
' 他モジュールから呼び出し可
Public Function Calculate() As Integer
    '処理
End Function
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
102行目: 140行目:
  result = Sum(1, 2, 3, 4, 5)  ' result = 15
  result = Sum(1, 2, 3, 4, 5)  ' result = 15
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
== プロパティ ==
==== プロパティとは ====
プロパティは内部データへのアクセスを制御して、値の検証やその他のロジックを追加することができる。<br>
<br>
プロパティには、以下に示す3つの主要なアクセサがある。<br>
* Get
*: 値の読み取り
* Let
*: 値の設定 (通常の値型)
* Set
*: オブジェクトの設定
<br>
<br>
==== プロパティ ====
  <syntaxhighlight lang="vb">
  <syntaxhighlight lang="vb">
  Private m_Name As String
  Private m_Name As String
118行目: 168行目:
  Me.Name = "Test"    ' 設定
  Me.Name = "Test"    ' 設定
  Debug.Print Me.Name  ' 取得
  Debug.Print Me.Name  ' 取得
</syntaxhighlight>
<br>
==== データの検証 ====
<syntaxhighlight lang="vb">
Property Let Age(value As Integer)
    If value >= 0 And value <= 150 Then
      mAge = value
    Else
      Err.Raise 1000, "Invalid age value"
    End If
End Property
</syntaxhighlight>
<br>
==== 計算値の提供 ====
<syntaxhighlight lang="vb">
Property Get TotalPrice() As Currency
    TotalPrice = mBasePrice * (1 + mTaxRate)
End Property
</syntaxhighlight>
<br>
==== カプセル化による安全性確保 ====
<syntaxhighlight lang="vb">
Private mPassword As String
Property Let Password(value As String)
    mPassword = Encrypt(value)
End Property
</syntaxhighlight>
<br>
==== 参照整合性の管理 ====
<syntaxhighlight lang="vb">
Private mParent As Form
Property Set Parent(obj As Form)
    If Not obj Is Nothing Then
      Set mParent = obj
      ' その他の初期化処理
      ' ...略
    End If
End Property
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>