プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > Proserpine Macro > Commands > read

 
 read関連コマンド (ファイル読み込み関連コマンド)
Macro Top | Variables | Constants | Commands | Ex-Commands  


 

ファイル読み込み関連コマンド


read openコマンド
read textコマンド
全行を一度に読み込む (read textコマンド)
read binコマンド
read closeコマンド

 

read openコマンド


dir= で指定したフォルダの file= のテキストファイルを開きます。
file= にフルパスで指定した場合は、dir= の指定を省略します。

オープンするファイルのエンコードは enc= で指定します。例えばEUC-JPでファイルを書き込む場合は、
  enc="EUC-JP"
となります。
指定を省略した場合は UTF-8 になります。

複数のファイルを同時にオープンする場合は id= で識別番号を指定します。 id= の指定を省略した場合は 0 が使用されます (id=0 を指定した場合と同じになります)。
id= に指定できる範囲は 015 です。

オープンしようとしたファイルが存在しない場合、マクロのエラーとなり、マクロの実行はそこで終了します。 このエラーを無視してマクロを続行させる場合は
  igError
のオプションを指定してください。
【例】  read open: dir=Dir.MyDoc file="plainText\\myFile.txt" igError;
(このオプションはversion1.06以降のサポートです)

記述例

  read open: dir="{{GTMAIL_HOME}}" file="test.txt"

  read open: id=1 dir="C:\\MyFile\\Text" file="MyText.txt" enc="EUC-JP"

 

read textコマンド


read textコマンド は、 id= の識別番号でオープンしたファイルから、 O:string= で指定した文字列変数に1行を読み込みます。
id= の指定を省略した場合は、id=0 が使用されます。
O:count= には読み込まれた文字数が設定されます。

ファイル末端は空文字列を返します。空白行との区別は file statusコマンド を使用してください。

Sample code:


 

パラメータ index= を指定して全行を読み込む (read textコマンド)


read textコマンドで、 index= パラメータの指定を行ったときは、ファイルの全行を一度に読み込みます (O:string= の指定は行いません)。
O:count= には読み込まれた行数が設定されます。

各行はそれぞれ別の文字列変数に設定されます。例えば、 index=10 を指定したときは、ファイルの先頭行は str[10] 、 2行目は str[11] 、 3行目は str[12] … と設定されます。

index= には 文字列プレフィクス での指定も可能です。
例えば、 index="Line" を指定したときは、先頭行は str["Line.0"] 、 2行目は str["Line.1"] 、 3行目は str["Line.2"] … と設定されます。

次の例は str["file"] のテキストファイルを str["行.0"] 以降の文字列変数に設定し、 最後の10行をputコマンドで出力します。

Sample code:


strl[ ] のローカル文字列変数に設定するときは、 strl.index= で文字列プレフィクスを指定します。例えば、 strl.index="Line" を指定したときは、先頭行は strl["Line.0"] 、 2行目は strl["Line.1"] 、 3行目は strl["Line.2"] … に設定されます。

 

read binコマンド


read textコマンド は、 id= の識別番号でオープンしたファイルから、 O:bin= で指定したバイト列変数に rCount= で指定したバイト数だけ読み込みます。
id= の指定を省略した場合は、id=0 が使用されます。
O:Count= で指定した整数値変数には 読み込まれたバイト数が設定されます。

 

read closeコマンド


「read openコマンド」で idの識別番号でオープンしたファイルを閉じます。
idが指定されていない場合は、id=0 のファイルを閉じます。

O:nameが指定されている場合、 文字列変数にファイル名(フルパス)を設定します。

記述例

  read close:

  read close: id=1 O:name=str[1]

 

例:特定文字のある行を別ファイルに書き出す


ファイル F:\work\data\source.txt を開いて1行毎に読み出し、文字列 あいうえお を含む行があれば、 それをファイル F:\work\output\result.txt に書き出す例です。

Sample code:


読み出した文字列長が0の場合、ファイル終端の場合があります。 その場合に、file statusコマンドで、 ファイルがクローズされたかどうかをチェックし (ファイル終端まで到達した場合は自動的にクローズされます)、 クローズだった場合はループを抜けます。

読み込みで id=0 を使っているので、書き込みには id=1 を使用しています。 上記例のように、id=0 の場合は指定を省略できます。
[BACK]
プロセルピナ