3.本BASICで使えない機能
True BASIC独自の機能で本BASICで使えないもの(おもなもの)
・制御関係 library文 MERGE文で対応可能 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