テキストファイルから1行読み出す方法

テキストファイルから1行読み出すためにはFGET関数を利用します。

FGET関数は読み出す行を指定できます。

事前にFOPEN関数を利用してファイルを開く必要があります。

読み込む行の指定は1から始まります。

 

テキストファイルから1行読み出すサンプル

fileID = FOPEN("sample.txt", F_READ) // 読み込みモードでファイルを開く
str = FGET(fileID, 1) // 1行目を変数に読み込む
FCLOSE(fileID)
PRINT str

 

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(無し)を返す

 

FGET関数リファレンス

FGET関数のリファレンスをマニュアルから転載します。

戻値 = FGET( ファイルID, 行, [列, ダブルコーテイション] )
引数
 ファイルID: オープン時に返されたID
 行: 取出したい行 (1から指定)
     F_LINECOUNT  を指定した場合はファイルの行数を返す
     F_ALLTEXT   を指定した場合はファイルの全内容を返す
 列: 取出したい列 (1から指定:,カンマ区切りのCSVファイルに対応)
 ダブルコーテイション:
   FALSE: 両端のダブルコーテイションは削除する (デフォルト)
   TRUE: 削除しない
   2:   CSV処理にて2つ連続ダブルコーティションを1つに (Excel同等処理)
戻値
 取出された値

 

FCLOSE関数リファレンス

FCLOSE関数のリファレンスをマニュアルから転載します。

戻値 = FCLOSE( ファイルID, [エラー処理] )
引数
 ファイルID: オープン時に返されたID
 エラー処理:
   FALSE: エラー時はエラーダイアログを出す (デフォルト)
   TRUE: エラーダイアログを出さない
戻値
 TRUE:正常終了、 FALSE:エラー有り

 

ファイルに文字列を書き込む方法

UWSCではファイルに文字列を書き込むことができますが複数の命令を組み合わせる必要があります。

まずはFOPEN関数を利用してファイルを開き、その後にFPUT関数を利用して文字列を書き込みます。

最後にFCLOSE関数を利用してファイルを閉じた時点でファイル内容が更新されます。

 

ファイルに文字列を書き込むサンプル

fileID = FOPEN("sample.txt", F_WRITE) // 書き込みモードでファイルを開く
FPUT(fileID, "UWSCで書き込みました。")
FCLOSE(fileID)

 

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(無し)を返す

 

FPUT関数リファレンス

FPUT関数のリファレンスをマニュアルから転載します。

FPUT( ファイルID, 書込み値, [行, 列] )
引数
 ファイルID: オープン時に返されたID
 書込み値: 書込み内容
 行: 書込み行 (1から指定)
     0 (デフォルト)で行末に追加
     F_ALLTEXT を指定した場合は行ではなくファイルの全内容として書き込む
 列: 書込み列 (1から指定:,カンマ区切りのCSVファイルに対応)
    F_INSERT  を指定した場合は指定行に挿入

 ※ 注:実際にファイルが更新されるのは FCLOSEが呼ばれた時です

 

FCLOSE関数リファレンス

FCLOSE関数のリファレンスをマニュアルから転載します。

戻値 = FCLOSE( ファイルID, [エラー処理] )
引数
 ファイルID: オープン時に返されたID
 エラー処理:
   FALSE: エラー時はエラーダイアログを出す (デフォルト)
   TRUE: エラーダイアログを出さない
戻値
 TRUE:正常終了、 FALSE:エラー有り

 

ファイルが存在するか調べる方法

ファイルが存在するか調べるためにはFOPEN関数を利用します。

FOPEN関数は通常ファイルを開く場合に利用しますが、引数にF_EXISTSを指定することでファイルの存在をチェックする動作になります。

通常時にファイルが存在しない場合と引数にF_EXISTSを指定した場合では存在しなかった場合の戻り値が違うので注意しましょう。

 

ファイルが存在するか調べるサンプル

flag = FOPEN("sample.txt", F_EXISTS) // ファイルの存在チェックモード
IFB flag
 PRINT "ファイルが存在します"
ELSE
 PRINT "ファイルが存在しません"
ENDIF

 

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(無し)を返す