ActiveBasicのVer3・4では,BASICの他に,Cなどの特徴もあります(ポインタが使えたりします)。WindowsAPIなども利用しやすくなっています。
そんなことが出来るのですが,使ってみて,総合すると一番近い言語はVisualBasicなのではと思います(というか,簡単なプログラムならばだいたいの部分はVisualBasicのノリでプログラムを組めます)。
では,ここでActiveBasicを使うとき,VisualBasicのノリでやってはいけないことをお話しします。
注:VBは6.0を前提にしています。VB.NETは持っていないので分かりません。
もっとも,VBの場合大文字と小文字を区別しないで入力しても勝手に直してくれますが。
おそらく,ABの作者の山本さんがCのノリ(そんな言い方もないか)で作っているからではと思います。
ただし,命令語(Printなど)は大文字・小文字を区別しません。
なお関数の場合,大部分は「最初だけが大文字で残りが小文字」といった具合です。
Dim a As Long, b As Long
a = 7
B = a
例えば,Mid("Sinryow", 3, 4) とか Chr(13) とかはABでは通りません。
面倒でも Mid$("Sinryow", 3, 4) とか Chr$(13) として下さい。
(本来のBASICの文法から言えば,付かなかったVBの方が特殊なんですが。)
※追記
VBで「$」があってもなくてもよい関数は,「$」ありではString型,「$」なしではVariant型(どの変数型でも入りうる型)の扱いとなるそうです(情報提供:hiraさん)。
ここでは,比較的使用頻度の高いものについて紹介します。
(1)MsgBox
パラメータの順序が違う。しかもVBでは関数の扱いだがABでは命令語の扱い。
(2)Select Case
選択肢を列挙できない。"Is"が使えない。
Select Case Num Case 5, 20 P = 700 Case Is > 32 P = 0 Case Else P = 1000 End Select
(3)InStr
第1パラメータを省略させてくれない(「1」を指定しなければならない)。
そもそもABでは,後ろ側のパラメーターを省略することはできても(Mid$など),手前側のパラメーターは省略させてくれません。
z = InStr("Sinryow Game Home Page", "m")
VB経験者にはこういう面倒さがありますが,それでもVBからの移行は楽なので,VB経験者にはABもぜひ挑戦していただきたいです。
(N88BASIC経験者には,AB2系ならよいのですが,AB3系はけっこう難しいです)
1つ前へ ActiveBasic Hall トップへ ActiveBasic Center トップへ Sinryow Game トップへ