Syn BASIC (オンラインBASICインタプリタ)(4)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) 次のページへ
2022年11月24日 公開。
2023年01月16日 「上書きモード・挿入モード」の節を追加。

3.画面やキーボードに関する解説

3-1.物理画面と仮想画面

SynBasicの画面には、物理画面と仮想画面の2つがあります。これらの違いを理解するためには、例えばリスト7に示すプログラムを、Syn BASICで実行すると、分かりやすいです。

リスト7、画面に100行出力するプログラムCOPY
10 FOR I=1 TO 100
20  PRINT I
30 NEXT

このプログラムは、1から100までの数字を、1行に1つずつ表示します。つまり、合計で100行表示します。

画面7でRUNボタン(三角形の青いボタン)をクリックすると、リスト7のプログラムを実際に実行できますので、実行してみましょう。

10 FOR I=1 TO 100
20 PRINT I
30 NEXT
画面7、画面に100行出力するプログラム

RUNボタン(青い三角形のボタン)をクリックして、プログラムを実行してみましょう。

プログラムを実行した直後の画面は、実行例1の様になっているはずです。プログラムが100行表示したものの、画面の表示領域が20行しかないために、実際に表示されている実行結果は、20行足らずになっています。

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Ok
実行例1、画面7でプログラムを実行した直後の画面

この状態で、キーを何度も押してカーソルを上に動かしたり、マウスポインターを画面7の中に合わせて上方向に回転させたり、スマホの場合は画面7を下方向にスワイプしたりすると、画面をスクロールダウンさせる事ができます。

一番上の行が表示されるまでスクロールダウンすると、実行例2の様な表示になるはずです。

Syn BASIC Version 0.30α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 FOR I=1 TO 100
20  PRINT I
30 NEXT
run
1
2
3
4
5
6
7
8
9
10
11
12
13
実行例2、画面をスクロールダウンして一番上の行が表示される状態にした様子

この様に、Syn BASIC起動時のSyn BASIC Version…という表示や、プログラムリスト、RUNコマンドのrunという表示、そしてプログラムの実行結果の123、…の表示が全て記憶されており、画面をスクロールすると、それらを順次見る事ができます。つまり、実際に画面に表示されているよりも縦方向に広い画面がメモリ中にあり、その一部を画面に表示している事になります。

Syn BASICでは、実際に表示されている画面を物理画面といい、メモリ中に存在する広い画面を仮想画面と呼びます。

Syn BASICの起動時は、画面の桁数(横幅)は40桁に設定されています。また物理画面の行数(高さ)は20行に設定されています。仮想画面の行数は200行に設定されています。

これらの設定は、WIDTH文で変更する事ができます。

WIDTH文には、数値のパラメータが3つあり、それぞれのパラメータは,(カンマ)で区切ります。1番目のパラメータは画面の桁数(物理画面と仮想画面の両方の桁数)を、2番目のパラメータは物理画面の行数を、3番目のパラメータは仮想画面の行数を表します。

例えば、画面の桁数を80桁、物理画面の行数を25行、仮想画面の行数を1000行にしたい場合はWIDTH 80,25,1000とします。

仮想画面の行数は最大で10000行まで指定できますが、あまり多くの行数を指定すると、メモリを多く消費し、また画面の表示速度が目に見えて遅くなります。プログラムの実行結果が数千行にわたって表示される様な場合を除いて、1000行以下で運用するのがいいでしょう。

3-2.上書きモードと挿入モード

3-2-1.上書きモード・挿入モードとは

大抵のテキストエディタ(例えばWindowsに付属のメモ帳)は、基本的に挿入モードで動作しますが、INSERTキーで挿入モードと上書きモードを切り替えられる様になっています。

挿入モードというのは、キーを押すと、カーソル位置に、キーに対応する文字を挿入する動作モードの事です。

例えば、次に示す様に、ABCDEという文字列が入力されており、カーソルがCの文字の位置にある場合を考えます。

ABCDE
 

挿入モードの場合、ここでFのキーを押すと、カーソル位置にfの文字が挿入され、画面が次の様になります。

ABfCDE
 

一方で、上書きモードというのは、キーを押すと、カーソル位置に元々表示されていた文字が、キーで入力した文字で上書きされる(置き換えられる)動作モードの事です。

例えば、次に示す様に、ABCDEという文字列が入力されており、カーソルがCの文字の位置にある場合を考えます。

ABCDE
 

上書きモードの場合、ここでFのキーを押すと、入力したfの文字が、カーソル位置のCの文字を上書きし、次の様な状態になります。

ABfDE
 

3-2-2.入力時は挿入モード

前述の通り、大抵のテキストエディタではINSERTキーで挿入モードと上書きモードの切り替えができますが、Syn Basicの現バージョンでは、この切り替えの機能が実装されていません。入力時は、必ず挿入モードで動作します。

3-2-3.PRINT文等で表示する場合は上書きモード

PRINT文等で文字列や数値を表示する場合は、常に上書きモードで表示します。

例えば、次に示す様に、画面にABCDEFGと表示されており、カーソルがCの文字にある場合を考えます。

ABCDEFG
 

この状態でPRINT "hij";を実行すると、CDEの文字がhijで上書きされ、次の様な状態になります。

ABhijFG
 
目次へ  前のページへ (1) (2) (3) (4) 次のページへ

関連ページ

Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。