FOPEN

FOPEN関数

ファイルをオープンする

戻値 = FOPEN( ファイル名, [オープンモード])

引数
ファイル名・・・テキストファイルの名前
オープンモード・・・ファイルをオープンする際の方法を指定

・F_READ・・・読み専用モード(デフォルト)

SJIS、UTF8、UTF16に対応

・F_WRITE・・・書き専用モード

既にファイルがあれば前の情報は消去
UNICODEがある場合に UTF8、無い場合にはSJISになる

・F_READ or F_WRITE・・・読み書き両用指定
・F_EXISTS・・・存在チェック

ファイルオープンせずにファイルが存在するかを返す
ディレクトリをチェックしたい場合は最後に \を付加

下記は追加で指定をする
・F_EXCLUSIVE・・・排他制御

排他制御の読み書き・・・F_READ or F_WRITE or F_EXCLUSIVE

・F_TAB・・・CSV処理に対しカンマではなくタブを使用
・F_NOCR・・・最後の改行をしない

書き込みにてファイルの最後の改行は付加しない
F_WRITE or F_NOCR

※文字コード指定する際は、F_WRITEの代わりに以下を使用する

・F_WRITE8・・・UTF8
・F_WRITE8B・・・BOM付きUTF8
・F_WRITE16・・・UTF16
・F_WRITE1・・・SJIS

戻値
・ファイルID、オープンできない場合は-1
・F_EXISTS指定時はTRUE(有り)/ FALSE(無し)

ファイルの存在をチェックする

F_EXISTSを使用し、ファイルの存在有無をチェックします。

//一回目のチェック
IFB FOPEN("C:\myTest.txt", F_EXISTS)
 MSGBOX("C:\myTest.txtは存在します。")
ELSE
 MSGBOX("C:\myTest.txtは存在しません。")
ENDIF

//C:\myTest.txtを作成
MSGBOX("日時を記入したファイルC:\myTest.txtを作成します")
DOSCMD("echo %DATE%%TIME% > C:\myTest.txt")

//二回目のチェック
IFB FOPEN("C:\myTest.txt", F_EXISTS)
 MSGBOX("C:\myTest.txtは存在します。")
ELSE
 MSGBOX("C:\myTest.txtは存在しません。")
ENDIF

//中身を確認した後、ファイル自体は削除
MSGBOX("C:\myTest.txtをメモ帳で開き、削除します")
DOSCMD("notepad C:\myTest.txt")
DOSCMD("del C:\myTest.txt")

このスクリプトでファイル存在チェックが行えます。
スクリプト実行後は作成したファイルは不要なので
削除しています。
通常、ファイルに対して何らかの処理をする場合は
FOPEN関数でファイルIDを取得し、
そのIDを使用して命令を実行させます。

ファイルIDを取得するファイルを実行時に指定する

INPUTボックスを使用して、ファイルIDを取得するファイルを
実行時に指定してみましょう。
スクリプトは下記のようになります。


続きは、ログインもしくは、登録してください



このページの先頭へ