連載
プロフェッショナルVB.NETプログラミング
第1回 さらなる進化を遂げたVisual Basic
(株)ピーデー
川俣 晶
2002/03/16
|
![](../index/vb6nettitle_m.jpg) |
さて、VB 6なら、これはこう書くだろう。
1: i = 1
2: Do
3: Debug.Print i
4: i = i * 2
5: Loop Until i >= 1000 |
|
同じ内容をVB 6で記述したサンプル・プログラム2 |
実行結果は以下のようになる。
![](/fdotnet/vb6tonet/vb6tonet01/vb6net01_02_s.gif) |
サンプル・プログラム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 |
実行結果は以下のようになる。
![](/fdotnet/vb6tonet/vb6tonet01/vb6net01_03_s.gif) |
サンプル・プログラム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 |
実行結果は以下のようになる。
![](/fdotnet/vb6tonet/vb6tonet01/vb6net01_04_s.gif) |
サンプル・プログラム4の実行結果 |
Insider.NET 記事ランキング
本日
月間