Tech Note 19: VB6ユーザのためのNS Basic入門

June 26, 2002


[英語版]  

(Paul Abell氏による寄稿)

本稿はVB6プログラマーがより速やかにNS Basic for Palmを習うための情報を記載しています。

NS Basicは初心者にとって簡単です。実際、NS Basicは見た目と動作がVB6にほぼそっくりに見えます。では何が違うのでしょう?

あなたが小さなスクリーンで動くプログラムを作っていることに気が付いた時(実際17インチモニターの6分の1以下)、フォームまたはスクリーン上で何ができるのか、制限されていることがはっきりしてくるでしょう。最初に気が付くのは、プログラムをコンパイルすると、出力プログラムはPalm Operating System Emulator (POSE)に送られます。POSEはとても便利で、特にPalmデバイスを買わなくても、プログラムの開発ができます。POSEはWindows上でPalmデバイスの動作をします。これは無料でダウンロードが可能です。(少なくとも現バージョンの取得には)

次に、全てのコントロールおよびボタン、プロパティ、ダブルクリック、等に慣れてくるでしょう。何が混乱するかというと、どこにコードを入れるかです。これはWindowsデバイスではなくPalmデバイスですので、異なった様にプログラムされ、オペレーティングシステムのパーツへのアクセスの仕方が多少違います。

VB6の様にフォームをダブルクリックしてコードを表示させようとすると、何も起こりません。この場合、メニュー項目の「Project」をクリックし、「Startup Code」を選びます。これで、馴染みのある領域に戻るでしょう。「Startup code」セクションはプログラムの起動時に最初に実行されます。「Termination code」はプログラムが終了する時、または他のアプリケーションのメニューボタンがタップされた時に実行されます。button、label、field、gadget、bitmap、popup等のコードはあなたが期待しているところに入ります。さらに4ヶ所のコードを置く場所があります。フォームを右クリックしてメニューを出すと、「Before code」、「After code」、「Event code」の3つのセクションがあります。最後の1つは「code module」で好きなコードを入れることができます。これにアクセスするには「プロジェクト」メニューから「新規モジュールを追加/Add New Module」を選びます。開いたコードウィンドウにあなたのコードを書いて下さい。コードウィンドウを閉じた後に再度アクセスしたい場合は、プロジェクトエクスプローラから「Modules」アイコンをダブルクリックし、さらに必要なモジュールをダブルクリックしてださい。(注:あなたのプロジェクトを他のユーザに送る際には、このモジュールをあなたのリストに追加するのを忘れないで下さい。)

「Before code」はフォームが作成される前に実行されます。「After code」はフォームが作成された後に実行され、この時にコントロールはフォーム上に描画されます。重要なことは、このコードはフォームにアクセスがある度に実行されることです。例えば、あるフォームで何かを行い、別のフォームを開きます。再度最初のフォームに戻る際は、「After code」が再度実行されます。「Event code」は特殊なモジュールで、ユーザのボタン、メニュー、スクロールバー等をタップする動作を捕らえます。これらのイベントが起こる際、このモジュールが呼ばれます。

NSB IDEには現在デバッグツールはありません。将来は分かりませんが。POSEのデバッグバージョンがありますが、VB6とは全く違うもので本稿の目的外ですので、ここでは内容には触れません。

NSBの出力ファイルは、あなたのコード、フォーム等、全て含まれた1つのファイルになります。ワンクリックでこのファイルをあなたのPalmデバイスへhotsyncできます。もし共有ライブラリをあなたのコードの中から参照している場合、そのライブラリもあなたのプログラムと一緒に提供されなければなりません。共有ライブラリなしでもかなりのプログラムは書けますが、様々なライブラリがあることも覚えておくと良いでしょう。

NSBはVB6にほぼそっくりに仕上げをしてありますので、あなたは直ぐに慣れるでしょう。いくつかの機能はVB6より遥かに簡単に行えます。例えば、ポップアップリストや日付け/時刻セレクター等です。ボタンに関しては多くの選択はありません。size、bold、hide等です。色サポートも限界があります。カラーグラフィックスは最高で8ビット(256色)までです。カラー写真もあまり良い結果にはなりません。これはPalmではなくNSBに問題があるようです。カラー写真をPalm上できれいに映すいくつかのフリープログラムがありますので、試してみると良いかもしれません。

デモ版をお使いの場合、いくつかのプログラミングアイテムをどう行うか分からないかもしれません。以下を参考にして下さい。

  1. ライン継続文字:一つのスペースとアンダースコアをラインの最後に置く。
  2. あなたのプログラムを終了し、制御をホームに戻す:STOPステートメントを使う。EXITを使うとユーザが他のアプリケーションボタンを押すまで、プログラムは何もせずに待っている状態になります。
  3. 文字列を繋ぐ場合:「+」文字を使う。
  4. データベースは非常に単純ですが、いくつかの特異性を理解する必要があります。もしデータベースが存在しない場合、自分で作らなければなりません。理にかなっていますよね。しかし何が説明不足かというと、作成した後、データベースは開かなければなりません。これがおおくの問題を引き起こします。ほとんどエラーメッセージは、単純明快ではなく、暗号化されているかのようです。これはNSBの問題ではなく、Palmの問題です。
  5. コンパイルが終わったあなたのプログラムは、共有ライブラリを除いて全て必要なものは含まれています。もしあなたのプロジェクトファイルを他のユーザに送る場合は、ビットマップ、アイコンも含めて全てのコードファイルを含めることを忘れないで下さい。

最後に私が触れておきたいことは、ビットマップとグラフィックスです。これはアイコンも含めてです。NSBのビットマップへのアクセスは特有で、ドラッグ・アンド・ドロップは使えません。実際ビットマップオブジェクトをドラッグ・アンド・ドロップするのですが、これはオブジェクトだけで、ビットマップそのものではありません。NSBでビットマップを使うには、最初に「Project」メニューから「Add bitmap」を選びます。ここで必要なビットマップファイルを選ぶと、プロジェクトにこのビットマップが追加され、プロジェクトエクスプローラ上に足されます。ビットマップを使うには、プロジェクトエクスプローラ内の「Bitmaps」アイコンをダブルクリックし、プロジェクトに取り入れたビットマップを指定して下さい。このビットマップのプロパティウィンドウが開きます。4つのエントリーに気が付くと思います。それぞれは異なる色深度(1ビットから8ビット)のために用意されています。1ビットエントリーはあなたのビットマップのロケーションで埋められているはずです。他のエントリーを1つづつ選んで同じビットマップ名とロケーションを入力して下さい。この時点で実際にビットマップを使うことができます。フォームのビットマップオブジェクトをクリックし、プロパティウィンドウ内の「Resource ID」にあなたのビットマップに割り当てられたbitmap ID番号を入力して下さい。これで全てです。多少の行程が必要ですが、慣れれば非常に単純です。幸い、ビットマップのファイルタイプを特に気にする必要はなく、一般的なビットマップファイルタイプは許容されています。これらはコンパイル時に必要なファイルタイプに自動的に変換されます。アイコンは22x22または15x9ピクセルです。ビットマップは最大で160x160ピクセルです。

以上ですが、NSBを始めるには十分だと思います。NSBの使い易さはすぐに好きになるでしょう。エラーがあればチェック機能が働きますので、容易に修正可能です。NSBは完璧ではありませんが、それは他のコンパイラーも同様でしょうし、NSBは常に良い方向に改善されています。

本稿に追加すべき意見をお持ちでしたら、nipponsupport© nsbasic.comまでお送り下さい。