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

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

#contents

*GETCALLSTACK [#y99f3e1c]
ユーザー関数の呼び出し履歴を、関数名を文字列で表した配列で返します。

*GETDELIM [#r374c918]
変数に設定されているデリミタ(簡易配列字の区切り文字)を返します。デフォルトのデリミタはカンマです。~
第一引数に対象の変数を指定してください。

*GETFUNCLIST [#q982f640]
現在読み込んでいる辞書の関数リストを返します。
第一引数に何も指定しないと全てのリストを汎用配列で返します。何らかの文字列を渡すと、その文字列で始まる関数名を返します。

*GETLASTERROR [#ldeaf091]
>[v4:戻値の体系変更]

直前に発生したシステム関数エラーのコードを返します。コードは以下の通りです。

|コード|意味|
|8|引数不足。|
|9|引数の値が不正。|
|10|空の文字列は処理できない。|
|11|結果を入れる変数がない。|
|12|範囲外、もしくは無効な値。|
|13|処理失敗。|
|14|指定された外部ライブラリはロードされていない。|
|15|指定されたファイルはオープンしていない。|
|16|正規表現の文法に誤りがある。もしくは複雑すぎる。|
|17|正規表現の処理中に未定義のエラーが発生した。|
|18|変数を渡すべき引数が変数となっていない。|


この関数が返す値はSETLASTERROR関数で設定することもできます。
GETLASTERRORを使用して、エラーが起きそうな場所を確実にチェックするには以下のようにすると良いです。

#code(aya,nooutline,nolink,nonumber){{
SETLASTERROR(0)
(システム関数を使用している何らかの処理)
if !GETLASTERROR {
    "エラーが発生しました。"
}
}}

*GETMEMINFO[#f48f6cf6]
>[v4:memory系システム変数相当]

動作環境のメモリ情報を取得します。結果は以下の汎用配列で返されます。

>物理メモリの使用率,物理メモリ量,空き物理メモリ量,仮想+物理メモリ量,仮想+物理空きメモリ量

*GETSECCOUNT [#ne88fe69]
万国標準時で1970/1/1 00:00:00から今までの経過秒数を示します。GETTIME関数と同時に活用することが多いでしょう。

C言語に慣れた方向け:要するにtime関数です。

第一~第七引数を与えることもでき、これらはそれぞれ、

-西暦年,月,日,0,時,分,秒

を示します。~
4つ目は本来「曜日」が入るべき部分ですが、指定する必要はありません。常に0で問題ありませんし、どんな値が入力されても無視します。

なお、月・日・時・分・秒の値は、必ずしも通常の日付の範囲で与える必要はなく、たとえば「13月」にすると、きちんと次の年の1月になるように内部で再計算します。~
何日後、何時間後、といった計算に、GETTIMEと組み合わせて使うと便利でしょう。

C言語に慣れた方向け:要するにmktime関数ですが、年と月は直接値を指定します。1900を引いたり1を引いたりする必要はありません。

#code(aya,nooutline,nolink,nonumber){{
//2006年14月=2007年2月
_array = GETTIME(GETSECCOUNT(2006,14,25,0,15,56,40)
"%(_array[1])月%(_array[2])日"
}}

*GETSETTING [#ab52ee2d]
動作中の文に設定されている情報を返します。
第一引数に取得したい情報を示す文字・番号を指定します。

**新しい引数指定方法 [#e7e92061]
-coreinfo.version~
バージョン番号。"Tc522-1"といった文字列です。
-coreinfo.path~
文がカレントとして認識するディレクトリ絶対パス。
-coreinfo.name~
現在使用中のDLLの名前です。つまり"YAYA"。
-coreinfo.author~
現在使用中のDLLの作者名を文字列として返します。

その他、[[../../3.基礎設定]]で書かれた「基礎設定ファイル」のコマンドを指定することもできます。

**旧バージョン互換指定 [#sedee358]
-0~
バージョン番号。"Tc522-1"といった文字列です。
-1~
文字コード。以下の数値で取得されます。
--0~
Shift_JIS。
--1~
UTF-8。
--127~
OSのデフォルトの文字コード。
-2~
文がカレントとして認識するディレクトリ絶対パス。

*GETSTRBYTES [#o506fa78]
文字列を格納するために必要なバイト数を返します。~
第一引数が対象文字列、第二引数は解釈する文字コードです。以下のうちひとつを選択します。

-0~
Shift_JISを指定します。
-1~
UTF-8を指定します。
-127~
OSのデフォルトの文字コードを指定します。

第二引数は省略可能で、省略時は0(Shift_JIS)となります。

*GETSTRURLDECODE [#u9c705dd]
*GETSTRURLENCODE [#oe4a27a4]
第一引数をURLエンコード / デコードします。~
第二引数で文字コードを指定します。指定方法はGETSTRBYTES等と同じです。

*GETTICKCOUNT[#z991eb4d]
>[v4:システム変数systemuptickcount相当]

OSが起動してからの経過時間を返します。単位ms。~
24日と20時間あまりで0に戻ります。

第一引数に0以外の値を指定すると、ミリ秒数の32ビット目以降の値(32bit signed intでは表現できない領域の値)を返します。これを活用すると、さらに長い時間を計測できます。

*GETTIME[#t322edee]
>[v4:時刻取得系システム変数相当]

現在の日時情報を取得します。結果は以下の汎用配列で返されます。~
-西暦年,月,日,曜日,時,分,秒
曜日は0~6で、0が日曜日です。

第一引数に数値を指定できます。これは、万国標準時で1970/1/1 00:00:00からの経過秒数を示し、GETSECCOUNT関数で取得できます。~
これを活用すると、「今現在から○×後/前の時刻」を手軽に計算できます。

C言語に慣れた方向け:要するにlocaltime関数です。

#code(aya,nooutline,nolink,nonumber){{
//10日後は何月何日?
_array = GETTIME(GETSECCOUNT()+10*24*60*60)
"%(_array[1])月%(_array[2])日"
}}

*GETTYPE[#s20af904]
>[v4:ISINTEGER、ISREAL相当]

値の型を得ます。
|0|内部エラー|
|1|整数|
|2|実数|
|3|文字列|
|4|汎用配列|

*GETVARLIST [#tc0fc063]
現在保持している変数リストを返します。
第一引数に何も指定しないと全てのリストを汎用配列で返します。何らかの文字列を渡すと、その文字列で始まる変数名を返します。

*HAN2ZEN [#w650a36b]

第一引数(文字列)中に含まれる半角英文字・数字・カタカナをすべて全角に変換します。
第二引数で変換したい文字の種類をカンマ区切りで指定します。省略するとすべての文字を変換します。
-number - 数値(0~9)
-alphabet - アルファベット
-symbol - 記号等
-kana - カタカナと句読点

例:
 HAN2ZEN('2007ABC','number,alphabet')

*HEXSTRTOI[#p427437d]
>[v4:HEXSTRTONUMを改名]

16進数値文字列を整数へ変換します。引数が異常の場合は0を返します。

*IARRAY [#xe734e7a]
空の汎用配列を返します。

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

文字列を挿入します。~
第一引数が対象文字列、第二引数が挿入する文字位置、第三引数が挿入する文字列です。

*ISFUNC [#sc195f8a]
>[v4:ISFUNCTIONから改名]

指定した名前の関数が存在するかを返します。

0/1/2=なし/関数/システム関数

*ISINTSTR [#s16754f8]
与えられた文字列を整数として解釈可能なら1を、それ以外で0を返します。

*ISREALSTR [#g99b487c]
与えられた文字列を実数として解釈可能なら1を、それ以外で0を返します。

*ISVAR [#r3fcec7d]
指定した名前の変数が存在するかを返します。
0/1/2=なし/グローバル変数/ローカル変数

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