; ; HSP help manager用 HELPソースファイル ; (先頭が「;」の行はコメントとして処理されます) ; %type 拡張命令 %ver 2.61 %note hspda.asをインクルードすること。 %date 2004/03/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