; ; HSP help manager用 HELPソースファイル ; (先頭が「;」の行はコメントとして処理されます) ; %type 拡張命令 %ver 3.0 %note hspda.asをインクルードすること。 %date 2005/06/01 %author onitama %dll hspda %url http://www.onionsoft.net/ %index sortval 配列変数を数値でソート %group 拡張入出力制御命令 %prm p1 : 数値型の配列変数名 p2 : 並び順 (0=小さい順/1=大きい順) p1,p2 %inst 数値が格納された配列変数を指定された並び順でソート(並び替え)します。 p1で指定された配列変数を直接並べ替えます。 並び替えに関する情報は、sortget命令で得ることができます。 %href sortget %index sortstr 配列変数を文字列でソート %group 拡張入出力制御命令 %prm p1,p2 p1 : 文字列型の配列変数名 p2 : 並び順 (0=小さい順/1=大きい順) %inst 文字列が格納された配列変数を指定された並び順でソート(並び替え)します。 p1で指定された配列変数を直接並べ替えます。 ソートの並び順は、 ASCIIコードの大きい小さいで比較されるので、 ABC順、 あいうえお順に並べ替えられます。 並び替えに関する情報は、sortget命令で得ることができます。 %href sortget %index sortnote メモリノート文字列をソート %group 拡張入出力制御命令 %prm p1,p2 p1 : メモリノート形式の文字列型の変数名 p2 : 並び順 (0=小さい順/1=大きい順) %inst メモリノートパッド形式の 文字列が格納された変数を、 指定された並び順で ソート(並び替え)します。 p1で指定された変数を直接並べ替えます。 ソートの並び順は、 ASCIIコードの大きい小さいで比較されるので、 ABC順、 あいうえお順に並べ替えられます。 並び替えに関する情報は、sortget命令で得ることができます。 メモリノートパッド形式は、 notesel, noteget命令などで使用することので きる「\n」(改行コード)で区切られたデータ列のことです。 %href sortget %index sortget ソート元のインデックスを取得 %group 拡張入出力制御命令 %prm p1,p2 p1 : 結果が代入される変数名 p2 : インデックスNo. %inst sortstr, sortval, sortnote命令を実行後の配列において、格納されているデ ータは、ソートする前はどのインデックスに置かれていたものかを調べて結果 を返します。 たとえば、配列変数aをソートした後、 sortget n,4という命令 で、1という値が返ってきたとすると、a.4という配列変数に現在入っている値 は、ソートする前には、a.1 に入っていたことを示します。 この命令は、データの一部だけをソートして、その情報をもとにほかのデータ の並び替えも行なうような時に有効です。 %href sortstr sortval sortnote %index csvstr CSVの1行を配列に変換 %group 拡張入出力制御命令 %prm p1,p2 p1 : 結果が代入される文字列型の配列変数名 p2 : CSVの1行を取り出した文字列 %inst CSV形式のデータから取り出した1行だけのデータを、 文字列型の配列変数に 展開します。 CSV形式は、「,」で区切られたテキストのデータです。 たとえば、「a,b,c,d」 のような 「,」 で区切られた4つの文字列があったと すると、 csvstr命令を使うことで 「a.0="a"」 「a.1="b"」「a.2="c"」「a.3="d"」の ように配列変数にそれぞれの要素を分けて代入することができます。 p1で指定される配列変数は、必ず文字列型の配列変数である必要があります。 ^ 配列変数に確保されている文字数や配列の限界を越えた部分は無視されます。 (エラーになったり、データが破壊されることはありません) ^ 命令の実行中にエラーが起こった場合にはシステム変数 statが1になります。 正常に変換された場合は、システム変数 statは、0になります。 %index csvnote CSVの1行をメモリノート変換 %group 拡張入出力制御命令 %prm p1,p2 p1 : 結果が代入される文字列型の変数名 p2 : CSVの1行を取り出した文字列 %inst CSV形式のデータから取り出した1行だけのデータを メモリノートパッド形式 の文字列型の変数に展開します。 CSV形式は、「,」で区切られたテキストのデータです。 たとえば、 「a,b,c,d」のような「,」で区切られた4つの文字列があったとす るとcsvstr命令を使うことで「"a\nb\nc\nd\n"」のようにメモリノートパッド 命令で扱うデータ("\n"で区切られたデータ)として代入することができます。 ^ 命令の実行中にエラーが起こった場合にはシステム変数 statが1になります。 正常に変換された場合は、システム変数 statは、0になります。 %index xnotesel 排他メモリノート初期化 %group 拡張入出力制御命令 %prm p1,p2 p1 : 対象となる文字列型の変数名 p2 : 項目の最大数(省略時は256) %inst 排他メモリノートの初期化を行ないます。 対象となる変数と、参照カウントのリセットが行なわれます。 ^ 排他メモリノートは、メモリノートパッド命令で使用するものと同じく、1行 に1つの項目を持つ長い文字列型のデータです。 ただし、排他メモリノートは異なる項目(行)しか追加することができません。 すでに持っている項目を追加しようとすると、参照カウントだけが更新され、 実際には追加されません。これにより、同じ文字列を重複しないで格納するこ とや、重複の統計、文字列サーチなどに応用することができます。 ^ 排他メモリノートは、xnoteselで対象となる変数を指定して、必要な場合は、 最大項目数も設定します。 以降は、 xnoteadd命令 を実行するごとに、排他メモリノートの変数に項目が 追加されていきます。 %href xnoteadd %index xnoteadd 排他メモリノート項目追加 %group 拡張入出力制御命令 %prm p1 p1 : 排他メモリノートに追加される文字列 %inst 排他メモリノートに項目を追加します。 項目は、改行を含まない文字列でなければいけません。 実行すると、項目が追加されたインデックスが、システム変数statに代入され ます。 ^ すでに排他メモリノートに含まれる項目は、追加されません。 その場合は、システム変数statにすでに含まれる項目のインデックスが代入さ れ、項目の参照カウントが1つ増やされます。 項目の参照カウントは、sortget命令で取得することが可能です。 %href xnotesel %index csvsel CSV検索の対象バッファを選択 %group 拡張入出力制御命令 %prm val,mode val : CSV検索の対象となる文字列を格納した変数名 mode : 区切りキャラクタコード %inst CSV検索の対象となるバッファを選択します。 CSV形式 またはノートパッド形式の文字列が格納されている変数を指定するこ とができます。 modeで区切りキャラクターを指定することができます。 modeを省略または0にした場合は「,」が使用されます。 9を指定することでタブ区切りのcsvファイルに対応することができます。 %href csvres csvflag csvopt csvfind %index csvres CSV検索の結果出力バッファを指定 %group 拡張入出力制御命令 %prm val val : CSV検索結果を出力する変数名 %inst CSV検索の結果出力バッファを指定します。 必ずある程度のサイズを確保した文字列型の変数にする必要があります。 想定される出力結果に応じて sdim命令 などでサイズをあらかじめ確保してお いてください。 通常は 32000バイト程度あれば十分です。 出力結果のサイズがバッファを溢れてしまうような場合は、指定したバッファ のサイズに収まる範囲で検索を中断しますので、バッファオーバーフローは起 こりません。 %href csvsel csvflag csvopt csvfind %index csvflag CSV検索の項目フラグを設定 %group 拡張入出力制御命令 %prm id,val id : 項目ID val : 設定値(0〜255) %inst CSV検索の対象となる項目単位でのフラグ設定を行ないます。 設定値が0の場合は、CSV検索は行なわれません。 0以外の場合は、CSV検索の対象項目となります。 デフォルトでは、すべての項目が検索対象となっています。 項目idは、最も左にある項目を0として以降区切り記号ごとに右に1づつ増加し ていきます。 %href csvsel csvres csvopt csvfind %index csvopt CSV検索のオプションを設定 %group 拡張入出力制御命令 %prm p1 p1 : オプション値 %inst CSV検索のオプション設定を行ないます。 以下の値を指定することができます。複数指定する場合は、「+」か「|」の演 算子でつなげることができます。 ^p CCSV_OPT_ANDMATCH ;AND検索 CCSV_OPT_NOCASE ;半角大文字小文字を同一視 CCSV_OPT_ZENKAKU ;全角半角を同一視 CCSV_OPT_ADDLINE ;行番号を先頭に付加 CCSV_OPT_EXPRESSION ;正規表現を指定(未実装) ^p %href csvsel csvres csvflag csvfind %index csvfind CSV検索を実行 %group 拡張入出力制御命令 %prm "string",p1,p2 "string" : 検索キーワード p1 : 結果出力の最大数(0=無制限) p2 : 結果出力の開始インデックス(0=先頭) %inst CSV検索を行ないます。 必ず検索対象のバッファ(csvsel)と出力先(csvres)を指定しておく必要があり ます。 "string"で指定されたキーワードを含むCSV行を結果バッファに抽出し ていきます。キーワードは、複数行に渡って(メモリノートパッド形式)指定す ることができます。 csvopt命令で AND検索のオプションを入れた場合は、複数キーワードすべてに 一致する行だけを取り出します。そうでない場合は、複数キーワードのいずれ かに一致する行を取り出すOR検索となります。 %href csvsel csvres csvflag csvopt %index rndf_ini 実数乱数の初期化 %group 拡張入出力制御命令 %prm p1 p1(-1) : 初期化のシード値 %inst 実数乱数の初期化を行ないます。 p1で初期化に使用される種(シード値)を指定することができます。 p1を省略するか、-1を指定するとクロックから得られたランダムなシード値が 設定されます。プラグインの初期化時に実数乱数の初期化は行なわれるため、 必ずしも rndf_ini命令 を入れておく必要はありません。 %href rndf_get rndf_geti %index rndf_get 実数乱数を取得 %group 拡張入出力制御命令 %prm p1 p1 : 実数乱数を代入する変数名 %inst 実数乱数を取得してp1で指定した変数に代入します。 実数乱数は、 0以上で 1未満の実数となるもので、 Mersenne Twister アルゴ リズムにより生成されます。 %href rndf_ini rndf_geti %index rndf_geti 乱数を取得 %group 拡張入出力制御命令 %prm p1,p2 p1 : 実数乱数を代入する変数名 p2(100) : 生成する乱数の範囲値 %inst 整数乱数を取得してp1で指定した変数に代入します。 乱数は、 0以上でp2で指定した数値未満の整数となります。 ここで取得される乱数は、 rndf_get で取得される実数乱数と同様のアルゴリ ズム (Mersenne Twister) により生成されます。 %href rndf_ini rndf_get