独自の拡張(file)
SET #経路番号 : ENDOFLINE 文字列式
PRINT文,WRITE文における行末(または記録末)文字を設定する。
設定可能な値は,CHR$(13)&CHR$(10),CHR$(13),CHR$(10)のいずれか。
この文を実行する前の行末文字はCHR$(13)&CHR$(10)である。
COMMポートでは,入力文にも適用する。ただし,CHARACTER INPUT文には適用されない。
ASK #経路番号 : FILESIZE 数値変数
バイト単位のファイル長を数値変数に代入する。
SET DIRECTORY a$
カレントディレクトリを文字列式a$が指定するディレクトリに変更する。
ASK DIRECTORY s$
カレントディレクトリを表す文字列を文字列変数s$に代入する。
FILE GETNAME s$
ファイルを開くダイアログを表示し,利用者が指定するファイル名を文字列変数s$に代入する。
FILE GETNAME s$, 文字列式
文字列式の値を既定の拡張子としてファイルダイアログを開く。
FILE GETOPENNAME s$
FILE GETOPENNAME s$, 文字列式
存在しないファイルは指定できない。他はFILE GETNAMEと同じ。
FILE GETSAVENAME s$
FILE GETSAVENAME s$, 文字列式
保存ダイアログを表示する。機能的にはFILE GETNAMEと同じ。
FILE SPLITNAME (a$) path$, name$, ext$
ファイル名を表す文字列式a$を,ドライブ名とパス名を表す部分,ファイル名本体,拡張子部分の3つに分割し,文字列変数path$, name$, ext$に代入する。
FILE RENAME a$,b$
a$が示すファイルの名前をb$に変える。a$,b$は文字列式を書く。
a$が指示するファイルが存在しないとextype9003,b$が指示するファイルがすでに存在する場合はextype 9004,他の理由で改名できないときはextype 9000 の例外状態になる。
FILE DELETE a$
文字列式a$が示すファイルを削除する。
ファイルが存在しないとextype 9003,削除できないときはextype 9000の例外状態になる。
True BASICのUNSAVE文,Microsoft系BASICのKILL文に相当。
FILE LIST 文字列式,s$
s$には1次元文字列配列を書く。
文字列式に合致するファイル名の一覧をs$に代入する。
文字列式にはワイルドカードを含めることができる。
s$の上限は合致するファイル数にしたがって変更される。
ただし,合致するファイルが存在しないと,extype 6005の例外を生成し,
ファイル数が配列に許される要素数を超えると,extype 5001の例外を生成する。
組込関数
FILES(文字列式)
文字列式に合致するファイルの数。存在しなければ0。
FILE文の使用例
指定ファイルに含まれる英字をすべて大文字に変換する。
100 FILE GETNAME s$ 110 FILE SPLITNAME(s$) path$,name$,ext$ 120 LET t$=path$ & name$ & ".TMP" 130 OPEN #1:NAME s$ 140 OPEN #2:NAME t$ 150 ERASE #2 160 DO 170 LINE INPUT #1,IF MISSING THEN EXIT DO:line$ 180 LET line$=UCASE$(line$) 190 PRINT #2:line$ 200 LOOP 210 CLOSE #2 220 CLOSE #1 230 FILE DELETE s$ 240 FILE RENAME t$,s$ 250 END
FILES関数とFILE LISTの使用例
10 LET s$="c:\BASICw32\sample\*.bas" 20 LET n=files(s$) 30 IF n>0 THEN 40 DIM names$(n) 50 file list s$, names$ 60 MAT PRINT names$ 70 END IF 80 END
DIRECTORY GETNAME s$
フォルダ選択ダイアログを表示し,利用者が指定するフォルダのパス名を文字列変数s$に代入する。
MAKE DIRECTORY 文字列式
ディレクトリを作成する。
REMOVE DIRECTORY 文字列式
ディレクトリを削除する。