RealBasic University

このコラムはStone Table Softwareのオーナーであり、またREALbasic Developerの編集者でもあるMarc Zeedar氏により書かれたものを、著者の許可を得て翻訳したものです。この翻訳はHREM Researchにより提供されています。この日本語版へのご意見はRBU-Jまでご連絡下さい。

URL: http://www.applelinks.com/rbu/007/
INDEXに戻る

プロジェクトの開始

今日は、最初の有用なREALbasicのプログラムを作り始めます。このチュートリアルをやっている間はREALbasicが使える状態にしておくほうがいいでしょう。GenderChanger は通常は隠れているType とCreatorコードを変更するための簡単なユーティリティとなるでしょう。 これはあなたがJPEGファイルをMac OSのデフォルトの"PictureViewer"ではなくPhotoShopで開きたいというような時に有用です。

まず、REALbasicを起動して、ファイルメニューから"New Project"を選びましょう。これにより空のプロジェクトが出来上がります。プロジェクトを始めたときに私がする最初のことはそれを保存することです -- どのようなプログラムを使っていようと、私は病的なほどに必ず保存します。

まず、と呼ばれる新しいフォルダを作りましょう(この特殊な "F" はoptionキーを押さえながら、F をタイプすれば得られます)-- この中に我々のプロジェクトをとして保存します(πの記号はoption-pで得られます)。いつものように、これらは単に習慣ですでの、必ずしもそのようにしなければならないということはありません。しかし、これによりプロジェクトのフォルダと実際のプロジェクトそのものを見分けるのが容易になります。

さあ、これで準備完了です!

視覚的な作業

アプリケーション作成の最初の部分は楽しくそして容易なものです -- 実際のコードの入力は来週になるでしょう。今回は、我々のアプリケーションが必要とするウィンドウのいろんなことを視覚的に決めていきます。

先ず最初に、REALbasicが作ってくれたデフォルトのプロジェクトには Window1 という名前のウィンドウが含まれていることに注意しましょう。それは好都合ですね。これを使いましょう。ダブルクリックして、ウィンドウを開きましょう。 そのままのウィンドウの大きさは我々の目的には適当ではありませんので、大きさを調節しましょう。このためには、 ウィンドウの右下のサイズ変更ボックスをドラッグしてウィンドウを 大きくするか、ウィンドウがアクティブな状態で、属性 Properties ウィンドウに行き、widthを358に、heightを300に変更します。

そのときに、またウィンドウの title を GenderChanger に変えましょう。(title欄は属性ウィンドウにあります。ラベルの右のテキストを選択して、変更が可能なはずです。)

次に、Visibleのチェックボックスがon、CloseBox が off, GrowIcononでるか確かめましょう。ZoomIconはon でも offでも構いません。

ここで、一度保存しましょう。

注意:これからツールボックスにあるREALbasicの幾つかのオブジェクトを使いますので、第二回目のコラムのツールボックスのところを復習をするといいでしょう。絵をクリックすれば拡大できます。これはREALbasic 2.1からとったものです -- あなたがRB 3.0を使っている場合には、ツールボックスは少し異なるでしょうが、基本部分は同じです。

ツールボックスに行って、"グループボックス(GroupBox)" を見つけましょう。それは左側の下から4番目にあります。

クリックして、マウスを押したたままそれをウィンドウにドラッグします。どこに置いても構いません。 すぐ後でそれを調節しますので、今はただどこへでも貼り付けて下さい。とにかく大きさはいつも適切ではありません。

グループボックスはこざっぱりとしたオブジェクトです。 それは上部の左側にラベルをもつ 立体的な長方形です。あなたは多くのMacプログラムで、関連のある複数のコントルールをまとめるために通常使われているグループボックスを必ず見たことがあると思います。例えば、Macのリモートアクセスのコントロールパネル(インターネットのプロバイダに接続するのに使われます)は接続状態を示す"状況(Status)"のグループボックスがあります。そして、これはログイン名、パスワードおよびダイヤルする電話番号の入力欄をもつ設定グループボックスとは分離されています。

グループボックスが選択された状態で、属性ウィンドウを見て、REALbasic がそれを GroupBox1 と名前を付けていることを確かめましょう。名前はそのままで構いません。では、幾つかの設定を変更しましょう。グループボックスの設定を以下のようにして下さい:

今度は、リストボックス (ListBox)(グループボックスから3つ上です)をドラッグしてきましょう。リストボックスは、Finderのファイルのリスト表示のように、項目のリストを表示します。GenderChangerを作るときに判るように、リストは非常に有用です。今はただドラッグしてきて、以下のような設定にしておきましょう:

次に、2つのテキスト(StaticText)(上の方にある"A"の印のあるもの)をドラッグしてきましょう。その内の1つをウィンドウの左上に置きましょう、そして他のものを GroupBox1 の中の ListBox1 の左下に置きましょう。(オブジェクトが他のオブジェクトの端に整列する位置に自動的にジャンプするのに気が付きましたか?)

2つのテキストの設定をこのようにして下さい:

2番目のテキストオブジェクトは少々長いテキストを保持しています:あまりにも長いので図には全ては示されていません。text欄の右端に3つの点の小さな四角が見えますか?それをクリックしてテキストを編集するウィンドウ -- ミニのワープロです --を開きましょう。それは 一行にタイプするより多くの文字をタイプするのに便利です。そこで、以下のように入力しましょう:

Select a File Type from the menu. Drag files/folders to the list and click Convert.

(我々がここで作っているのはユーザに対する説明のラベルです。)

さあ、もう少しで休憩できます -- あと2つのオブジェクトだけです。我々はポップアップメニューが必要です:それはツールボックスの中央で、リストボックスの右隣です。それをStaticText1の右にドラッグします。そして、設定を以下のようにします:

次に、変換ボタン(Convert)を追加します:

よくできました!もし、あなたがすべてを正しく行なったとすると、出来上がった Window1 は以下のようになっているはずです:

もし、どこかが違っていれば、前に戻ってあなたが私と同じ設定をオブジェクトに与えたかを確かめて下さい。(フォントのようなものは問題とはなりません。しかし、大きい文字のテキストを入れるためにはオブジェクトを大きくしなければならないでしょう。)

メニュー

ウィンドウの細々したことからから離れて、我々のプログラムにメニューコマンドを追加することにしましょう。REALbasicではメニューは非常に簡単に作れます(すくなくとも殆どのところは)。我々のプログラムはたった2つのメニューコマンドしかありませんので、これには長い時間はかかりません。

REALbasicはプロジェクトにMenuオブジェクトを追加していることに気付きましたか。それは削除できません -- すべてのプログラムはメニューバーを必要とします。それをダブルクリックすれば、メニューバーがどのように見えるかがウィンドウの中に示されます。Apple Menuをクリックしてメニューを開けてみましょう。その下に空の項目が見えますか?(注意してみると、空の領域に小さな灰色の長方形があるのがわかるでしょう。)

それをクリックして選択しましょう。さあ、これでメニューコマンドを追加する準備が出来ました。「About GenderChanger...」 (引用符なしで) と入力して、Returnキーを押しましょう。属性ウィンドウが変化したことに気付きましたか? REALbasic は自動的にメニュー項目に AppleAboutGenderChanger という名前を付けます。これはそのメニューの名前です -- あとでそれを参照したり、選択可能にしたり、なにかを実行させる必要のあるときに使います。私はこのような長い名前は好みませんので、これを短くしましょう。属性ウィンドウの Name欄に行って、後ろの方を消して、名前を簡単に AppleAbout としましょう。随分よくなりました。

GenderChangerはファイルメニューに追加するもう1つのメニューコマンドを必要とします。これはファイルとクリエータのタイプの保存されているリストを編集するためのコマンドとなるでしょう。では、ファイルメニュー(メニューウィンドウの中の)をクリックしてメニューを開きましょう。"Quit"の下の空の領域をクリックして、「Edit File Types...」 (引用符なしで) と入力して、Returnキーを押しましょう。今度もREALbasicは名前としてメニューの全テキストを使っています。それをFileEditと短くしましょう。

これは重要なコマンドですので、このメニュー項目にショートカットキーを与えましょう。"E" (編集(Edit)なので)を使いましょう。FileEdit項目がまだ選択されている状態で、属性ウィンドウを見ましょう。下の方(Behaviorの下)にCommandKeyと名前の付いた欄があります:その横に大文字のEを入力します。

これで、実質的には終わりです。でも、見栄えをよくするために2つ変更をしましょう。ファイルメニューの最も下の項目をQuitとするのはMacintoshの一般的な習慣ですので、Quitの下に"Edit File Types..."がある我々のプログラムはちょっとおかしくみえます。それでは、それをQuitの上に来るまでドラッグしましょう。よくなりました!

しかし、まだ完全ではありません -- QuitとEdit File Typesは非常に異なった機能です。それらは並んであるべきではありません。ですから、区分線を追加しましょう!メニューの最下部の空の領域をクリック(新しいメニューを追加しようとしています)して、ハイフォン ("-")をタイプします。Returnを押すと、それは通常のメニューの区分線(灰色の直線)に変わります。さらに良くなりました。今度はそれを上にドラッグして、Edit File TypesとQuitメニューの間に置きましょう。これで終わりです。

(もし、あなたのファイルメニューが下のようであれば、メニューウィンドウを閉じて、次に進みましょう。もしそうでなかったら、間違いを直しましょう)

宿題

プロジェクトを実行して、メニューも含めて、全てがどのように見えるかを確認することができます。しかし、プログラムはほとんど何もしないことに驚かないようにして下さい。 我々がしたことの全てはインターフェースに関することだけです -- プログラムに何をするかをまだ教えていません。それは来週から始めます。

では、宿題があります。上で作った"Edit File Types"コマンドはファイルタイプを編集するための特別なダイアログを必要としています。そのウィンドウを作成する過程を一歩づつ示すのではなく、仕上がったダイアログを示して、それと同じものはどのようにして作るのかを検討してもらおうと思います!

それを始めるには、ファイルメニューに行き、"New Window" コマンドを選択します。それはプロジェクトに新しいウィンドウを追加します。その後のことは、分かるでしょう。

これについては来週さらに詳しく説明します。ですから、もし宿題を完全にできなくても、諦めないで下さい。しかし、それは自分自身で何かを探求するいい練習になると思います。

次週

GenderChangerのインターフェイスを完成し、コードを少し書き始めます。

Letters

今週の質問はAnders Wahlbyさんからです。彼は次のように書いています:

CD Remote Programsのデータベースの見出しを作成し、編集するCDカタログのアプリケーションを作ろうとしています。私の望みは現在コンピュータに挿入されている音楽CDの見出しが見つけられることです。 音楽CDのの目次はどのようにすれば読めるのでしょうか? 外部関数の宣言によって 音楽CDの属性にアクセスできる関数がshared librariesにないでしょうか?Toby Rush氏のNetCDと呼ばれるプログラムがあることは知っています、しかし、それを自分で作ってみたいのです。なにかアイデアはありませんか?

素晴らしい仕事を続けて下さい!

わおー、これは少々高度な質問ですね。私はCD関連については全く判らないので、 REALbasic で NetCD を作った、大家Toby Rush氏その人に頼ることにしました。 Toby氏は親切にもAndersさんの質問に対して以下のような解答を送ってきてくれました:

私は実際には非公開で、多分バグが完全には取れてはいない状態の自分のCDDBクラスを作りました。それらは ここで入手できます。

説明は何もありませんが、ロックはかけられていませんし、コメントも付いています。私が正当に引用されるかぎり、商用あろうとなかろうと、 誰でもそれらを自由に使うことができます。

しかし、別の注意があります:それらは最初のCDDBには使えますが、新しいCDDB2には使えません。実際のところ、私はCDDB2に対しても同じようなクラスを作っていて、それは来月当たりに完成するとおもっています。完成したときには、私はそれをsharewareかfreewareとして私のwebサイトから入手できるようにしようと思っています。Gracenote社(CDDBを所有している会社)は全ての開発者にCDDB2に移行させようとしています、そして、もとのCDDBは将来のある時点でなくなるだろうと言っています。

もし、あなたに手紙を出した人が本当に「自分でやりたい」のであれば、そればすばらしい! :) さらに、system 9およびそれ以前のでの音楽CDのアクセスに関する全てをカバーしているAppleのtechnote DV22を調べるといいでしょう。Mac OS Xに関してはIOKitを使わなければなりませんが、それに関しては私もまだよく理解していません。 :)

もし彼がさらに聞きたいことがあれば、彼に私へ直接このアドレスまで連絡させてもらっても構いません。それでは!

わー、 Tobyさん、わかりやすい解答をありがとうございます!私はそれは複雑だろうとは予想していましたが、その技術的な詳細については知りませんでした。Andersさんは本当に大きな問題を前にしていますが、あなたは彼の必要とするであろう助言を与えてくれました。

これで今週は終わりです。 お便りをどしどしお寄せ下さい、そして新しい談話室 RBU MacBoards へ訪れるのも忘れないで下さい。

INDEXに戻る