[PUT] コマンド
ファイルバッファー中のデータをファイルに書き出しします。
文法 PUT #<ファイル番号> [, <数式>]
文例 PUT #3, COUNT
      PUT 2
<ファイル番号>で指定されたファイルに、
対応のファイルバッファーの内容を書き出しします。
<ファイル番号>がSCRN:の場合にはディスプレイへの出力となります。
<ファイル番号>がLPT:の場合にはPrinter PortへのDirectの出力となります。
LPRINTなどと同類で、
Windowsのプリント出力ではありません。
(1)ディスクファイルの場合
ランダムファイルバッファー中のデータをランダムファイルに書き込みます。
指定されたディスクファイルはランダムモードでOPENされていなければなりません。
<数式>はファイルのレコード番号として解釈され、
指定されたレコードにバッファー中のデータが書き出しされます。
レコード番号の最小値は 1,最大値は65000です。1レコードの最大長は 255バイトです。
<数値>が省略された場合には、直前に行われた、
GET、PUTで指定されたレコードの次のレコードに書き込みされます。
ランダムモードでOPENしたファイルの読み込み/書き込みはGET/PUTで行って下さい。
(2)プリンタ(LPT:,LPT1:)あるいはスクリーン(SCRN:)の場合
<ファイル番号>がSCRN:の場合にはディスプレイへの出力となります。
<ファイル番号>がLPT:の場合にはプリンターポートへのDirectの出力となります。
LPRINTなどと同類で、WindowsのPritOutではありません。
バッファ中のデータを、プリンターかディスプレイに出力します。
指定されたファイルは出力モードでOpenされていなければなりません。
<数式>は、バッファから書き出す文字(バイト数)と解釈し、
0〜255の値を指定します。<数式>が省略されたとき、および 0が指定された
ときは256文字(バイト)を出力します。
但し、Fieldで定義したRecordLengthに不足の場合、不足部分の文字列は空文字となります。
超過した場合は、超過部分の文字数を無視します。
[注意](1)、(2)とも、書き出すDataは、
あらかじめFIELD、LSET/RSETにより準備しておかねばなりません。
[GET] 、[OPEN] 、[FIELD] および、
[LSET] 、[RSET] 参照
サンプル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 INPUT "会員番号(1-999)";L%
50 IF L% = 0 THEN 200
60 IF L% >= 1000 THEN 40
70 INPUT "氏名";NAME$
80 INPUT "住所";ADR$
100 LSET L$=MKI$(L%)
110 LSET NF$=NAME$
120 LSET AF$=ADR$
130 PUT #1, L%
140 COUNT = COUNT +1
150 IDENT(COUNT)=L%
160 GOTO 40
200 PRINT "件数 "; COUNT:PRINT
210 FOR I%=1 TO COUNT
220 PRINT IDENT(I%);"; ";
230 NEXT I%
240 CLOSE #1
300 OPEN "D:\DATA_KEY.DAT" FOR OUTPUT AS #2
310 PRINT #2,COUNT
320 FOR I%=1 TO COUNT
330 PRINT #2,IDENT(I%)
330 NEXT I%
340 CLOSE #2
990 END
この場合、 D:\DATA.DAT ランダムファイルにデータがランダムに書き出されます。
ランダムな会員番号をRECORD番号として入力データを書き込みます。
最後に、入力した会員番号を入力順にシーケンシャルファイルに出力しています。