文字を表示させるあれこれ


N88−日本語BASIC(86)での文字の表示方法は多数あります。
文字を表示させるステートメントは、基本的には
 print ,write 
しかありません。通常は、
 print 
を使います。
まず、通常通りの表示を行なってみましょう。
print "Hello!"[ret]
Hello!
Ok
通常通りの表示がされました。
この文字を、任意の所に表示させてみましょう。
locate 30,10:print "Hello!"[ret]
画面の左隅を(0,0)として(横方向,縦方向)、テキスト画面の(30、 10)の位置に
Hello!
と表示されましたね。
この
 locate 
という命令は、″その位置にカーソルを移動させよ。″と いう意味を持ったステートメントなのです。この
locate
命令には、 カーソル表示の許可、不許可を設定するスイッチがついています。カーソルを 表示させたくない時は、
locate ,,0[ret]
とすれば、その命令を実行した直後からカーソルが表示されなくなります。カー ソルを表示させたい時は、
locate ,,1[ret]
とすれば表示させる事ができます。
カーソルのOn/Offが出て来たので、ついでにファンクションキー表示の On/Offについても述べておく事にします。
テキスト画面の初期条件を設定す時は、
 console 
命令を使用しま す。
例えば、
console 0,24,1,0[ret]
と入力すると、″テキスト画面を0行目から24行分表示させ、ファンクショ ンキー表示をOnにし、モノクロモードで使用する″という指示をした事にな ります。
最初のパラメータはどこから表示(スクロール)させるか、の設定で、2番目 のパラメータは何行表示させるか、の設定で、3番目のパラメータはファンク ションキー表示のOn/Off、の設定で、4番目のパラメータはテキスト画 面のモノクロ/カラーモードの切り替えです。
さて、今度は白黒モードでの強調機能について御紹介しましょう。
まず、
console ,,0
と入力してください。
これで白黒モードになりました。
また、BASIC起動時は白黒モードになっていますので、そのままでも行け ます。
では、早速文字を強調してみましょう。
locate 40,14:print "Hello!":color@(40,14)-(45,14),4[ret]
すると、
Hello!
という文字が反転されて表示されましたね。
ここで、マルチステートメントについて解説しておきます。
上の式の様に、
:
で区切って沢山のステートメントが記述される時 に使用する用語です。
上記のような文のことを、″マルチステートメント文″と言います。
では、この式は、どうゆうふうになっているのか…、それを今から解説しましょ う。
まず、
locate,print
については、既に解説しましたので飛ばすこ とにして、
color@
について解説しましょう。
この、
color@
というステートメントには、文字を修飾する、とい う機能があります。では、それ以外の機能があるのかというと、全然ありませ ん。要するに、文字を強調する時には
color@ を使う、
と覚えておくとよいでしょう。
color@ の使い方は、

color@(始点X,始点Y)-(終点X,終点Y),ファンクションコード

です。
この、始点、終点、というのは、テキスト画面についての座標なので、通常は 、X座標については0から79を、Y座標については0から24を指定します。
ただし、終点より、始点の数値が大きくなってはいけません。
これらに修飾したい部分の座標の数値を代入します。
ファンクションコードというのは、どの修飾を使用するのか、を数値で表した ものです。
この対応を表したものを、以下に記載しておきます。

0…通常の表示
1…表示されない(確かにそこにあるのだけれども見えない)
2…点滅
3…1と同じ
4…文字が反転表示される
5…反転して、文字は表示されない
6…反転して点滅する
7…5と同じ
※NEC発行″N88−日本語BASIC(86)リファレンスマニュアル″参照
上記の数値を ファンクションコード の所に代入すると、それらの機能が使 用できるわけです。
これで、文字の強調ができるようになりました。
最後に、文字に色を付けてみましょう。
まず、テキストモードをカラーにします。
console ,,,1[ret]
次に、先程入力したものを、再度入力してみましょう。
locate 40,14:print "Hello!":color@(40,14)-(45,14),4[ret]
すると、今度は、先程と同じ位置に、緑色で
Hello!
と表示されま した。
使い方は、先程と全く一緒です。
ただし、ファンクションコードの対応が以下のようになっています。
0…黒
1…青
2…赤
3…紫
4…緑
5…水色
6…黄
7…白
※NEC発行″N88−日本語BASIC(86)リファレンスマニュアル″参照
カラーモードで白黒モードの機能を使うことはできません。また、その逆もで きません。ご注意ください。
これだけ知っただけでも、色々と素敵なプログラムができるようになると思い ます。

  • N88−日本語BASIC(86)ホーム
    ご意見、お問い合わせは…
    山本 裕之
    E-mail:hiro1978@mx10.freecom.ne.jp