読者です 読者をやめる 読者になる 読者になる

Xojo日本語ブログ

マルチプラットフォーム対応アプリが開発できるXojoのブログです。

Visual BasicとXojoの違いは?

Xojo Visual Basic

Xojoを紹介する際によく取り上げるのがVBVBAといったプログラミング言語です。Xojoは元々RealBasicだったこともあって、言語体系は非常によく似ています。しかしVBの最後のリリースが98年であり、そこから20年近くたってXojoはさらに進化しています。

今回はVBとXojoで何が違うのか紹介します。

マルチプラットフォームで開発できる

VBWindows向けの開発しかできません。対してXojoでは以下のプラットフォーム向けに開発ができます。

さらに2017年度中にはAndroid向けの開発も行えるバージョンがリリース予定となっています。

データ型

VBとXojoでは同じような型を利用できます。Integer、Double、Single、Currency、String/Text、Variant/Autoといった型があります。Date型はXojoではクラスとなっています。

さらにXojoではコンパイル設定によってInteger型が32/64bitのどちらもサポートできるようになっています。

VBでは構造体を使いますが、Xojoはオブジェクト指向のクラスを使う方が良いでしょう(構造体も使えます)。

算術演算子

XojoとVBでは同じ算術演算子(+や/、Modなど)を扱えます。さらに比較演算子(<、<=、<>など)も同じものが使えます。数学関数についてもほぼ同じ名前ですが、一部で異なる場合があります(VBではSqr、XojoではSqrtなど)。Xojoでは乱数を生成するRndという関数がありますが、さらに高度なRandomクラスも用意されています。三角関数などはXojoとVBでよく似ています。

分岐処理

IF/ThenやSelect/Caseなどは同じものが使えます。

ループ処理

For/Next、Do/Loopといったループ処理は共通です。

文字列

XojoとVBも文字列型を用意しています。大きな違いとしては、Xojoは大文字、小文字を区別しないということです。Xojoで大文字、小文字を区別したい場合はStrCompまたはText.Compareを使います。VBではテキスト連結に&を使いましたが、Xojoでは+を使います。

それ以外のテキスト用メソッドはVBと同様のものが数多く用意されています。

配列

配列はVBに比べてXojoは柔軟に操作できます。Append/Insert/Pop/Removeといったメソッドを使って配列の内容をダイナミックに変更できます。なお、Xojoの配列は必ず0からはじまる決まりとなっています。

ディクショナリー

連想配列として使われることが多いディクショナリー型ですが、VBとXojoでは同じようにDimで定義できます。

Dim dict As new Dictionary

VBではaddを使ってキーと値を追加します。

dict.Add "Key1", "Value1"

対してXojoではキーを指定して追加します。より直感的ではないでしょうか。

dict.Value("Key1") = "Value1"

サブルーチンと関数

いわゆるメソッドです。Xojoでは値を返さないメソッドをサブルーチン、返すものを関数と呼んでいます。Xojoでは挿入メニューを使って追加し、インスペクタ上でメソッド名や引数、返り値の型を指定できます。

クラスのメソッドはパブリック、プライベート、プロテクトをサポートしており、サブクラス側やクラス利用時のメソッド公開範囲を設定できます。

エラーハンドリング

VBではOn Error Gotoを使っていましたが、XojoではTry/Catch/End Tryを使います。

Try
  Dim f As New FolderItem("test.txt")
  Dim output As TextOutputStream = output.Create(f)
Catch e As IOException
  MsgBox("Error: " + e.Message)
End Try

ファイルアクセス

Xojoはクラスプラットフォームで動作するのでファイルアクセスがVBとは多少異なります。パスはハードコーディングせず、SpecialFolderクラスを介して行うのが安全です。

Dim f As FolderItem = SpecialFolder.Documents.Child("MyFile.txt")

テキストの入出力にはTextInputStream/TextOutputStreamクラスが使えます。また、バイナリファイル向けにはBinaryStreamがあります。

UI

VBとXojoではともにUIコンポーネントからのドラッグ&ドロップによってUIを設計できます。

グラフィックス

XojoにはVBと同様にグラフィックスコントロールが用意されています。線、円、四角、角丸などです。さらに細かくグラフィックスを指定する場合にはCanvasクラスを使って図形を描画できます。

データベース

VBではAccessやその他のデータベースへアクセスするのにODBCを使っていました。Xojoではビルトインで有名なデータベースをサポートしています(SQLite/MySQL/PostgreSQL/Microsoft SQL Server/Oracle)。ODBCを使った接続もサポートしています。Windowsに限定されますが、OLEを使った接続も行えます。

オブジェクト指向

VBとは違い、Xojoでは完全なオブジェクト指向がサポートしています。


XojoはVisual Basicに似ていますが、さらに多くの機能が追加されています。昔開発したVisual BasicアプリケーションをXojoを使って近代化してください!

Xojo(ゾージョー)仕事に。研究に。”使える”アプリを瞬速×クロス開発|グレープシティ株式会社