第6回:Small Basicを使ってみよう

こんにちは。「50歳からのプログラミング講座」を担当するJLabo(ジェイラボ) です。

前回は、テキスト画面を操作するプログラムを勉強しました。今回は、「グラフィック画面にボタンを表示させるプログラム」について進めてみたいと思います。 最初に動作確認用のメッセージを表示するコマンドを試してみます。そのあとグラフィック画面にボタンを表示させる練習をします。

それでは早速、最初にMyHelpを起動してください。 まだ組み込んでいない方は、第1回のコラムをご確認の上ダウンロードしてください。その際、【インストール方法】My Help.pdf を見ながらインストールをお願いします。

第6回:Small Basicを使ってみよう

このMy Helpでは、プログラムのコマンドをコピーして検索したあと、ご自分のコメントを追加することで 自分専用のHelpになりますので是非ご活用ください。

ではまずMy Helpの検索ボックスに 「Message」 と入力します。
第6回:Small Basicを使ってみよう
第6回:Small Basicを使ってみよう

コピーをクリックすると以下のコマンドがクリップボードに転送されます。
GraphicsWindow.ShowMessage(text,title)

text=”ごきげんよう”
title=”メッセージです”
GraphicsWindow.ShowMessage(text,title)
text と title は変数なので何でもかまいません。

A1="ごきげんよう"
A2="メッセージです"
GraphicsWindow.ShowMessage(A1,A2)

これを Small Basic に組み込んでみます。

第6回:Small Basicを使ってみよう

実行をクリックすると 以下が表示されます。

第6回:Small Basicを使ってみよう

次に以下のコマンドを作っていきます

背景色= GraphicsWindow.GetColorFromRGB(128,255,255)
幅=640  ' データ表示エリア
高さ=480
GraphicsWindow.Clear() ' 画面を初期化のために消去します。文末に()が必要

GraphicsWindow.Width=幅 ' Graphics Window の横幅を取得または設定します GraphicsWindow.Height=高さ ' Graphics Window の高さを取得または設定します GraphicsWindow.BackgroundColor =背景色 ' Graphics Window の背景色設定

A1="プログラム終了"
A2="メッセージです"
GraphicsWindow.ShowMessage(A1,A2)
Program.End()' ShowMessage のOKボタンが押されたらプログラムを終了します。 

このコマンドを貼り付けて 実行すると以下の様になります。 水色のエリアが今回勉強する GraphicsWindow のエリアになります。 幅が640、高さが480のエリアで、この範囲の座標を設定することで自由に描画できるようになります。

ちなみにこれはMS-DOS時代の一般的な画面サイズ(座標)です。25行×80文字(半角)だった気がします。このサイズでゲームをしたり仕事をしていたんですね。

第6回:Small Basicを使ってみよう

次にボタンを配置します。「終了」のボタンを画面のほぼ中央に配置してみましょう。赤字のコマンドをコピーしてプログラムに追加してください。

白色="White"
青色="Blue"
背景色= GraphicsWindow.GetColorFromRGB(128,255,255)
幅=640  ' データ表示エリア
高さ=480
GraphicsWindow.Clear()  ' 画面を初期化のために消去します。
GraphicsWindow.Width=幅 ' Graphics Window の横幅を取得または設定します 
GraphicsWindow.Height=高さ ' Graphics Window の高さを取得または設定します 
GraphicsWindow.BackgroundColor =背景色 ' Graphics Window の背景色
終了= Controls.AddButton(" 終了します。 ", 250 , 250)
A1="プログラム終了"
A2="メッセージです"
GraphicsWindow.ShowMessage(A1,A2)
Program.End()' ShowMessage のOKボタンが押されたらプログラムを終了します。

第6回:Small Basicを使ってみよう

ちょっと小さいですね。また文字の色も指定しましょう。

GraphicsWindow.BrushColor = 青色 ' 図形の塗りつぶしに使うブラシの色 
GraphicsWindow.FontSize =20
終了= Controls.AddButton(" 終了します。 ", 250 , 250)

第6回:Small Basicを使ってみよう

もう一つボタンを追加します。

GraphicsWindow.BrushColor = 青色 ' 図形の塗りつぶしに使うブラシの色
GraphicsWindow.FontSize =20
クリック = Controls.AddButton("クリックしてください", 250, 200)
終了= Controls.AddButton(" 終了します。 ", 250 , 250)

第6回:Small Basicを使ってみよう

ボタンは出来ましたが表示しているだけです。 このボタンをクリックすると反応するようなプログラムにしていきます。

以下が、ボタンをクリックすると反応するコマンドです。

Controls.ButtonClicked = 判定 ‘ ボタンがクリックされたら SUB 判定 に分岐しなさい。  Sub 判定 というプロシジャーを作りこの中に処理を記述します。

プログラムは記述した順番で実行するのですが、分岐のコマンドを設定しておくと 優先的に割り込んで実行してくれます。ちょっとわかりにくいかもしれませんが、慣れるととても便利な機能です。割り込みがあるまで待ち続けるための無限ループ場所をもうけます。

開始ポイント: ' 開始ポイント ここから始まります。
' 分岐指示があるまで無限ループに入ります。
Goto 開始ポイント

無限ループの抜け出しに失敗した場合、プログラムを終了するにはメイン画面右下の 「プログラムの終了」 をクリックします。

第6回:Small Basicを使ってみよう

クリックされた時のコメントを修正した最終のプログラムです。

青色="Blue"
背景色= GraphicsWindow.GetColorFromRGB(128,255,255)
幅=640  ' データ表示エリア幅
高さ=480  ' データ表示エリア高さ
NN=0   'クリック数のカウント用
GraphicsWindow.Clear()   ' 画面を初期化のために消去します。 
GraphicsWindow.Width=幅 ' Graphics Window の横幅を取得または設定します
GraphicsWindow.Height=高さ ' Graphics Window の高さを設定します 
GraphicsWindow.BackgroundColor =背景色 ' Graphics Window の背景色
GraphicsWindow.BrushColor = 青色 ' 図形の塗りつぶしに使うブラシの色 
GraphicsWindow.FontSize =20
クリック = Controls.AddButton("クリックしてください", 250, 200)
終了= Controls.AddButton(" 終了します。 ", 250 , 250)
Controls.ButtonClicked = 判定 ' ボタンがクリックされたら Sub 判定 に分岐しなさい。 
開始ポイント: ' 開始ポイント ここから始まります。
' 分岐指示があるまで無限ループに入ります。

Goto 開始ポイント

Sub 判定
If Controls.LastClickedButton = 終了 Then
A1="「終了」が押されました。終了します。"
A2="メッセージです"
GraphicsWindow.ShowMessage(A1,A2)
Program.End()   ' ShowMessage のOKボタンでプログラムを終了します。
EndIf
 
If Controls.LastClickedButton = クリック Then
Nn=Nn+1
A1="「クリック」が押されました。" + Nn + "回目です。" 
A2="メッセージです"
GraphicsWindow.ShowMessage(A1,A2)
EndIf 
 
EndSub

第6回:Small Basicを使ってみよう

このプログラムはWebに登録してありますので、インポートから読み込むことが出来ます。 プログラムIDは KKX974 になります。

第6回:Small Basicを使ってみよう
第6回:Small Basicを使ってみよう

今回のプログラム講座はここまでです。いかがでしたでしょうか。

ボタンの設置と割り込みの勉強が終わりましたので、いよいよゲームの本題に入る準備ができたのですが、次回は他の Small Basic ユーザーがWebに登録している 数多くのプログラムをご紹介します。

Small Basic の様々な機能の確認が出来ると思いますので、どうぞお楽しみに!!


ではここからは、「我が家の工夫」コーナーです。

前回に続き、工具のご紹介なのですが、今回のテーマは「穴開け」です。貫通のあなは「孔」、くぼんだあなは「穴」 の漢字を充てると記憶していたのですが、確認のため調べたら、それはどうやら間違いのようです。 日本語は難しいですね。

下の写真は「ハトメ」の穴をあけてカシメる工具です。いろいろ便利なのですが、たとえば「PPシート」を加工して小物を入れる箱を後ほどご紹介します。
第6回:Small Basicを使ってみよう

これは「穴あけパンチ」という工具です。ヘッドを回転することで穴の大きさを変更できます。
第6回:Small Basicを使ってみよう 第6回:Small Basicを使ってみよう

ドリル
コンクリートドリル
前後に打撃を加えながら回転して削るので、振動ドリルや強力なハンマードリルが必要です。 左の2本は普通のコンクリートドリルですが、右側は軸が三角のデルタゴンビットでより正確な穴が開けられます。
第6回:Small Basicを使ってみよう

先端だけが幅広になっています。
第6回:Small Basicを使ってみよう

こちらは先端と軸そのものが3角形です。
第6回:Small Basicを使ってみよう

振動ドリルですが、これは普通のドリルとの切替が出来るタイプです。久し振りに取り出しましたがずいぶん汚れています。最後に使ったのはどこだったか忘れました。 当時としては切替タイプは珍しかったのですが、今はいろいろ売っているようです。
第6回:Small Basicを使ってみよう 第6回:Small Basicを使ってみよう

ステップドリル 少しずつ穴を大きくしていきます。
第6回:Small Basicを使ってみよう

テーパー状に穴を大きくするドリルです。
第6回:Small Basicを使ってみよう

これは穴開けではありません。バリとり用の工具です。奇妙な形ですが、きれいにバリ取りが出来ます。
第6回:Small Basicを使ってみよう

6mm程度の穴ならこれでバリ取りします。また皿ねじのざぐりにも使えます。
第6回:Small Basicを使ってみよう

ねじでざぐりの位置が変えられる工具です。
第6回:Small Basicを使ってみよう

これは穴をあけるのではなく回転するヤスリです
第6回:Small Basicを使ってみよう

細いドリル
0.5mm 0.8mm 1.0mm 1.3mm のドリルです。
第6回:Small Basicを使ってみよう

同じ細いドリルで0.3mm から1.0mm まで0.05mm おきにケースに入っています。
第6回:Small Basicを使ってみよう
第6回:Small Basicを使ってみよう

木ねじ下穴用のテーパードリルです。とても折れやすい弱点があります。
第6回:Small Basicを使ってみよう

ドリルスタンドのいろいろ
第6回:Small Basicを使ってみよう

使っていませんがこんなのもあります。
第6回:Small Basicを使ってみよう

円形のドリルケースはとても便利です。新しいのが欲しいのですが、探しても見つかりません。
第6回:Small Basicを使ってみよう

ルーター用のヤスリです。このほかにもカッターや研磨用バフなどいろいろあります。
第6回:Small Basicを使ってみよう

細いドリルやルータ用のビットをちょっと使うにはピンバイスが便利です。
第6回:Small Basicを使ってみよう

細いドリルは危ないのでボールペンのキャップをはめています。たまたまぴったり合いました。
第6回:Small Basicを使ってみよう
第6回:Small Basicを使ってみよう

スチールボールや細かな部品をはさむピンバイス(チャック)です。正式な名前はわかりません。
第6回:Small Basicを使ってみよう 第6回:Small Basicを使ってみよう

細かな部分を削るときは高速で回転するミニルータを使います。ペンタイプで軽くて使いやすく回転数も手元で変えられます。
第6回:Small Basicを使ってみよう

少し大きいタイプです。逆回転が出来ます。トルクもあります。
第6回:Small Basicを使ってみよう

こちらは高速回転できる強力タイプです。
第6回:Small Basicを使ってみよう

垂直に穴をあけるときは、やはり卓上ボール盤が便利です。これは6mm までで、力もありませんがまあまあ使えます。
第6回:Small Basicを使ってみよう

普通は充電ドリルを使います。なんとなくボッシュでそろえましたが特にファンというわけではありません。予備バッテリーの関係でこうなってしまいました。左から、高トルク、普通、インパクトタイプ、ハンディタイプで、ほとんどはハンディタイプで事足りています。
第6回:Small Basicを使ってみよう

充電ドリルはドライバとしても使います。上のアダプタはマグネットが付いていてワンタッチでビットを交換出来ます。
第6回:Small Basicを使ってみよう

六角ビットはL型に比べるととても早く締め付けられます。最後の一締めはちょっと頼りないし無理に充電ドライバを回すと内部のギヤを 破損する可能性があるのでL型の補助として使います。
第6回:Small Basicを使ってみよう

ビットや手締めのドライバー先端は着磁しているとねじを吸い付けて作業がやりやすくなります。 オレンジのは100均です。2枚のマグネットでドライバ先端をこすると着磁する仕組みです。
第6回:Small Basicを使ってみよう 第6回:Small Basicを使ってみよう

こちらは通すだけで着磁するタイプでしかも脱磁が出来ます。
第6回:Small Basicを使ってみよう


では小物箱を作って見ます。同じ大きさの箱が複数個欲しい場合には作り方も簡単なのでよろしいかと思います。

例として50mm立方体の箱を作ります。幅50mm 長さ200mm の板を用意します。100均のPPシートや不要になったファイルの表紙でも良いかもしれません。あり合わせの材料で試してみましよう。カッターナイフ、定規、ドライヤーおよびハトメとハトメパンチ、粘着テープが必要です。
第6回:Small Basicを使ってみよう

1枚は長さ132mm にカットします。
第6回:Small Basicを使ってみよう

カッターナイフでキズを付けます。
厚さの1/3くらいが良いと思います。
25mm 50mm 50mm 50mm 25mm のサイズにして下さい。
第6回:Small Basicを使ってみよう

ドライヤーでキズの両面を暖めます。
柔らかくなったら静かに曲げます。
パチっと音がしたら失敗です。 端材でコツをつかんでください。
仮止めします。本止めでもかまいません。
セロテープだと弱いので梱包用の透明テープがおすすめです。
第6回:Small Basicを使ってみよう

もう一枚の板をハトメパンチで固定します・
第6回:Small Basicを使ってみよう

反対側もハトメパンチで固定します。
裏側をテープで固定します。
第6回:Small Basicを使ってみよう 第6回:Small Basicを使ってみよう

底がRになっているので小さな部品が取りやすいと思います。
第6回:Small Basicを使ってみよう

では次回をお楽しみに!!