REALbasic かってに連載します(第1回)


 1997年9月頃、REALbasic(旧称ClossBasic)をみつけました。マックのプログラムが自分で組めるのがうれしくなって、勢いでこのページを作ってしまいました。はじめはホームページ上で走るJAVAも作ってみましたが。なにせ私の環境では、スピードが遅くイライラしてきまして、あきらめました。
 連載の回数が20回になったので、もう一度まとめ直すつもりで、第1回目からアップデートを開始しました。
   第1回 - 初めてのREALbasic -

 REALbasicの第1歩として、関数やグラフの書式を確かめるために、リサージュ図形を書いてみました。
     
  1.   - 準備 -

     REALbasicのアイコンをダブルクリックすると、初期画面が出ます。ProjectウィンドウとUntitledのウィンドウとツールバーとPropertiesウィンドウの4つが基本形です(バージョンによっては変わってくるかもしれません)。
     まずEditメニューのEditor Settingsを選びます。ここでDefault Control FontのFontを「System」に変更しておきます。これで表示に日本語が使えるようになります。

  2.  - Window1の財産 -

     Untitledのウィンドウをアクティブ(ウィンドウ内部をクリックして、ウィンドウ上部にある左右の2つのボタンが表れている状態)にして、作業をはじめます。このとき表示されているPropertiesウィンドウには、このUntitledのウィンドウのプロパティが示されています。
     Propertyは財産の意味ですが、ここでは属性と考えます。つまりUntitledのウィンドウの性質を列挙したウィンドウです。とりあえずいじってみましょう。
     まずTitleの欄にはUntitleと表示されています。この「Untitle」を「リサージュ」に変更して下さい。Titleの欄には日本語が表示されないかもしれませんがUntitledのウィンドウをアクティブにすると、「リサージュ」のウィンドウに変わっていると思います。つまりこのウィンドウのTitleのプロパティが変更されたことになります。これはプログラムの中からでも変更できます。
     このように、色々なオブジェクトのプロパティを変更することによって、とても簡単に入力画面や表示画面の表現を変更できることになります。これらのことは、リサージュを描くという目的には直接関係ありませんが、自分の作るプログラムを、単なるプログラムコードではなく、マックの他のアプリケーションと見分けの付かない物に仕上げることを可能にしてくれます。
     HasBackColorにチェックを入れて、BackColorのプロパティをダブルクリックすると色を選択できます。試してみて下さい。

  3.  - はじめに終了を -

     ツールボックスから「OK」と表示されたボタンをドラッグして「リサージュ」のウィンドウに持ってきます。これで「Untitled」と表示されたPushButton1が作られました。先ほどとは異なった内容のPropertiesウィンドウが表示されているはずです。これは、いまアクティブ(ボタンの4隅に黒色のハンドルが表示されている状態)なPushButton1のプロパティが表示されているからです。それではこのボタンに、終了のプログラムを書き込んでみます。

    1. PushButton1のPropertiesウィンドウ内のCaptionの欄の「Untitled」を「Close」に変更する。
    2. 「リサージュ」のウィンドウ内の「Close」と表示されたPushButton1をダブルクリックする。
    3. プログラムのコードを書き込むウィンドウが開きます。
    4. そのまま、ここに「quit」と書き込みます。プログラムコードは必ず半角英数文字を使います。大文字と小文字の区別は問いません。

    これでおしまいです。メニューのDebugからRunを選択すると、Closeと表示されたボタンがある「リサージュ」のウィンドウが表示されますので、ボタンを押して下さい。プログラムが終了して、元の画面に戻ります。
     閉じるボタンしかないアプリケーションは何の役にも立ちませんので、次に座標軸を描くボタンを作りましょう。

  4.  - 2つめのボタンは座標軸 -

     先ほどと同じようにして、ツールボックスから「OK」と表示されたボタンをドラッグして「リサージュ」のウィンドウに持ってきます。これで「Untitled」と表示されたPushButton2が作られました。PropertiesのウィンドウのNameの欄にはPushButton2と表示されているはずです。この名称は、画面のボタンに表示される名前ではなく、プログラム内での名前ですから変更するときは注意して下さい。画面のボタンに表示される名前はCaptionの欄です。はじめはいつも「Untitled」となっていますので、今度は「座標軸」と漢字で入れてみます。表示だけですからどんな名前でもかまいません。

    1.  画面にグラフを描く場合は、どの画面にグラフを描くのかをはっきりさせておく必要があります。REALbasicでは、一般にCanvasという画面に描くのが普通です。他には直接「リサージュ」のウィンドウやDialogのウィンドウに描いたりPictureの画面に描いたりできます。それぞれ必要に応じて使い分けます。今回はできるだけ単純に説明したいので、直接「リサージュ」のウィンドウに描く方法を説明します。次回からはグラフは必ずCanvasに描くことにします。
    2. 「リサージュ」のウィンドウ内の「座標軸」と表示されたPushButton2をダブルクリックする。
    3. プログラムのコードを書き込むウィンドウが開きます。
      Sub Action()
       |
      End Sub
      
      と表示されていますので、ここにプログラムを書いていきます。
      Sub Action()
       graphics.drawline 10,50,90,50
       graphics.drawline 50,10,50,90
       graphics.drawstring "y",50,10
       graphics.drawstring "y",90,50
      End Sub
      
      「graphics.drawline 10,50,90,50」は、座標点(10,50)と(90,50)を結ぶ直線を描く命令で、REALbasicでは、「graphicsオブジェクトの直線描画のメソッド」という言い方をします。「graphics.drawstring "y",50,10」は「y」という文字を座標点(50,10)の位置に描く命令です。
      メニューのDebugからRunを選択して、確認して見て下さい。文法的な間違いがある場合は、エラーメッセージを出して知らせてくれます。注意点は、プログラムコードは必ず半角英数文字を使うこと。「graphics.drawline」と「10,50,90,50」の間には半角のスペースが必要なこと。くらいでしょうか。


  5.  - 3つめのボタンは関数プロット -

     次は関数を描いてみましょう。ツールボックスから「OK」と表示されたボタンをドラッグして「リサージュ」のウィンドウに持ってきます。これで「Untitled」と表示された PushButton3 が作られました。前回と同じ操作で「Untitled」を「描画」にでもしておきます。前回と同じ操作で「描画」と表示された PushButton3 をダブルクリックして、プログラムコードを書き込むウィンドウを出します。
    Sub Action()
     dim n as integer
     dim x,y as double
     for n=-50 to 50
      y=40*sin(n*6.28/100)
      x=40*sin(2*n*6.28/100)
      graphics.drawoval x+50,y+50,2,2
     next
    End Sub
    
    と書き込みます。
    ここで、「dim n as integer」や「dim x,y as double」は以下のプログラムで使う変数を定義する書式です。integer型(整数型)の「n」とdouble型(倍精度実数型)の「x」と「y」を使います。定義をしさえすれば別の文字でかまいません。「dim」 変数「 as」 変数の型 という書式になります。同じ型の変数が複数ある場合は、「dim」 変数、変数、変数「 as」 変数の型 のようになります。「for ~ next」のループに使う変数(ここでは n )の型は、「integer型」でなければならない規則になっています。数式の中で使う変数は、「double型」にして下さい。ここで定義した変数はローカル変数といって今書き込んでいるPushButton3 の中でのプログラムでしか有効ではありません。つまり別のボタンに、プログラムを書き込む場合には、新たに変数は定義する必要があります。めんどうなようですが、このことにより、ボタンごとに変数の名前を使い分けずに、重複した変数名でプログラムできるようになります。とりあえず、ここでは、変数は定義しないと使えないことを知って下さい。
    「y=40*sin(n*6.28/100)」と「x=40*sin(2*n*6.28/100)」は n を媒介変数とした、リサージュの数式です。
    「graphics.drawoval x+50,y+50,2,2」は円や楕円を描く命令です。 (x+50,y+50) の位置と、(x+50,y+50) の点から右に2、下に2の位置が、対角線となる4角形にピッタリはいる円や楕円を描きます。「(x+50,y+50)」は先ほど、座標軸の原点を (50,50) の点にとりましたので、その補正です。
     一般の言語では、コンピュータ画面上の、座標原点はスクリーンの左上の隅になりますから、y座標が正負逆になります。この補正も含めると、上の「graphics.drawoval x+50,y+50,2,2」は「graphics.drawoval x+50,-y+50,2,2」となります。

     Basic言語自体がはじめての方は、以下のようなプログラムで「for ~ next」ループの使い方を試してみて下さい。
    Sub Action()
     dim n as integer
     for n=10 to 50
      graphics.drawoval 0 ,0,n*10,n*10
     next
    End Sub
    
  6.  - 初回はここまで -

     できるだけ簡単に、REALbasicの実際の使い方について説明しました。グラフィック関係のその他の命令については、WindowメニューよりReference を選ぶとOnline Referenceが開きますから、Objects よりGraphics Object を選んで下さい。使える命令は全てここに記載されています。ぜひ試してみて下さい。

 今回の「リサージュ」の ソースプログラムです
  
  プロジェクトファイルのみです。REALbasicの最新バージョンが必要です。30 kバイト  

  ソースコードについての質問やご意見がありましたら以下のアドレスまでご連絡下さい。
          koko-@mx2.tiki.ne.jp

このホームページのホストは です。 無料ホームページをどうぞ!