No.2ベストアンサー
- 回答日時:
こんにちは。
maruru01です。これらの言葉はVB特有のものではないので、一般的な、昔私がしてもらったような説明をします。
定数と変数は値を入れる入れ物です。
定数は一度入れたら中身の変更は出来ません。No.1の方も例に出していましたが、「π」という箱に「3.141592」という数字を入れておいて、使いたい時にその箱を持って来ます。いちいちその都度「3.141592」という数字を記述しなくても、「π」という箱の名前を使えばよくなります。
変数は何度でも中身を変更出来ます。例えば、ある時点では「5」が入っていたけど、その後「7」を入れておきたければ、中身を変更します。そうすれば、その後は「7」として使えます。
次に、関数とプロシージャはこれもNo.1の方が言っているように同じようなものです。ただし、プロシージャにはSubプロシージャと、Functionプロシージャがあり、一般的な関数はFunctionプロシージャと同じようなものといえます。
どちらのプロシージャも、ある動作・仕事をする装置といえます。
例えば、スイッチを押すと家の電気がつくという場合、この電気をつける装置(仕組み)がプロシージャというわけです。スイッチを押すというのは、プロシージャを呼び出すことにあたります。
また、スイッチを押すだけじゃなく、ドアをあけたときとか、部屋に入ったときとかにも電気がつくかも知れません。そのような、人(ユーザー)がどんな動作をした時にその装置が動く(プロシージャが呼び出される)かは、作る人の自由です。
また、SubとFunctionプロシージャの違いは、具体的な結果をユーザーに返すかどうかの違いです。
例えば、ミキサーに材料と入れてスイッチを押すとミックスジュース(?)を返してくれます。このように具体的な結果(値)を返してくれるのがFunctionプロシージャで、何か動作をするだけなのがSubプロシージャです。この結果を戻り値と言います。
さらに、このミキサーには当然材料を入れないと結果は返ってこないですが、この材料が、ちょうど引数にあたります。
引数には入れていいものとまずいものがあります。ミキサーに例えば貴金属を入れたら壊れてしまいますよね。
また入れる材料(引数)が変われば、ミキサー(プロシージャ)が返してくれるジュース(戻り値)も変わってきます。
VBというのは、ユーザーが何か動作をした(ボタンをクリックした、リストから選択した、テキストボックスに何か入力したなど)時に、その動作(イベントと言います)に対応したプロシージャを呼び出します。さらにそのプロシージャの動作のなかで、別のプロシージャを呼び出したりします。
そういうプロシージャの集まりがVBというわけです。
ちょっと長くて分かりにくかったかも知れませんが、参考になれば幸いです。
では。
この回答へのお礼
お礼日時:2002/02/16 15:15
たくさん書いてくれてありがとうございます!
よ~く読んで理解してみます。(やっぱむずかしいです・・・)
ありがとうございました!
No.1
- 回答日時:
こんにちは.
これら全て,わからなかったら何も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が渡されます.
渡すものは値であっても,変数名であってもいいですよ.
わからなければ
また答えます.
この回答へのお礼
お礼日時:2002/02/16 15:16
たくさんありがとうございます!
土日よく勉強してみます。
また質問するかもしれないですが、そのときはよろしくお願いしますね。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript useStateの分割代入について 1 2022/05/06 10:02
- 数学 モデルのパラメータの定義がいまいちわかりません。 3 2022/10/11 15:16
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- 物理学 2物体の単振動 1 2023/08/17 20:27
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- AI・ロボット 質問です。 最近、いや以前からAI生成を始めたのですが、AI生成のことで「?」と思ったことがありまし 1 2023/08/20 23:02
- 数学 ラグランジュの未定乗数法を用いる問題 3 2023/05/15 14:48
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VB6.0】 あるフォームから他...
-
VB6のFriendについて
-
定数を構造体で・・・
-
プログラムの素朴な質問です 分...
-
プロシージャまたは関数の引数...
-
PL/SQLのプロシージャ間でカー...
-
C#のループでtextboxに値を入れ...
-
二点の座標から距離や角度を求...
-
VB.NETでのイベントの途中終了
-
エクセルVBAでテキストボッ...
-
C言語のサフィックスについて
-
VBAでcallで呼び出したsubを終...
-
他のフォームから別のフォーム...
-
pthread_cond_waitとptherad_co...
-
VC++ (byte)(col & 0xFF) の意味
-
Pythonでのstrip()とsplit()の...
-
perlによるxmlファイルの取得
-
sublimit textっていうエディタ...
-
レコードセットにnullの場合
-
C言語で10行10列の行列式の値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムの素朴な質問です 分...
-
【VB6.0】 あるフォームから他...
-
定数を構造体で・・・
-
プロシージャまたは関数の引数...
-
Excel vba で複数のテキストの...
-
【VBScript】変数のスコープ
-
パーソナルXLSBのfuctionを呼び...
-
【HTML、VBScript】HTAアプリケ...
-
プロシージャを呼び出したプロ...
-
VB6のFriendについて
-
PL/SQLのプロシージャ間でカー...
-
ExcelのVBA。Staticな変数について
-
HTML + VBScript で Sleep でき...
-
整数を二つ読み込み、それらの...
-
プロシージャの引数の取り得る...
-
Excel VBA カーソルを当てた際...
-
subを連続で実行する
-
三項でたとえば交換って
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
おすすめ情報