|
NS Basic/Palm チュートリアル #1:
A Simple Program
© NSB Corporation. All rights reserved.
|
目的
NS Basic/Palmチュートリアルの目的は、NS Basic/Palmを使ってどのようにプログラムが作られていくかを説明します。チュートリアルを始める前に、NS Basic/Palmをお使いのPCにインストールして下さい。ここでは非常に簡単なプログラムを作成します。
プログラムの説明
ここで作るプログラムは、1つのボタンが中に入ったフォームを持っています。ユーザ(プログラムを使う人)がボタンをタップすると、プログラムは"Hello--Welcome to NS Basic/Palm"というメッセージを表示します。
プログラムの開発
1. 起動
- 「スタート」からNS Basic/Palmを起動する。
- 最初の画面で新規プロジェクトを開く。
2. プロジェクト・プロパティの変更
-
(Name) を "Project1" から "HelloPgm" へ変更する
- Creator ID を "Hllo" へ変更する
3. フォームのプロパティを変更
- タイトルが"Form1003"を持つ、空白スクリーンが開いているはずです
- プロジェクトエクスプローラの中にあるフォームのアイコンをクリックして選ぶ
- プロパティの (Name) を "Hello" へ変更する
4. フォームにボタンを配置する
- ツールボックス内のボタンオブジェクト("OK")をクリックする
- 模擬スクリーン上のボタンを配置したい場所にカーソルを移動する
- クリックするとスクリーン上にボタンが配置される
ボタンのテキストを変更:
- 配置したボタンをクリックする
- プロパティ画面の"Label"に「ここをタップ」と入力する
ボタンのサイズを変更:
- ボタンをクリックして選択する
- ボタンの回りにある、マーカー(黒点)の一つにマウスポインターを移動する
- クリックしたままマーカーをドラッグして、ボタンのサイズを変える
- マウスボタンを離して、サイズの変更を終える
ボタンの位置を変更:
- クリックして、ボタンを選択する
- ボタンの内側にマウスポインターを移動する
- クリックしたままボタンをドラッグして、移動させる
- マウスボタンを離して、位置の変更を終える
5. ボタンが押された時に実行されるコマンドの追加
6. プロジェクトを保存
- IDE画面の上にある「ファイル」メニューを選ぶ
- 次に「プロジェクトを保存」を選び、"HelloPgm"と名前を付けて保存する
- "HelloPgm.prj"の名前で c:\NSBasic\Projects ディレクトリにプロジェクトが保存される。
- 全てのフォームの属性、フォーム・オブジェクト、コード、およびプロジェクトの情報は、1つのプロジェクトファイルに保存される
7. ダウンロード可能なPalmデバイスファイルを作成
- IDE画面の上にある「実行」メニューを選ぶ
- 開いたメニューから「コンパイル:HelloPgm」を選ぶ
エラーがある場合、エラーメッセージと、エラーの箇所がハイライトされたコードウィンドウが現れます。エラーは修正し、エラーが出なくなるまで、コンパイルを繰り返して下さい。エラーがない場合(コンパイルが成功)、アプリケーションのサイズを表示したメッセージボックスが現れます。
- エラーを修正した場合、再度プロジェクトを保存する
- コンパイルにより、ダウンロード可能なファイル(HelloPgm.prc)が c:\nsBasic\Download に作成される
- プログラムを実行するには、このファイルをPalmデバイスかPOSEシミュレータにダウンロードする
Congratulations !! これでNS Basic/Palmプログラムの完成です。
プロジェクトのテスト
POSEシミュレータを使ってテスト
POSEシミュレータの環境を予め整えなくてはなりません。ReadMeファイルを参照して下さい。
- 「ツール」メニューから「オプション」を開き、「コンパイル/ダウンロード」タブを押す。「コンパイル後...」セクションの「POSEへ送る」および「直ぐに実行」を選択する。「OK」を押し、オプション画面を閉じる。
- POSEが開いていない場合、「実行」メニューから「Palm OSエミュレータを起動」を選ぶ。
- 始めてPOSEを起動した場合は、「実行」メニューから「Runtimeをダウンロード」を選んで、NSBRuntimeをダウンロードする。
- 「実行」メニューから「コンパイル」を選ぶ。
Palmデバイスを使ってテスト
- 「ツール」メニューから「オプション」を開き、「コンパイル/ダウンロード」タブを押す。「コンパイル後...」セクションの「デバイスへHotsync」を選択する。「OK」を押し、オプション画面を閉じる。
- まだRuntimeをダウンロードしていない場合、「実行」メニューから「NSBasic RuntimeをHotSync」を選ぶ。
- 「実行」メニューから「コンパイル」を選ぶと、メッセージが現れる。
- 通常行うようにPalmデバイスへのHotsyncを行う。
- Hotsyncが完了したら、プログラムが実行される。直ぐに実行されない場合、デバイス上の「ホーム」ボタンをタップする。
- HelloPgmを選ぶと、プログラムの実行が始まる。
チュートリアルを拡張
NS Basic/Palmの他の機能を見てみましょう。ここでは今作ったプログラムを少し複雑にします。 IDE画面で「ファイル」...「閉じる」とメニューを選び、NS Basic/Palmを終了させて下さい。
再起動
- 「スタート」から再度NS Basic/Palmを起動する。
- 最初のスクリーンが最近動作させたプロジェクトをリストにして表示するので、修正するには簡単に一つを選ぶことができる。
- HelloPgmプロジェクトをクリックして選ぶ。
- プロジェクトはIDEへ読み込まれ、最後の終了した状態で開く。
変更:メッセージを変更
- ボタンをダブルクリックして、コードウィンドウを開く。
- Sub ステートメントの後に以下のコードを入力する。
Dim s as string
Dim d as date
d=today()
s=str(d)
- Change the
MsgBox statement to be
MsgBox "Today is " + s
- コードウインドウを閉じる。
- コンパイルする。
- POSEかデバイスにダウンロードして、プログラムをテストする。
- テストを行うと、次のようなメッセージが表示される。
Today is yy/mm/dd
yy/mm/ddは今日の日付けになる。
変更:プログラム始動時のコード
- 「プロジェクト」メニューから「Startup Code」を選ぶ。
- Sub の次のラインに、このコマンドを入力する。
msgbox "HelloPgm will continue when you tap on OK"
このコードはプログラムがスタートする時に実行される。 プログラムはメッセージを表示し、ユーザが「OK」をタップするまで休止する。ユーザがタップすると、プログラムは継続し最初のフォームを表示する。
- プログラムをコンパイルし、POSEまたはPalmデバイス上でテストする。
変更:スクリーンの描画時のコード
この変更はフィールドを追加し、その時の時間を表示します。もう1つのボタンを追加し、時間のアップデートを起こすようにします。
時間を表示するフィールドをフォームに追加する。
- ツールボックスからフィールドオブジェクト("T")を選ぶ。
- カーソルをフォーム上のほしい場所に移動してクリックする。
- 配置したオブジェクトをクリックして選択する。
- プロパティー画面のフィールドの名前(Name)を"fldTime"へ変える。
- 必要ならオブジェクトのサイズを変える。
フォームが表示される時に実行されるコードを追加する。
- プロジェクトエクスプローラ内のフォームの名前を右クリックする。
- 「After Codeを表示」を選ぶ。
- Sub の次のラインに、このコードを入力する。
dim wk as string
dim t as time
t = now()
wk = str(t)
fldTime.text = wk
このコードは、Palmデバイスがスクリーンを表示した直後に、時間をフィールドオブジェクト"fldTime"へセットする。 ステートメント t=now() は、現在の時間を得て、時間変数の"t"に割り当てる。 strファンクションは、内部時間フォーマットをテキスト文字列のhh:mm:ssフォーマットへと変換する。このテキスト文字列がフィールドオブジェクトに入れられ表示される。
次のステートメントは上のコードを短くしたもので、同等な処理を行う。
fldTime.text=str(now())
フォームを再描画するためのボタンを追加する。これによって時間が更新される。
- ツールボックスからボタンオブジェクトを選び、フォーム上に配置する。
- ボタンのLabelに"スクリーン再描画"と入力する。
- 必要に応じてオブジェクトのサイズを変更する。
再描画を起こすコードを追加する。
- 追加したボタンオブジェクトをダブルクリックする。
- 以下のステートメントをSubステートメントの次のラインにタイプする。
Redraw
- コードウインドウを閉じる。
- これによってスクリーン全体が再描画される。これはフォームオブジェクトが再描画される前に、フォームに加えたコードの実行を引き起こす。これによって、フィールドオブジェクトに表示される時間が更新される。
- プログラムをコンパイルし、POSEまたはPalmデバイス上でテストする。