トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | 履歴 ]

#navi(/YAYA/マニュアル/システム関数)

#contents

*DUMPVAR [#m510428b]

現在システム内に保持されている変数をログファイルにダンプします。~
引数はありません。デバッグ用の機能です。

*ERASE[#bcd2b170]
>[v4:バイト単位から文字単位へ変更]

文字列の指定部分を削除します。~
第一引数が対象文字列、第二引数が削除を開始する文字位置、第三引数が削除する文字数です。

*ERASEVAR[#oe218412]
>[v4:ERASEVARIABLEを改名]

指定された変数を削除します。引数には変数そのものでなく変数名の文字列を与えてください。~
戻値はありません。

*EVAL [#g2041fc9]
与えられた文字列を単一の文スクリプトとして実行します。~
単一の、という点に注意してください。マルチステートメントは渡せません。したがって、現状ではEVALは数式の展開程度しかできません。if、forなどの制御構造を含むスクリプトを実行したり、新たに関数を定義したりするパフォーマンスは持っていません。

たとえば以下のコードは変数iに1を代入します。

#code(aya,nooutline,nolink,nonumber){{
EVAL("i=1")
}}

文にはエスケープシーケンスが存在しません。ダブルクォートを文字列に内包する場合はCHR(34)を使用してください。たとえば変数iに"test"を代入するには以下のように記述します。

#code(aya,nooutline,nolink,nonumber){{
EVAL("i=%(CHR(34))test%(CHR(34))")
}}

%の展開を実行時に行いたい場合も、%をCHR(37)としてください。
以下の例は "%(foo)" を実行します。

#code(aya,nooutline,nolink,nonumber){{
EVAL("%(CHR(34))%(CHR(37))(foo)%(CHR(34))")
}}

EVAL結果を文字列に変換する TOSTR(EVAL("formula") と埋め込み展開 "%(formula)" は同じ結果をもたらします。

*EXECUTE [#fa799cdb]

指定したコマンド文字列をコマンドプロセッサに引き渡します。要するに、他アプリケーションやファイルの起動用です。C言語を知る方なら、system関数の改良版と考えると良いでしょう。

第一引数は開く対象のファイル/アプリケーション名です。他の関数と異なり、システムの実行部分に直接引き渡されますので、相対パスは使えないと考えたほうが良いでしょう。
第二引数はアプリケーションに渡される引数です。ブラウザでURLを開きたい、別のソフトでファイルを開きたい、などの場合に使用します。省略可能。

失敗した場合は-1が返されます。

*FATTRIB [#p62b7681]
第一引数で指定したファイルやディレクトリの各種情報を取得します。返り値は汎用配列で、以下のように利用します。

#code(aya,nooutline,nolink,nonumber){{
_attrib = FATTRIB('hoge.txt')

_attrib[0] //アーカイブ可能(Windowsのみ)=1 その他=0
_attrib[1] //圧縮(Windowsのみ)=1 その他=0
_attrib[2] //ディレクトリ=1 その他=0
_attrib[3] //隠しファイル(Windowsのみ)=1 その他=0
_attrib[4] //ふつうのファイル=1 その他=0
_attrib[5] //オフラインファイル(Windowsのみ)=1 その他=0
_attrib[6] //読み取り専用(Windowsのみ)=1 その他=0
_attrib[7] //システムファイル(Windowsのみ)=1 その他=0
_attrib[8] //一時ファイル(Windowsのみ)=1 その他=0
_attrib[9] //ファイル作成日時 UNIXの場合はinode更新日時
_attrib[10] //ファイルの最終更新日時
}}

日時の単位は1970/1/1 0時を基準とした秒数(epoch)です。ふつうの日付情報に直したい場合は GETTIME(_attrib[10]) のようにしてください。

*FCHARSET [#p9c5e3ce]
ファイル書込み/読み取りで使用する文字コードを指定します。以下のうちひとつを選択します。

-0~
Shift_JISを指定します。
-1~
UTF-8を指定します。~
読み取り時にファイル先頭でBOM(Byte Order Mark)が見つかった場合は、自動的に取り除かれます。BOMの書き込みは行いません。
-127~
OSのデフォルトの文字コードを指定します。

FOPENの直前に指定してください。

ファイル単位に異なる文字コードを設定可能です。~
デフォルトの文字コードは基礎設定ファイルのcharsetエントリで設定した値です。~
戻値はありません。

*FCLOSE[#lfd143e4]
>[v4]

FOPENで開いたファイルを閉じます。~
引数にはFOPENで指定したものと同じファイル名を指定します。~
戻値はありません。

*FCOPY[#d520fede]
>[v4]

ファイルをコピーします。~
第一引数がコピー元ファイル名、第二引数がコピー先のディレクトリ名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。

戻値0/1=失敗/成功。

*FDEL[#t2195b21]
>[v4]

指定したファイルを削除します。~
フルパス指定可能。相対パスの場合はaya5.dll loadで渡された位置が基準となります。

戻値0/1=失敗/成功。

*FDIGEST [#ya244a11]

指定したファイルのダイジェスト(ハッシュ)値を得ます。
第一引数が対象ファイル名、DLLのあるディレクトリ基準の相対パスか絶対パスか、どちらも利用可能です。
第二引数はダイジェスト値の種類です。"MD5"でMD5、"SHA-1"または"SHA1"でSHA-1を得ます。
第二引数はダイジェスト値の種類です。"CRC32"で32bitCRC、"MD5"でMD5、"SHA-1"または"SHA1"でSHA-1を得ます。

ファイルがないなど、値生成に失敗した場合は-1が返されます。

*FENUM[#pa80c5d7]
>[v4]

指定位置に存在するファイル名/ディレクトリ名を列挙し、カンマ区切り文字列として返します。~
フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。~
ディレクトリ名は先頭に"\"が付されます。

第二引数にデリミタを指定できます。

*FLOOR[#u983f18f]
>[v4]

実数の小数点以下を切り捨てます。

*FMOVE[#k15fcb73]
>[v4]

ファイルを移動します。
第一引数が移動対象ファイル名、第二引数が移動先のディレクトリ名です。フルパス指定可能。~相対パスの場合はDLL loadで渡された位置が基準となります。
戻値0/1=失敗/成功。

*FOPEN[#g8447174]
>[v4]

ファイルをオープンします。~
第一引数がファイル名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。~
第二引数は読取り/書き込み指定で、以下のいずれかを指定します。

-"w" もしくは"write"
書き込みモードで開きます。
-"r" もしくは"read"
読取りモードで開きます。
-"a" もしくは"append"
追加モードで開きます。

FOPENしたファイルをFREADBIN、FWRITEBINしたい場合には以下の指定を行う必要があります。

-"wb" もしくは"write_binary"
バイナリモードで書き込みモードで開きます。
-"rb" もしくは"read_binary"
バイナリモードで読取りモードで開きます。
-"ab" もしくは"append_binary"
バイナリモードで追加モードで開きます。


戻値0/1/2=失敗/成功/既にオープンしている。

*FREAD[#oa6599a2]
>[v4]

読取りモードで開いているファイルから1行読み取ります。~
第一引数にはFOPENで指定したものと同じファイル名を指定します。~
改行文字は取り除かれます。

ファイル終端に達した際は-1を返します。

*FREADBIN [#wca65185]

読取りモードで開いているファイルから文字コード変換をせずにデータを読み取ります。~
第一引数にはFOPENで指定したものと同じファイル名を指定します。~
第二引数には数値で読み取るバイト数を指定します。

バイト値0を扱えないというYAYAの制限を回避するため、第三引数にはバイト値0の代わりとなる文字を指定します。省略すると半角空白となります。

*FRENAME[#v5df36d0]
>[v4]

ファイル名を変更します。~
第一引数が対象ファイル名、第二引数が新しいファイル名です。フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
戻値0/1=失敗/成功。

*FSIZE[#l2ed2658]
>[v4]

指定されたファイルのサイズ(バイト数)を取得します。~
フルパス指定可能。相対パスの場合はDLL loadで渡された位置が基準となります。
失敗した場合-1を返します。

*FWRITE[#r9b6e025]
>[v4]

書き込みモードで開いているファイルに文字列を書き込みます。~
引数にはFOPENで指定したものと同じファイル名を指定します。

戻値はありません。

*FWRITE2[#i2eab795]
>[v4]

書き込みモードで開いているファイルに文字列を書き込みます。~
引数にはFOPENで指定したものと同じファイル名を指定します。~
戻値はありません。
FWRITEは改行コードを自動的に書き込みます。FWRITE2は書き込みません。

*FWRITEBIN [#wca65185]

書き込みモードで開いているファイルから文字コード変換をせずにデータを書き込みます。~
第一引数にはFOPENで指定したものと同じファイル名を指定します。~
第二引数には書き込むデータを文字列で指定します。

バイト値0を扱えないというYAYAの制限を回避するため、第三引数にはバイト値0の代わりとなる文字を指定します。省略すると半角空白となります。

#navi(/YAYA/マニュアル/システム関数)