[GET] コマンド
ファイル中のデータをファイルバッファーに読み込みします。
文法 GET #<ファイル番号> [, <数値>]
文例 GET #3, 5
<ファイル番号>で指定されたファイル中のデータを、
対応のファイルバッファーに読み込みします。
(1) ディスクファイルの場合
ランダムファイルからのデータをランダムファイルバッファーに読み込みます。
指定されたディスクファイルはランダムモードでOPENされていなければなりません。
<数値>はファイルのレコード番号として解釈され、
指定されたレコードがバッファーに読み出されます。
レコード番号の最小値は1 ,最大値は65000 です。
1レコードの最大長は255 バイトです。<数値>が省略された場合には、
直前に行われた、GET、PUTで指定されたレコードの次のレコードが読み込まれます。
ランダムモードでOPENしたファイルの読み込み/書き込みはGET/PUTで行って下さい。
(2) キーボードファイル(KYBD:)の場合
<ファイル番号>がKYBD:の場合にはキーボードからの入力となります。
キーボードから入力した文字をバッファ中に読み込みます。
指定されたFileは入力モードでOpenされていなければなりません。
<数値>は、キーボードからバッファに読み込む文字(Byte数)と解釈し、
0 〜255 の値を指定します。<数式>が省略されたとき、
および 0 が指定されたときは256 文字(Byte)を出力します。
但し、Fieldで定義したRecordLengthに不足の場合、不足部分の文字列は空文字となります。
オーバーした場合は、オーバー部分の文字列を無視します。
[注意](1)、(2)とも、GET命令はバッファへの読み込みを行うものです。
読み込んだDataは、FIELDで指定したField変数で参照できます。
[PUT] 、[OPEN] 、[FIELD] 参照。
サンプル1
10 CLS:DIM IDENT%(200)
20 OPEN "D:\DATA.DAT" AS #1
30 FIELD #1, 2 AS L$, 20 AS N$, 50 AS A$
40 OPEN "D:\DATA_KEY.DAT" FOR INPUT AS #2
50 INPUT #2,COUNT
60 FOR I%=1 TO COUNT
70 INPUT #2,IDENT(I%)
80 GET #1, IDENT(I%)
90 NAME$ = NF$
100 ADR$ = AF$
110 L%=CVI(L$)
120 IF (L% = IDENT(I%)) THEN 140
130 PRINT "STOP BY DATA ILLEGAL"
135 PRINT "会員番号= "; L%, IDENT(I%):GOTO 990
140 LPRINT "会員番号= "; IDENT(I%);" ";
150 LPRINT "氏名= ";NAME$;" ";
160 LPRINT "住所= ";ADR$
170 NEXT I%
180 CLOSE #2
190 CLOSE #1
990 END
この場合、 D:\DATA.DAT はランダムな会員番号をRECORD番号として
入力Dataが書き込みされているランダムファイルで、このファイルからデータが
ランダムに読み出されます。
但し、シーケンシャルファイル D:\DATA_KEY.DATには入力した件数(COUNT)と
会員番号(IDENT(I%))が入力されています。
最後に、入力した会員番号をリストにしています。
[PUT] のサンプルを参照して下さい。