システム関数

関数一覧

ARRAY_SIZE CLOSE_IN CLOSE_OUT CURDIR ENV
EOF_IN EXEC EXECFILTER EXECSTR EXPR
FXPR ISDIR ISDRIVE ISFILE ISREADY
ISUPDATE LINE_IN LINE_OUT OPEN_IN OPEN_OUT
PATH_D PATH_DP PATH_DPN PATH_E PATH_N
PATH_NE PATH_P STR_OUT VARLEN

変数に関するもの

VARLEN

num VARLEN( { 文字変数名 | 文字配列名 } )
文字変数、あるいは、文字配列要素の格納可能な文字数を返す。

ARRAY_SIZE

num ARRAY_SIZE( 配列名 )
配列の要素数を返す。

パスの取扱

PATH_D

str PATH_D( str フルパス名 )
パス名からドライブ名を取り出す。パス名が長すぎると空文字列を返す。

PATH_P

str PATH_P( str フルパス名 )
パス名からディレクトリ名を取り出す。パス名が長すぎると空文字列を返す。

PATH_N

str PATH_N( str フルパス名 )
パス名から拡張子を含まないファイル名を取り出す。パス名が長すぎると空文字列を返す。

PATH_E

str PATH_E( str フルパス名 )
パス名から拡張子を取り出す。ここで取り出す拡張子は先頭の.も含む。 パス名が長すぎると空文字列を返す。

PATH_DP

str PATH_DP( str フルパス名 )
パス名からドライブ名とディレクトリ名を連結してを取り出す。 パス名が長すぎると空文字列を返す。

PATH_DPN

str PATH_DPN( str フルパス名 )
パス名から拡張子を取り除く。 パス名が長すぎると空文字列を返す。

PATH_NE

str PATH_NE( str フルパス名 )
パス名から拡張子を含むファイル名を取り出す。 パス名が長すぎると空文字列を返す。

ファイルシステム

ISFILE

bool ISFILE( str ファイル名 )
ファイル名はファイルか?

ISDIR

bool ISDIR( str ディレクトリ名 )
ディレクトリ名はディレクトリか?

ISDRIVE

bool ISDRIVE( str ドライブ名 )
ドライブ名は有効なドライブか?

ISREADY

bool ISREADY( str ドライブ名 )
ドライブはレディ状態か?

ISUPDATE

bool ISUPDATE( str 新ファイル名 , str 旧ファイル名 )
新旧のファイルの日付を比較して、新ファイルが古ければTRUEを返す。 ファイル更新の必要性を検定する。更新が必要ならばTRUEとなる。
  1. 旧ファイルが存在していなければ、FALSE
  2. 旧ファイルが存在し、新ファイルが存在していなければ、TRUE
  3. 新旧ともに存在しているときは、新ファイルが旧ファイルより古ければTRUE。

システム環境

ENV

str ENV( str 環境変数名 [ , str] )
環境変数の取得、設定。
値を省略すると環境変数の取得。値を書くと環境変数の設定となる。 取得の場合は、環境変数の値を返す。設定の場合は、値がそのまま。
環境変数名が長すぎると正常に動作しない。 また、取り出せる環境変数の値は、4000文字程度が限度。

CURDIR

str CURDIR( [ str パス ] )
カレントディレクトリの設定、取得。
パスを省略すると、取得。パスを指定すると設定。 カレントディレクトリを文字列として返却する。 長すぎるパスはエラーとなる。

コマンドライン実行

EXEC

num EXEC( str コマンドライン )
コマンドラインを実行する。実行結果を数値で返す。 コマンドラインが長すぎると実行できないので注意(2000文字程度)。
細かい操作の出来るDOTAB.EXEとして使用できる。

EXECSTR

str EXECSTR( str コマンドライン )
コマンドラインを実行し、その標準入力を文字列で戻り値とする。 コマンドラインが長すぎると実行できないので注意(2000文字程度)。
返される文字列にはフィルターがかかり、 制御コードはTAB及びEOL以外は取り除かれている。 TAB、EOLを取り除くには、REJECT_CTRL関数を用いると良い。

EXECFILTER

str EXECFILTER( str コマンドライン , str 文字列 )
文字列を標準入力として与えて、コマンドラインを実行し、その標準入力を文字列で戻り値とする。 コマンドラインが長すぎると実行できないので注意(2000文字程度)。
返される文字列にはフィルターがかかり、 制御コードはTAB及びEOL以外は取り除かれている。 TAB、EOLを取り除くには、REJECT_CTRL関数を用いると良い。

簡易計算

EXPR

str EXPR( str TSEXPR式 [ , str 引数文字列 ]* )
TSEXPRを実行し、結果を文字列で返す。
  1. TSEXPRのSYS関数には、後続の引数文字列が1から順に対応する。
  2. TSEXPR内部で、FXPRを使用できる。

FXPR

str FXPR( str TSFXPR式 [ , str 引数文字列 ]* )
TSFXPRを実行し、結果を文字列で返す。
  1. TSFXPRのSYS関数には、後続の引数文字列が1から順に対応する。
  2. TSFXPRのMn関数には、後続の引数文字列が実数として1から順に対応する。

出力ファイル

OPEN_OUT

bool OPEN_OUT( str ファイル名 )
出力ファイルを開く。エラーが起きなければ、常に真を返す。
通常は使用すべきではない。

CLOSE_OUT

bool CLOSE_OUT( )
出力ファイルを閉じる。エラーが起きなければ、常に真を返す。
通常は使用すべきではない。

STR_OUT

bool STR_OUT( str 出力データ )
文字列を出力する。エラーが起きなければ、常に真を返す。
通常は使用すべきではない。 行末コードの刈り込みのみが内部で行われる。

LINE_OUT

bool LINE_OUT( str 出力データ )
行を出力する。エラーが起きなければ、常に真を返す。
通常は使用すべきではない。 行末コードの刈り込みのみが内部で行われる。

入力ファイル

OPEN_IN

bool OPEN_IN( str ファイル名 )
入力ファイルを開く。エラーが起きなければ、常に真を返す。
通常は使用すべきではない。

CLOSE_IN

bool CLOSE_IN( )
入力ファイルを閉じる。エラーが起きなければ、常に真を返す。
通常は使用すべきではない。

LINE_IN

str LINE_IN( )
文字列を行単位で読みこむ。
通常は使用すべきではない。 制御コードはタブ以外は削除される。文字列末に行末コードは付かない。

EOF_IN

bool EOF_IN( )
ファイル末を検定する。