Visual Studio 2005 VBでコンソールアプリを作成し、exeファイルをダブルクリックで実行する方法

このQ&Aのポイント
  • Visual Studio 2005 VBを使用して、コンソールアプリを作成し、exeファイルを作成する方法について教えてください。
  • 作成したexeファイルをダブルクリックすると、コンソールが表示され、連続した数値が表示されます。
  • キーボードの"q"キーを入力すると表示が停止します。プログラミング経験はPHPを半年ほどです。
回答を見る
  • ベストアンサー

visual studio 2005 VB のコンソールアプリに関して

やりたいこと: exeファイルを作成する。 そのexeファイルをダブルクリックすると、 コンソールが表示され、1,2,3,4,・・・・と表示を続ける。 キーボードの"q"が入力されると表示が停止する。 下記のソースコードで、コンソールが表示、1,2,3,4,・・・と表示、まではできたようです。 //////////////////// Module Module1 Sub Main() Dim number As Integer number = 1 Do Console.WriteLine(number) number = number + 1 Loop End Sub End Module //////////////////// できたというのは、VisualStudio上でF5キーを押してうまくいった、 ということです。 あとは、  ・キーボードの"q"の入力受付&停止処理  ・exeファイルを作成する ですが、コンソールアプリの情報がなかなかWEBから手に入りません。 有識者の方、ご教授いただけませんでしょうか。 プログラミング経験は、 PHPを半年ほどやっているだけです。 よろしくお願いします。 以上

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

  • ベストアンサー
  • miyuyu
  • ベストアンサー率61% (30/49)
回答No.1

こんにちは 私はコンソールアプリをやったことが無いのですが インテリセンス機能でConsoleをみるとそれらしいのがありますね Console.KeyAvailable と Console.ReadKey.KeyChar あたりを使って Loop内で判断すればよろしいのではないでしょうか exeは普通に[ツール][xxxxのビルド]ではダメなんですか?

関連するQ&A

  • visual studioについて

    visual studio express 2013の新規コンソールアプリの始めに出てくる Module Module1 Sub Main() End Sub End Module は何なのですか?消してもいいのですか? プログラムを書くときはこの下から書けば良いのですか? 教えてください。

  • VBで理解ができないところがあります

    初めまして、Y-Kobayashiです。 私はVisualBasicを勉強しているのですが、行き詰っております。 なぜかと言いますと、サンプルプログラムを打ち込んでも、そのままでは実行ができないからです。 使用している書籍は「かんたんVisual Basic(技術評論社)」というものです。 以下が、そのサンプルです。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー Module Module1 Private mName As String = "YOSHI" Sub Main() Dim SUJI As Integer = 3 If SUJI = 3 Then Console.WriteLine(mName) End If '-> Console.ReadLine() End Sub Sub DispMsg() Console.WriteLine("Hello {0}", mName) End Sub End Module ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー Sub Main()内のmNameは表示されるのですが、Sub DispMsg()内のものが表示されないのです。 一応、「'->」のある位置に「DispMsg()」と入れれば実行されるのですが、書籍にはそういった記載がありません。 どうすれば良いのでしょうか? 他にも、Subとはどういう意味なのか、Moduleとはどういう意味なのか、それらはどの様な働きをするのか等、最初から使う物にも関わらず記載がなされていないので、明確に認識ができない状態です。 SubはC言語でいうところの、関数の様なもの。 Moduleはそれらをまとめるグループ(?)もしくは関数の様なもの。 NameSpeaceはModuleをまとめるグループ(?)もしくは関数の様なもの。 という認識を持ちつつありますが、これで合っているのでしょうか? VBの参考書はこういった説明が省かれる傾向があるのでしょうか? 図書館で何冊か見ましたが、途中から出てくる単語の解説が無くなって行きます。 それらは大抵自動で入力されるのですが、意味が分からないと気持ち悪いです。 おすすめの参考書があれば教えてください。 よろしくお願いします。 乱文失礼しました。

  • 【VB2005】windowsアプリ初心者の素朴な質問

    23歳男性です。 visual studio 2005を使用して開発を行っております。 今まではコンソールアプリを開発してました。今後はwindowsアプリもやることになると思います。そこで前準備としてwindowsアプリについて色々と質問します。 【質問】コンソールアプリでは、例外処理は最上位で行っていました。windowsアプリでも同様のことができると考えていました。しかし、windowsアプリのほうには「main」がないように思います。 これはイベント毎にtry~catch文を記述するしかないのでしょうか?これだと極めてメンテナンスしにくくなっちゃうのですが・・・・・・ --console----------------------------------------------------- Module Module1 Sub Main() Try Process() Catch ex As Exception Console.WriteLine(ex.Message) End Try End Sub Sub process() (処理) End Sub End Module --windows----------------------------------------------------- Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click (try~catch文) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click (try~catch文) End Sub   ・・・・・・・・(イベントが増える毎にtry~catch文記述?) End Class

  • VB.NETのデリゲートについて

    VB.NETのデリゲートについて質問です。 以下のプログラムなのですが、 デリゲート型をインスタンス化しているところで、コンストラクタにパラメータを渡していますが、 そのコンストラクタはどこに定義されているのでしょうか。 (AddressOf t1.Ohayou)というパラメータが渡されていますが、このパラメータを受け取っているコンストラクタがどれなのかが分かりません。 ご教示よろしくお願いいたします。 Delegate Sub Myprint(ByVal s As String) Module Module1 Sub Main() Dim t1 As Test1 = New Test1() Dim t2 As TEst2 = New Test2() Dim d As Myprint = New Myprint(AddressOf t1.Ohayou) d.Invoke("VB太郎") d = New Myprint(AddressOf t2.Konbanwa) d.Invoke("VB太郎") End Sub End Module Class Test1 Sub Ohayou(ByVal s As String) Console.WriteLine("おはようございます。{0}です。", s) End Sub End Class Class Test2 Sub Konbanwa(ByVal s As String) Console.WriteLine("こんばんわ。{0}です。", s) End Sub End Class

  • VB.NETSystem.Xml 要素数を得るには

    VB.NETでSystem.Xmlを参照設定して以下のXMLファイル(test.xml)のsub4_9のtestの個数を得たいのですが domNode = domDoc.SelectSingleNode("top/sub4_9/test") Console.WriteLine("Count of top/sub4_9/test = " & domNode.?????) というようにしましたが?????の部分にLengthやCountがありません。 また、 rootElement = domDoc.DocumentElement domNodeList = rootElement.GetElementsByTagName("sub4_9/test") Console.WriteLine("Count of top/sub4_9/test = " & domNodeList.Count) というようにもしてみましたが個数は誤った0が返されます。 どのように記述すればsub4_9のtestの個数を得ることができるでしょうか。 ----test.xml------------- <top>  <sub1_1>   <test>123</test>   <test>451</test>    :  </sub1_1>    :  <sub4_9>   <test>432</test>   <test>123</test>   <test>745</test>    :  </sub4_9>    :  <sub9_5>   <test>222</test>    :  </sub9_5> </top> --VB.NET------------------------ Imports System.Xml Imports System.IO Module Module1  Sub Main()   Dim domDoc As New XmlDocument   Dim domNode As XmlNode   Dim domNodeList As XmlNodeList   Dim rootElement As XmlElement   domDoc.Load("test.xml")   rootElement = domDoc.DocumentElement   domNode = domDoc.SelectSingleNode("top/sub4_9/test")   Console.WriteLine("Count of top/sub4_9/test = " & domNode.?????)   domNodeList = rootElement.GetElementsByTagName("sub4_9/test")   Console.WriteLine("Count of top/sub4_9/test = " & domNodeList.Count)  End Sub End Module ----------------------------------- よろしくお願いします (WindpwsXP,VisualStudio2010)

  • VBでコンソールアプリの出力を取得したいのですが

    ネット上で入手したコマンドプロンプト上で使うアプリをGUIで操作できるようにしたく出力を取得したいのですが出来ません。 ネットで出力の取得方法を調べて下記のようにしているのですがどうやっても取得できません・・・ (ipconfig や dir 等は問題なく取得できたのですが・・・) VBは2008です Dim p As New Process() p.StartInfo.FileName = "cmd.exe" ' 実行するファイル p.StartInfo.Arguments = "aaa.exe" ' 目的のアプリ p.StartInfo.CreateNoWindow = True ' コンソールを開かない p.StartInfo.UseShellExecute = False ' シェル機能を使用しない p.StartInfo.RedirectStandardOutput = True ' 標準出力をリダイレクト p.Start() ' アプリの実行開始 Dim output As String = p.StandardOutput.ReadToEnd() ' 標準出力の読み取り output = output.Replace(vbCr + vbCrLf, vbLf) ' 改行コードの修正 TextBox1.Text = output ' [出力]ウィンドウに出力 試しに自分で文字を表示するだけのコンソールアプリを作成して試したのですがそれは取得できました。 目的のアプリが特殊なのでしょうか? ソースがあったので見てみたのですがC言語だった為詳しくわからなかったのですが、出力は「Console.WriteLine」ではなく「fputs」を使用して出力していました・・・これが原因なのでしょうか? どうにかして、出力を取得する方法はないものでしょうか? よろしくお願いします。

  • VB.2005でXMLを読み込む時のパス設定

    Javaで作成されたXMLをVB.net2005で読み取る際にVBでのXMLへのパス指定に関する質問です。開発環境はVisualStadio2005です。 javaで「D\Sample.xml」(適当なフォルダーに)を吐き出し。 ***VB***↓ Imports System.Xml Module Module1 Sub Main(ByVal args() As String) 'XMLファイルの読取り Dim xmlRdr As New XmlTextReader(args(0).Trim()) xmlRdr.Read() Console.WriteLine("タグ名:" + xmlRdr.LocalName) Console.WriteLine("値:" + xmlRdr.ReadString()) xmlRdr.Close() EnD Sub End Module プロジェクトのプロパティページのデバッグでコマンドライン引数指定で「D\Sample.xml」を指定。 しかし、読み込まれるのは\objの\Releaseと\のDebug上のxmlを読み込んでしまいます。しかも自動バックアップ?の関係で上記コードに無い作動(上記だと読み込みだけだが、先に作ったXML作成モジュールを実行してしまう)でXMLを自動作成してしまいます。 好きな場所のファイル名を指定させる方法を教えて下さい。 普段はEclipse+Javaで開発を行っていてEclipseのパス設定感覚ではうまくいかないのですか?

  • vb2005でXmlReaderの使い方

    xmlファイルの読込がうまくいきません。どこが間違っているでしょうか。 参考にしたページ http://msdn.microsoft.com/ja-jp/library/ayf5ffy5(v=vs.80).aspx -----xmlファイルここから----- <root> <parentnode1> <childnode1>100</childnode1> </parentnode1> <parentnode2>20</parentnode2> </root> -----xmlファイルこまで----- -----コードここから----- Sub Main() Dim b As Boolean Dim objXmlR As XmlReader = XmlReader.Create("c:\temp\sample.xml") objXmlR.MoveToContent() b = objXmlR.ReadToDescendant("parentnode1") Console.WriteLine(objXmlR.Name) '「parentnode1」を出力 Console.WriteLine(objXmlR.Value) '「」を出力 b = objXmlR.ReadToDescendant("childnode1") Console.WriteLine(objXmlR.Name) '「childnode1」を出力 Console.WriteLine(objXmlR.Value) '「」を出力。ここで「100」が出て欲しい End Sub -----コードここまで----- 基本的なことだと思いますがよろしくお願いします。

  • vb.netでByte型の実配列サイズが大きい件

    vb.netでByte型の配列を100byteで宣言しましたが、実際の配列サイズは101byteになりました。 (例) Module Module1 Sub Main() Dim buffSize As Integer = 100 Dim inputBuff(buffSize) As Byte Dim ii As Integer = inputBuff.Length Console.WriteLine("バッファサイズ = {0}", ii) End Sub End Module ここで、iiは、101となります。 CとかC++では、有り得ない仕様ですが、どういう意味が有るのでしょうか? ご教示お願い致します。

  • コンソールアプリの入出力制御

    早速ですが、質問させていただきます。 現在、CUIのコンソールアプリケーションをキーボードの入力より、メニューの制御などを行っています。 コンソールアプリケーションは以下のようなメニュー・設定 などが表示され、それぞれ、キーボードより選択を行う形となっております。 ==== Menu ===== 1.test1 2.test2 3.test3 > テスト番号を入力してください: 上記のような入力がいたるところに存在し、大変手間となっております。 そこで、外部のソフトから、本コンソールアプリの入出力制御が出来ればと考えております。 この場合、バッチファイルなどでコンソールアプリへの制御が可能なのでしょうか?

専門家に質問してみよう