プログラミング支援小物マクロ集 Ver.0.5 2000/2/10 by 島田元 ●はじめに テキストエディタQXでプログラムを組むときのための、ちょっとした小物マ クロ集です。 と言っても、私はプログラミングに関しては完全にシロートで、やってるのは QXマクロとHSPだけですが、少なくともこのどちらかをやっている方には 便利かと思います。どちらかというと、HSP向きでしょうか。 いろいろプロシージャを揃えてますんで、他の言語をやってらっしゃる方にも 役立つ可能性はあると思います。まあ、よければ試してみて下さい。 なお、このマクロはQXエディタ Ver.6.3 にて動作確認しています。 ●ファイル構成/インストール アーカイブを解凍すると以下のファイルが出てきます。 G_PRG.MAC マクロ本体 G_PRG.TXT このファイル HSPK.TXT HSP 用キーワードファイル このうち G_PRG.MAC、G_PRG.TXT をQXのマクロディレクトリに置けばインス トールは終了です。アンインストールは、削除するだけです。 マクロディレクトリは、QXの「共通設定」→「マクロ」で指定します。何も 書かないと、QXがインストールされているディレクトリになります。 HSPK.TXT は、QXでHSPされてる方向けのオマケです。QXでキーワード ファイルに指定すれば、ぐっと便利になります。 標準命令だけでなく、各種プラグインの命令もいくつか登録されてます(要す るにふだん私が使ってるものに少し手を加えただけです)。 ●使い方 お使いになる前に、マクロファイルの冒頭付近を自分で書き替えて環境設定す る必要があります。その部分に説明も書いてありますので、このファイルを併 せて読まれれば、そんなに難しくはありません。 以下のプロシージャを、キーやメニューに割り当てて使って下さい。 個人的な感覚としては、右クリックメニューに適当に当てていけばいいのでは ないかと思いますが、取捨選択するのが面倒なときは main を何かのキーに割 り当てれば充分でしょう。 1)tokey QXにはキーワード強調表示機能があります。任意の単語をキーワードに登録 することにより、スクリプトが見やすくなり、タイプミスの確率もぐっと減り ます。詳しくはQXのヘルプをご参照下さい。 このプロシージャを実行すると、カーソル(マウスカーソルではなく、文字列 カーソル/以下同じ)上の単語を、キーワードに登録して、即、強調表示しま す。カーソルが単語上にないと、エラーになります。 なお、使用するキーワードファイル名とキーワードブロックの番号は、マクロ ファイルの冒頭部分に書き込む場所があるので、忘れずに指定して下さい。 なお、キーワードブロックの番号を実際にあるものより多く指定したときは、 実際にある最後のブロックに登録されます。 2)flagkey 上記の tokey と同じくキーワードファイルに登録するためのものですが、H SPのラベル(* に続く文字列)を対象にしています。 カーソルが単語上になくても、単語の直後にあっても、機能します。従って、 何かキーに割り当てておけば、新たなラベル文字列を打った直後に、そのまま キーを押せば登録できる……というわけです。 tokey と同じキーワードファイルの、別のキーワードブロックを指定すること ができます。指定は、マクロファイルの冒頭部分で行って下さい。 最初にそのキーワードブロックに、"*" という1文字を(キーワードファイル を直接編集して)登録しておけば、見やすいかと思います。 なお、キーワードブロックの番号を実際にあるものより多く指定したときは、 実際にある最後のブロックに登録されます。 3)sixteen カーソル上の10進数の文字列を、16進数の文字列に変換します。 16進数のアタマにつける文字列は、"0x" "&H" "$" の中から、編集中のファイ ルの拡張子ごとに指定することができます。詳しくはマクロファイルの冒頭部 分を見て頂ければ、分かると思います。 複数の拡張子を、; で区切って指定できますが、"M" "MAC" など、途中までの 文字列が同じ拡張子を複数指定するときは、必ず短い方から指定して下さい。 4)ten カーソル上の16進数の文字列を、10進数の文字列に変換します。 最初に "&H" "&h" "$" "0x" "0X" がついている場合は、どんな拡張子の文書 においても変換します。ついてない場合は、そのままその単語を符号なしの 16 進数とみなします。 16進数表記が正しくないときは、エラーになります。 5)charcode 選択した1文字を、ASCII または Shift-jis コードに変換します。 コードは10進数で表されますので、16進数にしたいときは、sixteen を実行し て下さい。 2文字以上選択している場合は、エラーになります。 オプションとして Ctrl キーを押しながら実行すると、クリップボード内の文 字を変換の対象とします。これは 31(&H1F)以下のコントロールコードに当 たる文字は、文字を選択しているとみなされないからです(例外として Tab は大丈夫です)。 つまり、改行などの場合は、改行部分を選択してクリップボードに格納後、 Ctrl キーを押しながらの実行で対処して下さい……ということです。 6)codechar カーソル上の、もしくは選択した数字を、ASCII または Shift-jis コードと みなして、対応する文字列に変換します。 最初に "&H" "&h" "$" "0x" "0X" がついている場合は、どんな拡張子の文書 においても 16 進数とみなします。 31(16 進数の 1F)以下のコントロールコードに当たる数字は、コントロール コード入力ダイアログを表示しますので、手動で打ち込んで下さい。ただし Tab に当たる 9(16 進数の 09)だけは例外で、そのまま Tab に変換します。 7)color 色選択ダイアログを表示して、選択した RGB をカーソル位置に挿入します。 例えば青色なら 0,0,255 となります。 8)pass コモンダイアログを表示して、選択したファイルのフルパスをカーソル位置に 挿入します。編集中のファイルの拡張子によって、ディレクトリ区切りの文字 を "\" "\\" "/" の3種類から自動判別します。 "\\" "/" にしたいファイルの拡張子は、マクロファイルの冒頭部分で指定す ることができます。指定しなかったものは "\" となります。 複数の拡張子を、; で区切って指定できますが、"M" "MAC" など、途中までの 文字列が同じ拡張子を複数指定するときは、必ず短い方から指定して下さい。 9)srchflag HSPのスクリプトでラベルの定義位置を検索します。 例えば、goto *SHAKU などとある *SHAKU の上にカーソルを置いて実行すると、 *SHAKU *SHAKU ;ここよりほんにゃか処理 *SHAKU *SHAKU;ここよりほんにゃか処理 などを、ラベルを定義している位置とみなして検索します。 つまり、*SHAKU の前位置に、 [文字列無し or 1個以上の Tab のみ or 1個以上の半角スペースのみ] 後位置に、 [文字列無し or 半角スペース or Tab or コメント] となっているものを検索するというわけです。 ローカルラベルにおいても、それぞれ対応するものを検索します。 10)main 上記の全てのプロシージャを、ポップアップメニューから実行できます。 ヘルプを選択すると、このファイルを開きます。 ●著作・免責・謝辞など このマクロはフリーソフトです。著作権は私、島田元が有しています。 著作を偽ったりアーカイブの内容に手を加えない限り、転載・再配布は一切自 由です。改変して再配布される場合は、まず私に連絡して許可を得て下さい。 個人使用での改変は無条件でオッケーです(というか改良できたら是非、教え て下さい)。 また、このマクロを使用して何か不都合が起きたり、逆にとんでもない幸運が 訪れても、当方は責任を負いかねますから、ご承知下さい。 テキストエディタQXはaraken(新井健二)さんの作品です。araken さん、 ありがとうございました。 サポートに関しては、私の力で充分に出来ないのは明々白々ですが、いちお、 メールとQX−MLで行うつもりです。ただし、義務とは解しません。 QX−MLへの案内は以下の Web ページにあります。 http://members.xoom.com/BADSBOSS/qx/qx_top.html なお私は Nifty と PC-VAN には無縁ですので、そちらで発言されても何も分 かりませんので、ご了解下さい。 最新版は末尾に記載した私の Web ページにアップします。 ●変更履歴 2000/2/11:初版発表 ━━━━━━━━━━━━━━━━━━━━━ 島田元(G-SOFT) shimagen@24h.co.jp http://tokyo.cool.ne.jp/shimagen/ http://www.vector.co.jp/authors/VA017034/ ━━━━━━━━━━━━━━━━━━━━━