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