Japan*
クイック ナビ|ホーム|各国のサイト
MSDN*
マイクロソフト サイトの検索:
Windows Live ID
ホーム 検索 マイ スレッド メンバ一覧 トップ回答者 FAQ  
Visual Basic フォーラム
VB2008 Main となるような関数

スレッド開始者:strcat   開始日時:14 7 2008 5:11 午前 UTC   返信数:9
スレッド情報
最新の回答 : 17 7 2008, 7:20 午後 UTC
参照回数 : 1803
有用な投稿 : 0
状態: 回答済み
 MSDN フォーラム » Visual Studio » Visual Basic フォーラム » VB2008 Main となるような関数
RSS の取得RSS の取得
      « 前のスレッド   次のスレッド »
  14 7 2008, 5:11 午前 UTC
strcat
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数33
VB2008 Main となるような関数
回答済みの質問 この投稿は参考になりましたか?
返信 引用

申し訳ないのですが OS初心者なので教えて欲しいのですが

VBの場合 C言語で言うmain()関数のようにいつも動作しているような SUBを宣言できるんでしょうか。

Form1とかがそれに近いように思うのですが。Form1に無限ループを作るとForm1自体(ボタンなど)が現れなくなります。

 

たとえば

 

*********************

Static  int A =0; // May be modified by int Func

 

main()

{

for( ; ; ){

        If(A==1)  //Waiting

          { Subprocess1();}

       else

          {; // Do nothing}

       } //End loop

}

   

************************ 

見たいなことできないのでしょうか


jokb

   誹謗中傷の報告  
  14 7 2008, 5:21 午前 UTC
Azulean
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数779
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

 strcat さんからの引用

申し訳ないのですが OS初心者なので教えて欲しいのですが

OS初心者とは一体何かよく分かりません。

Windowsプログラミングの経験がないということでしょうか。

 

 strcat さんからの引用

VBの場合 C言語で言うmain()関数のようにいつも動作しているような SUBを宣言できるんでしょうか。

.NETでの開発においては、ずっと動作しているようなコードは隠蔽されています。(メッセージループを回している部分を意図しています)

フォーム(ウィンドウ)を表示する必要がなく、コンソールに文字を出すようなアプリであれば、コンソールアプリケーションとしてプロジェクトを作成して下さい。

 

 strcat さんからの引用

Form1とかがそれに近いように思うのですが。Form1に無限ループを作るとForm1自体(ボタンなど)が現れなくなります。

Form1を表示しつつ、何らかのループ処理を行いたいのであれば、その処理によって対応方法が異なります。

定期的に何かするだけであればTimerコントロールを使い、ずっと裏で走らせたいならBackgroundWorkerコンポーネントやThreadクラス・ThreadPoolクラスを使うことを検討しましょう。

 

 

とりあえず、Windowsプログラミングについて馴染んでおいた方が良いかと思います。

C言語がどうとか、VBがどうとか、C#がどうとか以前に、概念的なものを学んでおかないと、低レベルな部分の話は難しく感じますので。


「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)

   誹謗中傷の報告  
  14 7 2008, 6:29 午前 UTC
strcat
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数33
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

ご教授ありがとうございます。

OS初心者とは,WINDOWSプログラミングの初心者と言う意味に近いです。タイマーで定期的にイベントを発生させるという考え方が思いつかないのです。Windowsでのプログラミングに慣れるために、質問させていただいてます。お時間あれば以下教えていただけませんか。

1)

VBでもっとも判らないのが、グローバル変数(Static変数)をプログラム上の各イン関数が参照するということをどう考えているかです。

2) Form1とは、なんのためにあるのですか。 Form1クラスのインスタンスとして宣言すればForm1内で宣言されるすべての変数(Subなどと同じ階層)は、たのSubからStatic変数としてアクセスできるのですか

 

 




jokb

   誹謗中傷の報告  
  14 7 2008, 7:00 午前 UTC
外池
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数380
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

外池と申します。

 

まず、私の独断で、(もし、的外れだったら、平にご容赦を)

 

strcatさんがイメージしておられる(作りたいと思っておられる)プログラムは、VB2008で言うところの「コンソール・アプリケーション」だと思います。VB2008で「ファイル」メニューで「新しいプロジェクト」に進めば、アプリケーションのタイプを選んで作り始めることができますので、そこで「コンソール・アプリケーション」を選択してください。そうすれば、まさに、Sub Main()で始まるプログラムが書けるようになります。コンソール・アプリケーションですので、ビルドして出来上がったexeファイルを実行すれば、コマンド・プロンプトの画面(超昔風に言えば「DOS窓」というやつ)が現れて、文字の出力や入力ができるようになります。延々長い計算をさせつつ、途中経過の結果を文字で出力していくこともできます。

 

一方で、

 

Windows風の、メニューや、ボタンや、テキストを入力する箱、あと、図・画像を描く領域などを含むいわゆるウィンドウでユーザーとインターフェイスしながら動作していくプログラムも作れますが、これは「Windowsアプリケーション」と呼ばれています。(ここから先、オブジェクト指向プログラミングの用語を使います。) このアプリケーションでは、ひとつのウィンドウは、ひとつのオブジェクトです。オブジェクトを取り扱うためには、プログラムの中でクラスを定義しなければなりません。その定義がForm1です。(「Form1とは、なんのためにあるのですか。」のご質問に対する回答です。)

 

順序が逆になりますが、VBではStaticというキーワードは、グローバル変数を意味しませんので、ご注意ください。グローバル変数とは、Module(クラスのようなものですがインスタンスは作れません。)の中でPublicで宣言された変数のことです。Moduleには、この他、プログラムのどこからでも呼び出せるSubやFunctionも置くことができます。

 

「Form1クラスのインスタンスとして宣言すれば」以降のご質問は、申し訳ありません、ご質問自体が、私には理解できません。と言うのも、使っておられる用語の組み合わせが、VBでは意味が通らないことばかりなので。

 

 

 




(ホームページを再開しました)

   誹謗中傷の報告  
  14 7 2008, 7:18 午前 UTC
Azulean
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数779
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用
 strcat さんからの引用

1)

VBでもっとも判らないのが、グローバル変数(Static変数)をプログラム上の各イン関数が参照するということをどう考えているかです。

.NETの開発では、グローバル変数はあまり使用しません。

また、グローバル変数を多用すると、動きが分かりにくくなる、どこからでも書き換えができる等で不具合を生む要因になりやすく、敬遠されることが増えてきています。

 

 strcat さんからの引用

2) Form1とは、なんのためにあるのですか。

何のために存在するかを決めるのは、作る人次第です。

Windowsアプリケーションではユーザからの入力を受け取ったり、情報を表示したりするための窓としてウィンドウ(フォーム)を使用します。Form1はそれのひな形として用意されているものです。

 

 strcat さんからの引用

Form1クラスのインスタンスとして宣言すればForm1内で宣言されるすべての変数(Subなどと同じ階層)は、たのSubからStatic変数としてアクセスできるのですか

Static変数の理解をまず考えて下さい。

その上で、Sharedキーワードをつけた変数・プロパティ・メソッドがどのように働くかを考えて下さい。

http://msdn.microsoft.com/ja-jp/library/zc2b427x(VS.80).aspx

 

インスタンスのメンバである場合、インスタンスが必要であるため、どこからでもアクセスできるわけではありません。

逆にSharedキーワードがついたメンバである場合は、クラスが使える場所ならどこでもアクセスできます。

 

 

しかし、以前にも書きましたが、本当にstaticじゃないと実現できないのですか?

関数の引数や、クラスのメンバーとして覆うことで避けられると可能性が高いのですが、クラスを使ってカプセル化といったことも検討してみませんか?




「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)

   誹謗中傷の報告  
  16 7 2008, 8:53 午後 UTC
れおです
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数9
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

 

☆が付いた。(バンザイ)。strcat()さん。

いやぁ、ウマシカれおです。

public class form1のすぐ下の行に

Private x As Integer = 5

とか宣言できます。実行処理は無理みたい。

formは、Runさせると実際は、無限loop状態です。

Button1_Clickとかのイベントは高速言語(マシン語)ではIFの状態です。

c++のint()とDimとか、privateの宣言は意味が全然に違います。

勉強暦。一カ月なんでアレですが。

 


   誹謗中傷の報告  
  16 7 2008, 9:11 午後 UTC
れおです
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数9
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

vbのc++でした?

basicと思ったんで。(汗)ではでは。

   誹謗中傷の報告  
  17 7 2008, 1:59 午前 UTC
strcat
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数33
回答 Re: VB2008 Main となるような関数
回答 この投稿は参考になりましたか?
返信 引用

スレたてて放置したみたいですが、ご容赦ください。ご教授いただいたかた皆様ありがとうございます。VBの用語の理解があやふやで、メンバとインスタンスを間違ったりして、うまく質問できていないです。そこを汲み取ってお答えいただいていますが、自分の理解スピードが遅くまた、HELPの説明も難解なためぜんぜん前に進めません。やはり参考プログラムを見てみるべきなのでしょうか。 




jokb

   誹謗中傷の報告  
  17 7 2008, 7:11 午後 UTC
れおです
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数9
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

 

多分、strcatさんは、他の言語とかでは、プロ並?

勉強暦が1カ月なんでアレなんですが。ここの敷居は高いみたい。

私は、日経さんのVB2008の本を買いました。

ループみたいな・・・のトコは、なんとなく、同じ初心者として、わかります。

例えば、Form1をRunさせて、ボタンを押すと、COMパックマンが5匹、Formの中を走りまわす。とか簡単にできますよ。

こうゆう感じの意味合いかな?

サブル-チンの中に100個のサブを作れます。

オリジナルのサブも作れます。

VB2008は、すごいね。一番下の無料2008の奴ですけど。

c++とかc#も原理は似てます。

イベントの部分は、IFに見立てれば理解しやすいです。

オブジェクトは、c++の変数の&H参照と原理は同じです。

やり方の方法だけですね。


   誹謗中傷の報告  
  17 7 2008, 7:20 午後 UTC
れおです
これらの星は、フォーラムの参加状況を示します。さまざまなレベルの星やポイントの取得方法については、「よく寄せられる質問 (FAQ)」を参照してください。


投稿数9
Re: VB2008 Main となるような関数
コメント この投稿は参考になりましたか?
返信 引用

subを100個呼べるに変更です。

誤字、脱字はあるかも。ではでは。


   誹謗中傷の報告  
 ページ 1/1 (10 項目)
MSDN フォーラム » Visual Studio » Visual Basic フォーラム » VB2008 Main となるような関数

RSS の取得RSS の取得

© 2008 Microsoft Corporation. All rights reserved. 使用条件 |商標 |プライバシー |日本での個人情報の取り扱い
Microsoft