Tips

マクロファイルの作り方

日付2006/07/13
IDf1783 (英語原文参照)
バージョン2004
プラットフォームMac & Win

以下は、"If()...End if"というマクロを作成するための手順です。

I. 手順

1) Macros.xmlファイルを一般的なテキストエディタで開きます。ファイルはシステムのアクティブ4Dフォルダの中にあります。

- Mac OS Xの場合:
起動ボリューム:ライブラリ:Application Support:4D

- Windowsの場合:
C:¥Documents and Settings¥All Users¥Application Data¥4D

ファイルは4th Dimensionと平行して開くことができます。メソッドエディタで利用可能なマクロのメニューを表示するたびにファイルが読み込まれます。

2) 開いたファイルにおける</macro>が出現する最後の位置までカーソルを移動します。タグの後に改行を追加し、新しいマクロの記述を開始します。

3)はじめに次のような形式でマクロの名称を定義します:

<macro name="If...End if">

4) このマクロはテキストを選択した上で実行するものなので、メソッドエディタのタイプアヘッドに登録するべきではありません。次のようにコードを追加します:

<macro name="If...End if" type_ahead="False">

5) ここからはメソッドのテキストであることを示すため、<text>というタグを挿入します。

<text>

6) 冒頭のコードを入力します。1行目はフロー制御です。

If()

7) コードには、マクロが実行される直前にメソッドエディタで選択されていたテキストを挿入することができます。改行した後、<selection/>というタグを挿入することによって選択テキストを引用することができます。

<selection/>

8) 最後にフロー制御を閉じるコードを記述します。

End if

9) マクロを実行した後、カーソルを任意の位置に移動することができます。このマクロの場合、フロー制御の条件文にカーソルが移動すると便利です。

If(<caret/>)

10) マクロの終了を示すためのタグを追加します。

</text>
</macro>

11) 作成したマクロファイルは次のようになっているはずです。

<macro name="If...End if" type_ahead="False">
<text>
If(<caret/>)
<selection/>
End if
</text>
</macro>

12) ファイルを保存し、4th Dimensionのメソッドエディタでマクロをテストします。

II. ファイルが壊れてしまった場合

ファイルを編集したことにより、使用できなくなった場合、ファイルを削除すれば次回の起動で4th Dimensionが自動的にデフォルトのmacros.xmlを作成します。

III. 練習 1

" If...Else___End if"というマクロを作成してみてください。

IV. 練習 2

"Case of..."タイプの制御フローをマクロにしてみてください。