最近VBを始めたんですけど、関数 定数 変数 引数 の意味がよく理解できません・・・。値を返すとか戻り値とか、あとプロシージャを作るってどういうことですか?なにかにたとえて教えてくれればうれしいです!
お願いします(^。^)

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。

maruru01です。
これらの言葉はVB特有のものではないので、一般的な、昔私がしてもらったような説明をします。
定数と変数は値を入れる入れ物です。
定数は一度入れたら中身の変更は出来ません。No.1の方も例に出していましたが、「π」という箱に「3.141592」という数字を入れておいて、使いたい時にその箱を持って来ます。いちいちその都度「3.141592」という数字を記述しなくても、「π」という箱の名前を使えばよくなります。
変数は何度でも中身を変更出来ます。例えば、ある時点では「5」が入っていたけど、その後「7」を入れておきたければ、中身を変更します。そうすれば、その後は「7」として使えます。
次に、関数とプロシージャはこれもNo.1の方が言っているように同じようなものです。ただし、プロシージャにはSubプロシージャと、Functionプロシージャがあり、一般的な関数はFunctionプロシージャと同じようなものといえます。
どちらのプロシージャも、ある動作・仕事をする装置といえます。
例えば、スイッチを押すと家の電気がつくという場合、この電気をつける装置(仕組み)がプロシージャというわけです。スイッチを押すというのは、プロシージャを呼び出すことにあたります。
また、スイッチを押すだけじゃなく、ドアをあけたときとか、部屋に入ったときとかにも電気がつくかも知れません。そのような、人(ユーザー)がどんな動作をした時にその装置が動く(プロシージャが呼び出される)かは、作る人の自由です。
また、SubとFunctionプロシージャの違いは、具体的な結果をユーザーに返すかどうかの違いです。
例えば、ミキサーに材料と入れてスイッチを押すとミックスジュース(?)を返してくれます。このように具体的な結果(値)を返してくれるのがFunctionプロシージャで、何か動作をするだけなのがSubプロシージャです。この結果を戻り値と言います。
さらに、このミキサーには当然材料を入れないと結果は返ってこないですが、この材料が、ちょうど引数にあたります。
引数には入れていいものとまずいものがあります。ミキサーに例えば貴金属を入れたら壊れてしまいますよね。
また入れる材料(引数)が変われば、ミキサー(プロシージャ)が返してくれるジュース(戻り値)も変わってきます。

VBというのは、ユーザーが何か動作をした(ボタンをクリックした、リストから選択した、テキストボックスに何か入力したなど)時に、その動作(イベントと言います)に対応したプロシージャを呼び出します。さらにそのプロシージャの動作のなかで、別のプロシージャを呼び出したりします。
そういうプロシージャの集まりがVBというわけです。
ちょっと長くて分かりにくかったかも知れませんが、参考になれば幸いです。
では。
    • good
    • 0
この回答へのお礼

たくさん書いてくれてありがとうございます!
よ~く読んで理解してみます。(やっぱむずかしいです・・・)

ありがとうございました!

お礼日時:2002/02/16 15:15

こんにちは.


これら全て,わからなかったら何もVBできないですよ.
現在本を読んでいるんでしょうか..?

関数とプロシージャ-が同じようなものと考えてください.
定数とは,ある値が決定しているものとでも言えばいいでしょうか..
Const で定義されているものがそうです.
例えば,Const PI = 3.141592
とすれば,絶対にPIは3.141592として使用できます.
数学の式で
S=2πrというのがありましたが,πの値は決まっていますよね?
それが定数です.

逆にさっきの式のrの部分が変数になります.
rの値は円の半径が変わることから,変わりますよね.
例えば Dimなどで宣言されます.
例:
Dim aa as integer
dim bb as integer
aa = 2
bb = aa
aa = 3
とすれば,始めaaには2が入っています.
そして,bbにaaの値が代入され,
aaには3が代入されることになります.
aaやbbの値がその時その時によって変わるのがわかりますでしょうか?

次に引数ですが,
関数やプロシージャに渡すデータの事をいいます.
例えば,akikaというプロシージャがあるとします.

Private sub akika(aa as integer, bb as integer)
Dim cc As Integer
cc = aa
aa = bb
bb = 3
end sub

というプロシージャがあるとします.
(これってプロシージャを作ってることになります)
aa,bbが引数に当たります.
それで,他のプロシージャからこのaikaプロシージャを呼び出すときに,
akikaプロシージャに渡す引数を指定します.

例えば,
call akika(5,4)
とかです.
この場合,aaには5,bbには4が渡されます.
渡すものは値であっても,変数名であってもいいですよ.
わからなければ
また答えます.
    • good
    • 0
この回答へのお礼

たくさんありがとうございます!

土日よく勉強してみます。

また質問するかもしれないですが、そのときはよろしくお願いしますね。

ありがとうございました!

お礼日時:2002/02/16 15:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング