• ベストアンサー

フォーム間での変数の受け渡し

VB6で、例えばForm1からForm2を呼び出す際に、Form2のローカル変数へ値を渡すことは可能でしょうか? プロジェクト内のPublic変数にするしかないでしょうか? 基本的質問かもしれませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Form2でPublic宣言していれば、普通に Form2.変数名 で使用できます。

MusaGoro
質問者

お礼

otto0001otto様 お礼が遅れて、失礼しました。 実に簡単なことだったんですね。趣味でVBを使っていて、基礎が不十分のようです。 ありがとうございました。

その他の回答 (2)

回答No.3

#1 です。 > Form2でPublic宣言していれば、普通に > Form2.変数名 > で使用できます。 でもいいんですが、この際だから質問者さんには Property と Public変数の違いについては勉強しておいてもらう必要がありますね。 Public変数の場合は Form2 の中で Public変数を宣言するだけ。 これだけで外から丸見えだし、読み書きができる。 Property の場合は、Form2 の中で Private変数を宣言しておき、外からは Property プロシージャを通して読み書きする。 最終的に、受け取った値は Private で宣言した変数に格納しておく。 Property Get プロシージャの中で、受け取った値にチェックを掛けたり、加工したり、ひと手間を掛けられる。 Property Get だけ書いて Property Let を書かなかった場合は、いわゆる「読み取り専用」のプロパティにすることができる。 私としてはカプセル化するためにプロパティを使う方がオススメ。クラスとか使い出すであろう今後のためにもなります。 とりあえず両方のパターンを解説しているページを参考にしてみてください。 http://homepage1.nifty.com/rucio/main/shokyu/jugyou28.htm

回答No.1

Form2 にプロパティを作っちゃえばいいんじゃないですか? とりあえず Property Get と Property Let についてお勉強。 http://homepage1.nifty.com/rucio/main/shokyu/jugyou28.htm

関連するQ&A

  • プロジェクト(フォーム)を越えての変数の宣言(値の受渡)

    VB初心者です VBにてForm1にて変数XにX="○○"と設定するコードを記述してその値を引き続いてForm2にてX="○○"で使用したい。 VBAのようにForm1でPublic宣言をしてもForm2では『変数が設定されていません』とエラーが出ます。 いろいろ調べているとプロパティにて変数設定を行うようなのですが Get・Set・Returnがよく理解できず困っています。 また実際にForm1・Form2に記述するときはどんなふうになるのでしょうか? よろしくお願いします。

  • Form2の変数をForm1にも

    あるプロジェクト内で「Form2.vb」を作成して、そこで変数(例えば X=1)を作り それを「Form1.vb」や、「Form3.vb」などで共有するにはどうすればいいでしょうか。 ご回答よろしくお願いします。

  • 変数の受け渡し

    いつもお世話になっております。 vb初心者です。 vb6で外部ファイル(バッチファイル)をshellで起動させ、 そのバッチファイルにvb6で設定した変数を読み込ませたいのですが vb6から変数をその外部のバッチファイルに送ることは可能なのでしょうか? ご教授宜しくお願いします。

  • 変数の受け渡し

    質問.1 hoge.phpから header('Location: hoge2.php');でページ移動させた場合、hoge.phpで使っていた変数をhoge2.phpに渡す方法ってありますか?クッキーやSESSION以外の方法があればおねがします、formの値をhoge2.phpに渡したいのです 質問2 クッキーはhoge.phpでセットした後、同じページ内で削除はできないのですか?

    • ベストアンサー
    • PHP
  • VC++2008 フォーム間の変数の受け渡しについて

    フォーム1で DateTime d1; int year; d1 = DateTime::Now; year = System::Int32::Parse( d1.ToString("yyyy") ); で読み込んだ現在の年数を、フォーム2で使いたい場合どうすればいいのでしょうか? private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Form2^ f = gcnew Form2(); f->Show(); } でForm2を読み込んでいるので、ここに「変数yearを使う」旨を書けばいいのかとも思いましたが、うまく行きませんでした。 使用しているのはVisualC++2008 ExpressEdition。 ボタンをクリックすると別フォームを表示して、そこで元のフォームで使った変数を使おうと考えています。

  • 変数の受け渡しについて

    MS-DOSのBATファイル内に「VBで作成したEXEファイルをCALLする」記述を 追記しようと思っています。 全体の流れは、BATファイルの処理中に使用している変数をEXEファイルに引き渡し、 EXEファイルは受け取った変数の条件分岐処理をし、その結果を再びBATファイルに 返すことです。 教えていただきたい内容は、変数を受け取る際および引き渡す際の記述の仕方についてです。 ちなみにEXEファイルの処理内容は、受け取った変数(日付:YYMMDD書式)のMMの箇所が 「01~03」の場合はAを、「04~09」の場合はB、「10~12」の場合はCを 新しい変数としてBATファイルに返すことです。 どうかよろしくお願い致します。

  • ある変数の別のフォーム中での利用

    Visual Basicに関する質問です。 あるフォーム(Form1)中で変数を定義しました(Public変数として)。 このフォーム中で変数に「適当な文字」を代入します。 この文字を別のフォーム(Form2)中にあるフレーム(Frame1)のキャプション(Frame1.Caption)に表示させる(引用する)にはどうすればよいのでしょうか? 基本的な質問ですが,よろしくお願いします。

  • 関数への変数の受け渡しについて

    関数に変数を受け渡すとき、配列とそれ以外の変数では受け渡すものが違いますよね。 変数の場合は、変数の値を関数側の変数にコピーする。 配列の場合は、配列そのもの(配列のポインタ)を関数に渡す。 なぜ配列の場合は値のコピーではなくて、ポインタを渡す仕様になっているんでしょうか。 ひとつめは、どのような意図でそのような仕様になっているのかという質問です。 もうひとつは、関数に配列の値だけを渡すにはどうすればいいのか、つまり元の配列のほうの値は書き換えないで欲しいというときはどうすればよいのかという質問です。 よろしくおねがいします。

  • フォームを使った配列変数の受け渡し

    PHP初心者です、よろしくお願いします。 フォームからPHPで配列変数を受け渡すことを考えています。 一次元配列はうまく渡せましたので、これを二次元にしましたところ、 うまく渡せません。基本的なPHPの文法がわかってないので、つまづい ています。多分、配列変数の記述方法がおかしいのだと思うのですが・・。 ご教授よろしくお願いします。 <html> <body> <form method = "POST" action ="test2.php" > <?php //データ渡し側 for ($i = 0 ;$i < 2 ;$i ++){ for ($j=0 ;$j <2;$j ++ ){ echo ("<input type ='text' name = 'data[$i][$j]' size ='10'>\n"); echo ("<br>\n"); } echo ("</tr>\n"); } ?> <input type="submit" name ="sbmit" value="data_input" > </form> </body> </html> <?php //データ受け側 for ($i = 0 ;$i < 2 ;$i ++){ for ($j=0 ;$j < 2;$j ++ ){ $tmp_data[$i][$j] = $_POST["data"][$i][$j]; echo ("$tmp_data[$i][$j] <br>\n"); } } ?> <html> <body> <form method = "POST" action ="test2.php" > <?php for ($i = 0 ;$i < 2 ;$i ++){ for ($j=0 ;$j <2;$j ++ ){ echo ("<input type ='text' name = 'data[$i][$j]' size ='10' value='$tmp_data[$i][$j]'>\n"); echo ("<br>\n"); } } ?> </table> <input type="submit" name ="sbmit" value="in" > </form> </body> </html> 実行結果は、 Array[0] Array[1] Array[0] Array[1] と表示されて、実際の入力した値が反映されません。

    • ベストアンサー
    • PHP
  • 値の受け渡しについて…

    .NETで、form1で宣言された変数の数値を、form2に受け渡すにはどうすればよいでしょうか? それと追加の質問で申し訳ないのですが、form1のコード内で form2のラベルに、form1で宣言してある値を表示出来るのでしょうか? 詳しい方教えていただけませんか?

専門家に質問してみよう