トップ回答者
Visual Studio2010のプロジェクト作成

質問
-
今までVisual Basic6.0で作成していたプログラムをVisual Studio 2010で作成をしていているのですけれど、
ファイルの構成の所で解らないところが出てきてしまいました(Visual Studio 2010初めてのプログラミング)。
[Visual Basic6.0で作成したあるプログラムの構成]-------------------------------------------------------
プロジェクトファイル(.VBP)
・フォーム(.FRM) →2ファイル(メイン画面と設定を主に行う画面)
・標準モジュール(.BAS)→1ファイル(共通で使用できるプロシージャ類、共通で使用する変数類定義)
--------------------------------------------------------------------------------------------------------
という具合に作成、構成したいのですけれど、ファイル構成、組み込み方についていろいろWEB上でのサポート情報を見ているん
ですけど.....絞れません。
何とか、上の構成で標準モジュール以外は作成してるんですが、ソリューションにモジュールを組み込むところでつまってます。
.VPファイルは.FRMファイルとは違うと考えていいのでしょうか?。
回答
-
.v「p」ではなく、.v「b」です。
前回の書き込みにもありますが、ソースファイルの拡張子はいずれも.vbとなっています。Form1.vbのアイコンが異なるのは、それがSystem.Windows.Forms.Formクラスを継承しているクラスだからです。
Formクラスを継承するクラスは、Visual Studioのデザイナー機能を使用してVB6.0などと同様の感覚でフォームをデザインできます。
貴方が追加されたModule1.vbなどに表示されている青いアイコンは単なるソースファイルであって、その中身をModuleとするのか、Classとするのかは貴方自身がコードを書いて決定する事です。VB6.0でいうところの標準モジュールを定義したいのであれば、下記のように記述します。
(恐らく、ファイルを追加した時点で下記のようなコードが自動生成されているものと思います。)Public Module モジュール名 End Module
あとはModule~End Moduleの中にSub、Functionを定義してください。
また、これからも引き続きVB.NETを使用するのであれば、オブジェクト指向などの概念を習得する事をお勧めします。
-
具体的に何をどうされたいのでしょう。
VB6.0以前では拡張子によってモジュールの種類(標準モジュール、クラスモジュール、フォーム)を区別しますが、VB.NET以降ではソースファイルはいずれも.vbに統一されています。
ですから、フォームもモジュールもクラスも全て.vbファイルに記述します。とりあえず、VSのメニューから「新しいプロジェクト」->「Windows Forms アプリケーション」を選択すれば、フォームを表示できるプロジェクトのテンプレートが出来上がります。
すべての返信
-
具体的に何をどうされたいのでしょう。
VB6.0以前では拡張子によってモジュールの種類(標準モジュール、クラスモジュール、フォーム)を区別しますが、VB.NET以降ではソースファイルはいずれも.vbに統一されています。
ですから、フォームもモジュールもクラスも全て.vbファイルに記述します。とりあえず、VSのメニューから「新しいプロジェクト」->「Windows Forms アプリケーション」を選択すれば、フォームを表示できるプロジェクトのテンプレートが出来上がります。
-
具体的に何をどうされたいのでしょう。
VB6で作成したプロジェクトファイルをVisual Studio 2010で再現したくて、コードを見ながら作成しています。
プログラムは、タイマーを使用して、受信ファイルからデータを読み込み、読み込んだデータを保存します。
[プログラム構成]-------------------------------------------------------------------------------------
(プロジェクトファイル)Moniter.vbp→Moniter.exe
(Form1.frm)→モニター画面(現在時刻と読み込み時刻の表示)Timer使用。
・処理読み込み時刻になると、データ読み込み処理を行う
・読み込み時刻の設定項目(MenueEditer項目)→Form2.Show
(Form2.frm)→読み込み時刻の設定を行う画面
・Form1のMenuEditerから継続(この時、Timer=off、Form1.Hide)
・設定終了(Form1に制御継続。Timer=on、Unload Form2してForm1.Show)
(Main.bas)→ファイル読み込み、書き込み操作、時刻の算出計算などを行うプロシージャ定義
---------------------------------------------------------------------------------------------------
としたくて、(Main.bas)を作成したくて、「ソリューションエクスプローラ」から”追加”→”モジュール”すると「Module1.vp」
が「ソリューションエクスプローラ」に追加されました。見るとForm1.vpと違って、表示された"アイコン絵”が違ってるので
Form1.vpと使用が違うのでしょうか。VB6みたいな感覚でModule1.vpを(Main.bas)と同じと考えていいの
でしょうか?
(土、日でコマンドなどは勉強したんですけどまだまだだいぶVB6の感覚が身についてるみたいで勉強します.)
- 編集済み K's 2012年6月18日 3:22
-
.v「p」ではなく、.v「b」です。
前回の書き込みにもありますが、ソースファイルの拡張子はいずれも.vbとなっています。Form1.vbのアイコンが異なるのは、それがSystem.Windows.Forms.Formクラスを継承しているクラスだからです。
Formクラスを継承するクラスは、Visual Studioのデザイナー機能を使用してVB6.0などと同様の感覚でフォームをデザインできます。
貴方が追加されたModule1.vbなどに表示されている青いアイコンは単なるソースファイルであって、その中身をModuleとするのか、Classとするのかは貴方自身がコードを書いて決定する事です。VB6.0でいうところの標準モジュールを定義したいのであれば、下記のように記述します。
(恐らく、ファイルを追加した時点で下記のようなコードが自動生成されているものと思います。)Public Module モジュール名 End Module
あとはModule~End Moduleの中にSub、Functionを定義してください。
また、これからも引き続きVB.NETを使用するのであれば、オブジェクト指向などの概念を習得する事をお勧めします。
-
NF64さん、間違いの指摘有難うございます。
C++やC#では、VB6.0で使用していた"標準モジュール"はなく、Visual Basic固有の呼び方?、なんですね。
サイトhttp://code.msdn.microsoft.com/windowsdesktop/14-Visual-Basic-Module-2c407099に
モジュールに関する記述を見て勉強になりました。VB.NETを使用していくつもりなので、オブジェクト指向などの概念を
習得して、早くVisual Basic6.0からの考えをvb.netへ切り替えていかないと追いつかないですね。(反省..)
これからまだ、vb6.0のプログラムの移行を進めていくと、ファイル関連の操作が出てくるので、またいくつか問題に
ぶつかる予感がするので、なるべく自分で調べてみてどうしてもわからない箇所がでてきたら、質問させて下さい。
(NF64さん、有難うございました。少しですけど先に進むことが出来ました。)