公式の解説でOK


「プロシージャ」は、時より、「関数」とか「サブルーチン」やらなんやらと呼ばれはります。ここでは、「プロシージャ」ちう呼び名に統一しまんねんけど、その正体は複数のコマンドを組み合わせてあるんや、1つのコマンドのようなもんや。言葉ではちびっと説明し辛いさかい、サンプルプログラムを通して、プロシージャ機能の役割についての解説をしまっせ。

プロシージャの定義には、Function定義、Sub定義の2通りの方法があるんやが、それぞれ、戻り値があるかないかの違いだけで、その他の機能はまるっきし同一や。

Function プロシージャ名 (変数1 As 型, 変数2 As 型 ,...) As 戻り値の型
    関数内のコード...
    プロシージャ名=戻り値
End Function

Sub プロシージャ名 (変数1 As 型, 変数2 As 型 ,...)
    関数内のコード...
End Sub

"変数1 As 型…" のことを、一般的に「パラメータ」や「引数」なんやらとええ、任意の個数だけ指定することができまっせ〜(省略も可)。
手始めに、指定された税抜き価格を元に、消費税を上乗せした税込価格を計算するプロシージャを作成し、呼び出してみまひょ。

Dim value1 As Long
Dim value2 As Long
Dim buffer As String

Function GetPrice(a As Long) As Long
	GetPrice=a+a*0.05
End Function

value1=100
value2=GetPrice(value1)
buffer="定価\"+Str$(value1)+"、税込み価格\"+Str$(value2)
MessageBox(0,buffer,"税金の計算",MB_OK)

GetPriceとゆうプロシージャをFunction命令で定義していまんねん。変数aとゆうパラメータを持ち、税込み価格が戻り値にセットされておるのがわかるんや。
コンパイル、実行を行うと、定価100円に、消費税が加算され、税込み価格105円が表示されまんねん。"value1=100" の代入値を任意の価格に設定することであらゆる定価に対する税込み価格を計算することができまんねん。


ところで、MessageBox関数をいちいち書くのって、ややこしいだと思いまへんか?一回だけならまだしも、プログラム内で何回もとなると…。どうせタイトル部やMB_OKってゆうのは変わりまへんんやったら、省略したくなるものや。
この問題、プロシージャ機能を使って解決しまひょ。H○Pチックに、プロシージャの名前は "mes" にでもしておきまんねん。

Sub mes(buffer As String)
    MessageBox(0,buffer,"プチノベル",MB_OK)
End Sub

mes("わいは意を決して階段に足をやり、一歩ずつすすんや。肩が小刻みに震えとるのがわかるちうわけや。")
mes("あの物音は、まるでわいの息遣いに反応してんかのように、やまんとおる。")
mes("階段の先は、どうやら廊下が続いとるようや。正面に続く長い廊下のおくには、小さな窓が1つ。")
mes("弱々しい光が廊下を照らし、わいの足を誘うわ。")
mes("どうやら、この部屋の中に答えがあるんやうや。")
mes("もう後戻りはでけへんと思て、おそるおそるドアをあける…。")

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年05月03日 09:20