プロが教えるわが家の防犯対策術!

こんにちは初歩的な質問ですいませんが、VB6.0にて関数を
呼び出して、求めた値を戻り値として返す方法は知ってい
ますが、2つ又は3つの値を返したい場合、どうやればよい
のでしょうか?

よろしくお願いします。

A 回答 (7件)

No.5(及び6)さんへ。



いやいや、こういうのは明示的にあえて記述する方がいいかも知れませんね。
    • good
    • 0

あ~、ごめんなさい。


参照渡しが既定なんですね。
失礼しましたm(_ _)m
    • good
    • 0

Public Function Keisan(a As Double, b As Double, resP As Double, resM As Double) As Long


 ↓
Public Function Keisan(a As Double, b As Double, ByRef resP As Double, ByRef resM As Double) As Long
では?
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

指摘した個所が正であれ誤りであれ、質問した私には
レスされた方の内容を鵜呑みにしてしまうので、他の方の
こういうご好意は大変うれしいです。

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

お礼日時:2003/11/19 13:10

No.1のmaruru01です。



ちょっと間違えているので訂正します。

ret = Keisan(a As Double, b As Double, Tashi As Double, Hiki As Double)

ret = Keisan(a, b, Tashi, Hiki)

です。
    • good
    • 0

お疲れ様です。


先々週からVBをはじめた初心者です。(VBではなくプログラムも初心者)

僕も最近知ったのですが、
hogehoge(引数1,引数2,返したい値1,返したい値2)と言った感じで
実際の処理に使う引数のほかに変数を指定してあげると
戻り値のほかに返したい値1,返したい値2にも値を格納→参照できます。
参照渡しとかそういったものらしいです。
詳しくは「参照渡し」で調べてみてくださいね。

詳しい方のフォローお願いします~。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

他の方に教えていただきましたし、検索してみたら
結構出てきました。
おかげでよくわかりました。

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

お礼日時:2003/11/19 13:05

関数はVBの中でのお話しでしょうか?


VBから呼び出す関数とは?

VBの中だけの世界であれば,グローバル変数を設定して,そこに値を入れて参照する。
という方法ではダメなのでしょうか?
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

グローバル変数に関しては、数が多くなりすぎたために
質問した次第です。

わざわざすいませんでした。

お礼日時:2003/11/19 13:07

こんにちは。

maruru01です。

ByRefで指定した(通常は省略している)引数に返せばいいと思います。
こんな感じで。


a = 100
b = 10
ret = Keisan(a As Double, b As Double, Tashi As Double, Hiki As Double)
MsgBox Tashi
MsgBox Hiki


***** プロシージャ部 *****

Public Function Keisan(a As Double, b As Double, resP As Double, resM As Double) As Long

  resP = a + b
  resM = a - b

End Function


あとは、戻り値を配列やユーザー定義型にするとか。
それか、グローバル変数を用意しておいて、それを介するとかでしょうか。
    • good
    • 0
この回答へのお礼

わざわざソースを記述していただきましてありがとうございます。
大変参考になります。

>それか、グローバル変数を用意しておいて、それを介するとかでしょうか。
先日までそうしていたんですが、グローバル変数のオン
パレードになってしまい、変数の数が膨大になりすぎて、
困っていたんですよ。。。

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

お礼日時:2003/11/19 13:04

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