第1講 はじめてのVisual Basic体験
第4話 Visual Basicによるはじめてのプログラム体験
それでははじめてのVisual Basicプログラムを組んでみましょう。
まずvsc(Visual Studio Community 2017)を起動して、
001

001
新しいプロジェクトクリックします。
002
003004
005
Visual Basicのコンソールアプリ(.NET Framework)を選びます。
すると青い枠のように自動的に名前・場所・ソリューション名がはいります。
最も初めての方はConsoleApp2ではなくConsoleApp1となっているはずですが。
これらはただの名前ですから、
何でもよいのですが、
初心者の方は自動で入ったままで、OKを押しましょう。
(このサイトで何度も強調しますが、
名前は他と区別する以外の意味は一切ありません。
特に初心者の方は名前自体に意味があると考えがちで、
プログラムコードの中の変数名などもすべてテキストと同じにしなければならず、
うまくいかない場合に名前を変えたことが原因であると考えがちですが、
名前は、禁則さえ犯さなければ自由に付けられますし、
他の家の犬と区別するためにポチなどと名付けることと変わりません。
名前自体には、他と区別する以外の意味はないことを頭に強く刻み込んで下さい。
また、場所については、D:ドライブにvb2017にようなフォルダを作っておいて、
D:\vb2017とされても結構です。
フォルダを作るにはエクスプローラー起動して、
013タスクバーにある□で囲んであるアイコンをクリックすれば、
エクスプローラーは起動します。)
014ローカルディスク(D:)→新規作成→フォルダー
の順に選び015フォルダ名をvb2017などとすれば良いのです。)
名前が入ったら006を押します。)

しばらく待つと、
006
という画面になります。
007の部分が第2話で説明したエディタ(プログラムコードを書き込むワープロ)
になります。
ただし、皆さんの画面には左の1245678という数字はでていないと思います。
これは文番号と呼ばれるもので、
これがないとデバッグ(プログラムの虫を直していく作業)に際に不便ですので、
以下の手順で表示させましょう。
行番号を表示させるためには、
021
ツール→オプションの順にクリックして、
022テキストエディターをダブルクリックします。
すると、下の方に023
すべての言語が出てきますので、
それを選んで、行番号のところにクリックによってレ点を入れます。
OKを押せば行番号が表示されます。)

エディタ
007
に次のように入力して下さい。
011
Module Module1

  Sub Main()
    
Console.WriteLine("はじめてのVisual Basicプログラミング体験!")
  End Sub

End Module
と入力しましょう。
キーボードで打たないで、初心者の方は必ずコピペして下さい。
Visual Studio Community 2017の場合には、
コピペできますのでコピペして下さい。
エディタによっては、エラーする場合もあるかもしれませんが、

原因は□(全角スペース)ですので、それを削除して、
Tabキーを使って段組を仕直してもらえれば、
大丈夫です。
と念のために書きましたが、私の知っている範囲ではVisual Basicでは、
コピペしても全角スペースはTabに自動的に置き換えられるようで、
エラーすることはありません。
少なくとも2017では絶対にエラーしませんので安心してコピペして下さい。
さて、コピペが終わったらCtrlを押しながらF5を押して下さい。
F5はファンクションキーと呼ばれるもので、キーボードの一番上の横列にあります。
Ctrlはキーボードの左下にあります。
本サイトでは、Ctrlを押しながらF5を押すことをCtrl+F5で表します。
Ctrl+F5を押すと、
012
となります。
Ctrl+F5は、
036
デバッグ→デバッグなしで開始
でもできますが、ショートカットキーを是非とも覚えて下さい。
『デバッグなしで開始』とは、
ビルドをしてプログラムを実行することです。
ビルドについては後ほど詳しく説明しますが、
構築という意味です。
Visual Studioシリーズがプロジェクトという名前を採用している理由は、
Visual Studioシリーズのプログラムは、会社や国のプロジェクトと同じで、
いろいろな部署や人が協力してプロジェクトを進めるように、
Visual Studioシリーズのプログラムも様々なフォルダやファイルの連携で、
実行されます。
様々なフォルダやファイルを関連づけて組織立ててつなげることを
ビルドと呼ぶのです。
ビルドの重要な仕事には、コンパイル(機械語への翻訳)も含まれています。
本講義では『デバッグなしで開始』のことをビルドと呼んだり、
プログラムの実行と呼んだりもします。

ところで実行方法には単にF5を押す方法もあります。
これは、025デバッグ→デバッグの開始と同じです。
『デバッグなしで開始』と『デバッグの開始』の違いを知るために、
F5を押して下さい。
一瞬だけコンソール画面(黒い画面)が立ち上がりますが、
すぐに消えてしまいます。
『デバッグなしで開始』=Ctrl+F5は、何かキーボードから入力されるまで、
待機してくれるのです。

第3話において魔方陣自動生成ソフトが実行できなかった方は、
コピペによって
Module Module1

  Sub Main()
    
Console.WriteLine("はじめてのVisual Basicプログラミング体験!")
  End Sub

End Module

Module Module1

  Dim mah(5, 5), cn As Integer
  Dim n As Byte
  Sub Main() '私は社長だ。
    Console.Write ("n=")
    n = Console.ReadLine()
    cn = 0
    Dim hj, ow As Object
    hj = Timer()
    f (0)
    ow = Timer()
    Console.WriteLine("{0:d}次魔方陣が{1:d}個生成されました。", n, cn)
    Console.Write ("魔方陣生成にかかった時間は")
    Console.Write (ow - hj)
    Console.WriteLine ("秒です。")
    Do While Console.ReadKey().Key <> ConsoleKey.Enter
    Loop
  End Sub
  Sub f(g As Integer)
    Dim i, j, k, h, y, x, w As Byte
    y = Int(g / n)
    x = g Mod n
    For i = 1 To n * n
      If g = 0 Then mah(y, x) = i
      h = 1
      If g > 0 Then
        For j = 0 To g - 1
          If i = mah(Int(j / n), j Mod n) Then
            h = 0
            Exit For
          End If
        Next
      End If
      If h = 1 Then mah(y, x) = i
      If h = 1 Then
        If x = n - 1 Then
          w = 0
          For j = 0 To n - 1
            w = w + mah(y, j)
          Next
          If w <> Int(n * (n * n + 1) / 2) Then
            h = 0
          End If
        End If
      End If
      If h = 1 Then
        If y = n - 1 Then
          w = 0
          For j = 0 To n - 1
            w = w + mah(j, x)
          Next
          If w <> Int(n * (n * n + 1) / 2) Then
            h = 0
          End If
        End If
      End If
      If h = 1 Then
        If x = 0 And y = n - 1 Then
          w = 0
          For j = 0 To n - 1
            w = w + mah(j, n - 1 - j)
          Next
          If w <> Int(n * (n * n + 1) / 2) Then
            h = 0
          End If
        End If
      End If
      If h = 1 Then
        If x = n - 1 And y = n - 1 Then
          w = 0
          For j = 0 To n - 1
            w = w + mah(j, j)
          Next
          If w <> Int(n * (n * n + 1) / 2) Then
            h = 0
          End If
        End If
      End If
      If h = 1 Then
        If g + 1 < n * n Then
          f (g + 1)
        Else
          cn = cn + 1
          For j = 0 To n - 1
            For k = 0 To n - 1
              If mah(j, k) < 10 Then Console.Write(" {0:d} ", mah(j, k))
              If mah(j, k) >= 10 Then Console.Write("{0:d} ", mah(j, k))
            Next
            Console.WriteLine()
          Next
          Console.WriteLine()
        End If
      End If
    Next
  End Sub

End Module
に変更してから、F5をしてみて下さい。
Ctrlは入れなくても、コードの中にキーボードから入力されるまで待機しなさい、
という命令が入れてありますので大丈夫です。
ウィルスソフトにはねられて実行できなかった方も第1部の最終目標を見ることが出来ます。

第5話ではコードを解説していきますが、
解説に入る前に、重要な注意をしておきます。
プログラムの世界では、
    Console.WriteLine("はじめてのVisual Basicプログラミング体験!")
のような文を命令文と呼びます。
コンピュータに命令を与えているからです。
1つ1つの文を命令文と呼ぶ−−−このことを覚えて下さい。


第3話へ 第5話へ
 
002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ