``

前頁 次頁

True`` BASIC `との相違`

`３．本BASICで使えない機能`

`(2) True BASIC独自の機能で本BASICで使えないもの（おもなもの）`

    ・制御関係
        library文
    　　　　ファイル−末尾に追加読込　で対応
        OPTION TYPO
    　　　　オプション−文法−変数宣言を強要　に相当
        OPTION NOLET
    　　　　文法−Microsoft BASIC互換　で対応
        GET KEY
    　　　　CHARACTER INPUTの後，ORD関数を適用する
    　　KEY INPUT
    　　　　ASK CHARACTER PENDINGで対応
    　　END DATA, MORE DATA
    　　　　READ文にIF MISSINGを書いて対応
    　　DECLARE PUBLIC
    　　　　DECLARE EXTERNAL NUMERIC
    　　　　および
    　　　　DECLARE EXTERNAL STRING
    　　　　に相当
        PUBLIC
    　　　　PUBLIC NUMERIC
    　　　　および
    　　　　PUBLIC STRING
    　　　　に分けて書く。
    　　PRIVATE
            share文に書き換える
     　　　（ただし，現バージョンでは非公開にならない）

    ・グラフィックス
        SET BACKGROUND COLOR  (SET BACK)
    　　　　SET COLOR MIX (0) の後，CLEAR
        ASK BACKGROUND COLOR  (ASK BACK)
    　　　　ASK COLOR MIX (0) で対応
    　　BOX LINES
    　　　　GRAPH LINES文で対応
            副プログラムとして定義しておくとよい。
              EXTERNAL SUB BOX_LINES(l,r,b,t)
                GRAPH LINES: l,b; r,b; r,t; l,t; l,b
              END SUB
        BOX AREA
    　　　　GRAPH AREA文で対応
              EXTERNAL SUB BOX_AREA(l,r,b,t)
                GRAPH AREA: l,b; r,b; r,t; l,t
              END SUB
    　　BOX CLEAR
    　　　　GRAPH AREA文で対応
    　　BOX CIRCLE，BOX ELLIPSE
    　　　　DRAW circleで対応
    　　BOX KEEP
    　　　　ASK PIXEL ARRAYで対応
    　　BOX SHOW
    　　　　MAT PLOT CELLSで対応
    　　GET MOUSE
    　　　　MOUSE POLL（規格外）が機能的に近い
        SET MODE, ASK MODE
    　　　　対応なし（ただしグラフィックは常に利用できる）
    　　　　ビットマップのサイズ変更は SET BITMAP SIZE（規格外）
        SET CURSOR, ASK CURSOR
    　　　　対応なし
        OPEN SCREEN
    　　　　対応なし
    　　WINDOW #
    　　　　対応なし

    ・ファイル,I/O関係
        可変長ファイル (ORG RANDOM)
    　　　　対応なし
        固定長ファイル (ORG RECORD)
    　　　　対応なし
        バイトファイル
    　　　　OPTION CHARACTER BYTEを宣言し，CHARACTER INPUT文とPRINT文で対応
        open文のCREATE句
    　　　　対応なし（本BASICの既定値が適用される）
        END #,MORE #
        　　INPUT文などに IF MISSING THENを書いて対応
    　　UNSAVE
            FILE DELETE（規格外）と同義
        ASK FREE MEMORY
    　　　　対応なし

    ・音楽機能
        PLAY文，SOUND文
    　　　　対応なし（本BASICのPLAY文とは機能が異なる）

    ・組み込み関数
        CPOS, CPOSR, NCPOS, NCPOSR, POSR
            外部関数を定義する
            例
    EXTERNAL FUNCTION CPOS(a$,b$,n)
    FOR i=n TO LEN(a$)
       IF POS(b$,a$(i:i))>0 THEN
          LET CPOS=i
          EXIT FUNCTION
       END IF
    NEXT i
    LET CPOS=0
    END FUNCTION
    　　PEEK, UNPACKB, NUM, NUM$, RUNTIME
    　　　　対応なし

    ・組込み副プログラム
    　　DIVIDE
            外部副プログラム定義を利用
    　　　　EXTERNAL SUB DIVIDE(a,b,q,r)
                LET q=INT(a,b)
                LET r=MOD(a,b)
            END SUB
       PACKB, POKE
            対応なし