8.5.6 TextRead (テキストファイルから1行分のデータを読み込む)
- 機能
-
テキスト形式ファイルから1行分のデータを読み込みます。
JP1/Script 07-50以降では,ラージファイルが使用できます。
- 形式
TextRead ( FileId , Buff )
- 指定項目
-
- FileId
-
ファイル識別子を数値,または値を格納した変数名で指定します。
このファイル識別子は,TextOpenコマンドで実行結果として返される値です。
なお,TextOpenコマンドのファイルオープン時の動作には,WriteOnly(ファイルを書き込みモードでオープン)以外を指定してください。
- Buff
-
読み込まれた1行分のデータを受け取る変数名を指定します。受け取るデータの文字数が半角文字で1,024文字を超える場合,1,024文字で切り捨てられます。
- 説明
-
指定されたファイル識別子のテキスト形式ファイルの現在の読み書き開始位置から1行分のデータを読み込み,指定された変数に格納します。コマンドが正常に実行された場合は真(True)を,エラーが発生した場合は偽(False)を,コマンドの実行結果として返します。
コマンドの実行結果が真(True)の場合は,読み書き開始位置は次行になります。
また,ファイルの終わりに達した場合はコマンドの実行結果に偽(False)を返し,_RTN_予約変数には_ERR_EOF_予約変数と等しい値が設定されます。しかし,On Errorステートメントで指定したラベルには分岐しません。
- 注意事項
-
TextReadコマンドでファイルの終わりに達した場合,JP1/Scriptではコマンド実行時に異常が発生した場合と同じようにエラーとして処理します。したがって,スクリプト処理が正常終了した場合でも,実行トレースログにはエラーとして記録されます。また,トレースビューア上での表示が異常終了となるので,TextReadコマンドのEOF検出でのエラーは無視してください。
また,TextReadコマンドで読み込まれた1行分のデータを受け取る変数には,直前まで格納していた値が格納されているので,EOF検出後に変数内容が未設定になる状態を期待する処理は作り込まないでください。
- 例
' 実行フォルダ下のテキストファイル"Loging.txt"の内容を, ' 以下のスクリプトで1行づつ読込み内容を表示する。 Dim file1 ,buff1 ,readRtn On Error GoTo ErrorBranch file1 = TextOpen ( _BIN_+"Loging.txt" ,ReadOnly ) TextRead ( file1 ,buff1 ) readRtn = _RTN_ While readRtn <> _ERR_EOF_ MessageBox ( buff1 ) TextRead ( file1 ,buff1 ) readRtn = _RTN_ End TextClose ( file1 ) Exit ( 0 ) ErrorBranch: MessageBox ( _BIN_+"Loging.txtのファイル操作失敗" ,OK ) TextClose ( file1 ) Exit ( -1 )
- 対象バージョン
-
JP1/Script 05-00以降