第1回 プログラムを始めよう「6.PalmがHello!」

1−6 PalmがHello!

 さて、今回はもう1ついきましょう。
次の仕様は「名前を入力してボタンをタップしたら、"Hello,○○!"と表示する」もので、入力を伴うモノです。
ま、言い方を変えれば「Palmに名前を入れたら、Hello,○○!と挨拶を返してくれる、挨拶プログラム」と言えなくもないでしょう(苦しいですね)
今までのNS Basic習得レベルでは、決められた文字を表示するラベルオブジェクトとイベントの代表であるボタンオブジェクトを知っていますが、今回も、これらを使うことにしましょう。
肝心なのは「名前を入力する」ために使えるオブジェクトですね。

様々なアプリケーションで文字を入力する部分が設けられていることがありますね。このような部品として、NS Basicでは文字入力をするオブジェクト、フィールド(Field)を用意しています。
フィールドオブジェクトは、ツールボックスで「Txt」の表示があるものです。
早速、配置して見ましょう。ついでに結果表示用のラベルとタップ用のボタンも配置しておきます。

    

上から順にフィールド、ラベル、ボタンを配置してみましたが、このように画面へ配置する作業は、プログラミングの上で重要な作業の1つになります。
この作業は、つまり、画面のデザインを作成する作業ですが、このデザインが完成したアプリケーションの使い勝手に大きく影響するのは、皆さん、経験されていることと思います。機能は良いけど、使いにくい、ってヤツですね。
画面は、プログラムとそれを使う人を結ぶ部分ということで「ユーザーインターフェース(UI)」ということがありますが、UI設計が悪いと、いくら機能が良くても使いにくいアプリケーションになってしまいます。したがって、常に使うことを考えて設計するのが、よいアプリケーションへの第1歩ですので、常に意識しておいてください。
ということで、ちょっと改良してこんなUIでどうでしょうか?(まぁ、無難ですが)

    

名前を入れるところに「Your Name」、Hello,と表示するところに「Message from Palm」というラベルを配置してみました。最初の画面よりはアプリケーションらしいですし、知らない人が見たら、Palmが適当に人工知能でメッセージを返すアプリケーションみたいですよね?(そんなことないか・・・)
その他、ちょっとボタンサイズを大きくして、タップしやすくしました。

いよいよ、次はコードの作成です。
実行時、フィールド(Fld1007)に名前の文字列が代入されますが、この文字列は、Textプロパティに入ります。 先ほど、オブジェクトのプロパティは、Object.Property、で表すと説明しましたので、これは、Fld1007.Text、ですね。
そして、ラベル(Lbl1005)を使って表示させたいので、先ほど同様、Labelプロパティに代入すれば良いわけですね。
代入は?そう「=」を使うと、右の値を左に代入、ですから、

   Lbl1005.Label=Fld1007.Text

になります。単にフィールドに代入された値を参照したものを、そのままラベルのプロパティに代入すれば良いのです。
しかし、仕様では「Hello,○○!」が要求されていますので、次のようにします。

   Lbl1005.Label = "Hello," + Fld1007.Text + "!"

NS Basicでは文字列が「+」記号で連結できます。これを使って仕様にあうように、必要な文字列を前後に付加してみました。
常に代入は右の値を左に代入するわけですから、右側で色々な文字列を連結した結果が、左に代入されるわけです。
また、"Hello,"や"!"に、ダブルクォーテーション(")がついているのは、前に説明したとおりですね。

これをボタンのイベント処理に入れれば完成です。 今回は、どんな長い名前が入力されるのかわかりませんので、ラベル(1005)に表示すべき文字数はわかりません。
そう言う場合は、ある程度の値を想定してスペースなどを入れておきます。ここで、想定外の文字数が来たら「仕様外」になりますね。

さて、コンパイルしてダウンロードして試してみましょう。
フィールドに名前を入力して、ボタンをタップします。PalmにHelloと言われましたか?

        

このように、BASICを使ったプログラムは、比較的簡単に始めることができます。正確に言えば、今回のサンプルはBASICらしいコマンドはほとんど使っていませんし、コードも1行しか入れていませんので、内容的にはBASICと言えないかもしれませんね。
もしかして、簡単なものを難しく説明してしまったかも知れませんが、多少なりとも興味を持っていただければ幸いです。
次回は、チョットしたゲームを作ってみたいと思います。

※ご意見、ご要望などは、掲示板かメールでお願いします。


前へ     目次へ

第1回 プログラムを始めよう「6.PalmがHello!」