実行中のコマンド名を示すレジスタ

リクエスト番号 コマンド リリース 区分 メニュー 更新日 担当
E18068 現在値レジスタ 18.10 追加 なし 2007/09/27 AYO

要望

 アイテムを削除した場合に、重なるアイテムが見にくくなるのでいつも再表示をして
 いる。マクロで対応しようとしたが、アイテムを削除するための<CE>か、コマンドを
 終了するための<CE>かが判別できない。実行中のコマンド名を示すレジスタがあれば
 マクロで対応することができる。

対応

 実行中のコマンド名を示すレジスタを追加しました。

 ●現在値レジスタ #CURCMDNAME

  実行中のコマンド名を示す。コマンドが何も選択されていないときは「未定義」
  になる。

  例)削除コマンドを起動し、アイテムが削除されたら再表示をするマクロ。

        DEL
        for (;;) {
            [p = getpnt(1)]
            if (vtype(#CURCMDNAME) != 4) {
                /*
                 * レジスタ値が未定義。
                 * 削除コマンドは終了。
                 * コマンドは何も選択されていない。
                 */
                break; /* for ループを抜ける。 */
            } else if (#CURCMDNAME != "DEL") {
                /*
                 * コマンド名が "DEL" ではない。
                 * 削除コマンドは終了。
                 * このマクロを起動する前のコマンドが動作中。
                 */
                break; /* for ループを抜ける。 */
            } else {
                /*
                 * 削除コマンドが継続中。
                 */
                if (vtype(p) == 5) {
                    /*
                     * <CE> が入力された。
                     * アイテムが削除されている。
                     * 全ビューポートのピクチャを再表示。
                     */
                    RPT/ALL
                    if (#CURCMDNAME != "DEL") {
                        /*
                         * コマンド名が "DEL" ではない。
                         * 再表示コマンドが動作中。
                         * 再表示コマンドを終了させる。
                         */
                        <CE>
                    }
                }
            }
        } /* End of for (;;) */

Copyright ITOCHU Techno-Solutions Corporation.