連載

プロフェッショナルVB.NETプログラミング

第1回 さらなる進化を遂げたVisual Basic

(株)ピーデー
川俣 晶
2002/03/16

Page1 Page2 Page3 Page4 Page5 Page6

さて、VB 6なら、これはこう書くだろう。

1: i = 1
2: Do
3:   Debug.Print i
4:   i = i * 2
5: Loop Until i >= 1000
同じ内容をVB 6で記述したサンプル・プログラム2

 実行結果は以下のようになる。

サンプル・プログラム2の実行結果

 思わず、本当にこれが同じBASICと呼ばれる言語なの!? といいたくなるほど違うことが分かるだろう。しかし、紛れもなく両者は共通の基本文法を持っている。例えば、i=0やi=i*2という式の部分はIDEが読みやすくするために空白を入れた以外、まったく共通である。また、VB 6は古い文法でも受け付けるということをご存じだろうか? 例えば、VB 6で標準EXEのプロジェクトを新規作成し、フォームのLoadイベントに以下のように行番号のあるコードを書き込んでみていただきたい。

1: Private Sub Form_Load()
2: 10 i = 1
3: 20 Debug.Print i
4: 30 i = i * 2
5: 40 If i < 1000 Then GoTo 20
6: End Sub
VB 6で動作する、行番号のあるサンプル・プログラム3

 実行結果は以下のようになる。

サンプル・プログラム3の実行結果

 これは確かに実行でき、ちゃんと結果はイミディエイト・ウィンドウに出力されるのである。これこそは、まさにVB 6が、往年のBASIC言語の直系の子孫である証といえるだろう。

 余談だが、VB.NETでも、以下のように記述したら実行可能であったことは付記しておく。

1:   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
2:     Dim i As Integer
3: 10:   i = 1
4: 20:   Debug.WriteLine(i)
5: 30:   i = i * 2
6: 40:   If i < 1000 Then Goto 20
7:   End Sub
VB.NETで動作する、行番号のあるサンプル・プログラム4

 実行結果は以下のようになる。

サンプル・プログラム4の実行結果
 

 INDEX
  第1回 さらなる進化を遂げたVisual Basic
    1.これは大事件である(1)
  2.これは大事件である(2)
    3.開発環境の比較
    4.実行環境の変化
    5..NET Frameworkより得るもの(1)
    6..NET Frameworkより得るもの(2)
 
「プロフェッショナルVB.NETプログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間