REALbasicでの注釈文は「rem」、「//」、「'」のいずれかのうしろ1行です。プログラムをわかりやすくするために注釈文は必要です。4/1
StaticText1.text="1行目"+chr(13)+"2行目"のようにすると、テキストを2行にできます。
第3回 - EditField、StaticText、Dialog、Moduleを使ってみよう -
リサージュのプログラムを元にして、条件(初期位相)を変更できるものを作ってみましょう。DialogとModuleの使い方です。
- - 準備 (前回を参考に)-
- REALbasicのアイコンをダブルクリックすると、初期画面が出ます。 まずEditメニューのEditor Settingsを選びます。ここでDefault Control FontのFontを「System」に変更しておきます。これで表示に日本語が使えるようになります。
- Untitledのウィンドウをアクティブにして、作業をはじめます。まずTitleの欄にはUntitleと表示されています。この「Untitle」を「リサージュ」に変更して下さい。
- HasBackColorにチェックを入れて、BackColorのプロパティをダブルクリックして好きな色を選んで下さい。
- - StaticTextを配置する -
ツールボックスから「A」の絵の付いたアイコン(StaticText)をドラッグして「リサージュ」のウィンドウに持ってきます。4隅に黒いマークの付いたハンドルが表示されます。StaticTextは文字や数字を表示するためのものです。「リサージュ」のウィンドウの上部に表示したいので。適当に配置して下さい。
- - 終了ボタンを配置する -
ツールボックスからボタン(「OK」の絵の付いたアイコン)をドラッグして「リサージュ」のウィンドウに持ってきます。このボタンに、終了のプログラムを書き込んで下さい。ボタンをダブルクリックして「quit」でしたね。
- - スタートボタンを配置する -
2つめのボタンを「リサージュ」のウィンドウに持ってきます。Captionの欄は「スタート」としておきます。
- - 設定変更ボタンを配置する -
3つめのボタンを「リサージュ」のウィンドウに持ってきます。Captionの欄は「設定変更」としておきます。
- - Canvasを配置する -
Canvas(ツールボックスにある夕日の絵(朝日かな?)の付いたアイコンです。)を「リサージュ」のウィンドウに持ってきます。Propertiesのウィンドウ内で、Leftを10 ,Topを50 ,Widthを200 ,Heightを200に変更します。先ほどのStaticTextと3つのボタンはこれにかからない位置に配置し直して下さい。
- - Window1にプログラム開始 -
- 「リサージュ」のウィンドウ内の「スタート」と表示されたPushButton2をダブルクリックする。
- プログラムのコードを書き込みます。(前回の「リサージュ0.2」を少し変更するか、下の部分をそのままコピーするか、楽な方法で入力して下さい。「dim x,y ,th as double」の部分は「dim x,y as double」に、「th=1.2」の部分は「//th=1.2」と変更します。「staticText1.text="初期位相 th= "+str(th)」と「refresh」をつけ加えます。
Sub Action() dim n as integer dim x,y as double staticText1.text="位相 th= "+str(th) refresh //th=1.2 canvas1.graphics.drawline 10,50,190,50 canvas1.graphics.drawline 50,10,50,190 canvas1.graphics.drawstring "y",50,10 canvas1.graphics.drawstring "x",90,50 for n=0 to 100 y=40*sin(n*6.28/100+th) x=40*sin(2*n*6.28/100) canvas1.graphics.forecolor=rgb(150,0,0) canvas1.graphics.drawoval x+50,y+50,2,2 canvas1.graphics.forecolor=rgb(0,150,0) canvas1.graphics.drawoval x+50,n+100,2,2 canvas1.graphics.forecolor=rgb(0,0,150) canvas1.graphics.drawoval n+100,-y+50,2,2 next End Sub「staticText1」に文字や数字を表示させるには、2通りの方法があります。1つは、staticText1のTextプロパティにstring型の文字を代入する方法です。「staticText1.text="初期位相 th= "+str(th)」のようにします。今回はDouble型の変数「th」を表示させたいのでこの方法とりました。「str(th)」はDouble型の変数「th」をstring型にする書式です。「"初期位相 th= "+str(th)」は「"初期位相 th= "」に続けて「str(th)」の変数を表示する命令です。もう1つの方法は、「staticText1」のPropertiesのウィンドウ内で、Textの欄に直接文字を書き込む方法です。この方法では変数を書き込むことはできません。確定した文字だけです。
- 「リサージュ」のウィンドウ内の「設定変更」と表示されたPushButton3をダブルクリックする。
- プログラムのコードを書き込みます。
Sub Action() dim d1 as dialog1 d1=new dialog1 End Sub
この書式は、Window1とは別のもう1つのウィンドウ(Dialog1)を開くためのものです。Dialogを開くときの、呪文のように覚えましょう。 dialog1は、どこにあるのかというと、今から作ります。作り方は、File MenuからNew Windowを選択します。これで「Untitled」と表示されたウィンドウ、Dialog1が作られました。ProjectウィンドウにWindow1とMenuとDialog1の3つが表示されていることを確認して下さい。
- - Module1を作る -
さてここで、REALbasicではどうしても使いこなさねばならない、Moduleを作ります。Window1とDialog1の2つのウィンドウの間で共通に使える変数やサブルーチンを定義するにはModuleが必要となります。Dialog1からはじめのWindow1に変数を送り込むため手段としては「self」を使う方法もあります。(REALbasic覚え書きにサンプルがあります。)今回はModuleを使います。Projectウィンドウをアクティブにして下さい。File MenuからNew Moduleを選択します。これでModule1が作られました。ProjectウィンドウにWindow1とMenuとDialog1とModule1の4つが表示されていることを確認して下さい。
- - Module1にプログラム -
- ProjectウィンドウのModule1をダブルクリックして、Module1のウィンドウを開きます。次に、EditメニューのNew Propertyで「th as double」の宣言をします。Module1でのプログラムは、これでおしまいです。
- - Dialog1にプログラム -
- ProjectウィンドウのDialog1をダブルクリックすると、Dialog1のウィンドウが表れます。
- まずPropertiesのウィンドウ内で、Titleの欄にはUntitleと表示されています。この「Untitle」を「設定変更」に変更します。
- ツールボックスからボタン(「OK」の絵の付いたアイコン)をドラッグして「リサージュ」のウィンドウに持ってきます。Propertiesのウィンドウで、このボタンがPushButton1であることを確認して、Captionの欄の表示を「Untitle」から「設定終了」にします。
- 「設定変更」のウィンドウ内に、ツールボックスから白い枠の付いたアイコン(EditField)をドラッグします。ツールボックスのアイコンで区別が付かないときは、とりあえずドラッグしてみてPropertiesのウィンドウで確認します。間違えたときは、アクティブな状態にして「delete」キーで消せます。
- さらにツールボックスから「A」の絵の付いたアイコン(StaticText)を、先ほどのEditField1の前にドラッグします。PropertiesのウィンドウでTextの欄の「Label:」を「初期位相 th=」と変更します。Textの欄内では日本語が正常に表示されないかもしれませんが、「リサージュ」のウィンドウ内では、正常に表示されます。
- いよいよプログラムです。
- ProjectウィンドウのDialog1をダブルクリックして、Dialog1のウィンドウを開きます。「設定終了」と表示されたPushButton1をダブルクリックして、プログラムを書き込みます。
Sub Action() th=val(editfield1.text) close End Sub
Dialog1内のeditfield1に書き込まれた数字はstring型で「editfield1.text」に入りますので、「th」と型を合わせるために、「val(editfield1.text)」とします。「close」はDialog1を閉じる命令です。
- - アプリケーション作成 -
DebugメニューでRunさせて、プログラムミスをチェックします。さてここから、REALbasicなしで走る単独のアプリケーションを作成します。FileメニューのBuild Applicationを選択します。ダイアログが開きましたら、Name:は適当に、Include:はどちらかあるいは片方にチェックを入れます。Compress: にチェックを入れるとサイズの小さいアプリケーションを作ります。他の部分は適当に。そして「Build」のボタンです。プロジェクトファイル(ソースファイル)のあるフォルダにApplicationが出来上がっているはずです。Icon: に好きな絵をコピーする場合は、あらかじめEditメニューのProject SettingsでMac Creator: を「????」以外の文字(例えば「KOKy」など)にしておく必要があります。それではお楽しみください。
今回の「リサージュ0.3」の ソースプログラムです
プロジェクトファイルのみです。REALbasicの最新バージョンが必要です。30 kバイト
ソースコードについての質問やご意見がありましたら以下のアドレスまでご連絡下さい。
koko-@mx2.tiki.ne.jp