open ステートメント
構文1 open string for input as #num
構文2 open string for output as #num
構文3 open string for append as #num
構文4 open string for binary as #num
それぞれ、指定したファイル名(string )をファイル番号num (1〜5) を使用して開きます。
num は freefile 関数で取得することもできます。
機能1
読み込み用に開きます。これ以後、lineinput を使用して内容を読み込めます。
指定したファイルが存在しないときはエラーになります。
機能2
書き込み用に開きます。これ以後、print を使用してデータを書き込めます。
指定したファイルが存在するときはサイズ0に切りつめられるので注意してください。
指定したファイルが存在しないときは新規に作成されます。
機能3
ファイルの末尾に追加書き込み用に開きます。これ以後、print を使用してデータを書き込めます。必ずファイルの末尾に書き込まれる点に注意してください。
指定したファイルが存在しないときは新規に作成されます。
機能4
読み書き用に開きます。seek で読み書き位置を変更して inputb$ で読み込んだり、print で書き込んだりできます。
指定したファイルが存在しないときは新規に作成されます。
■例1 test.txt を読み込み、文書に挿入します。
dim a$
open "test.txt" for input as #1
do until eof(1)
lineinput #1, a$
@Input a$
@CharReturn2
loop
close #1
■例2 QXのあるディレクトリの file.txt にカレント文書のファイル名を追加します。
open @@QxDirectory$ + "\" + "file.txt" for append as #1
print #1, @Pathname$
close #1
■例3 test.txt を test.bak に1行単位でコピーします。
dim a$
open "test.txt" for input as #1
open "test.bak" for output as #2
do until eof(1)
lineinput #1, a$
print #2, a$
loop
close #1
close #2
■例4 test.txt を test.bak に10000バイト単位でコピーします。
入出力の単位が大きくなるので例3よりもかなり高速です。
dim a$
open "test.txt" for input as #1
open "test.bak" for output as #2
do until eof(1)
a$ = inputb$(10000, #1)
print #2, a$;
loop
close #1
close #2
最新情報 TOP マクロTOP