wzsoftロゴ
 
 

 

7. プログラムの実行

手動で実行

プログラムを手動で実行するには、エディタでプログラムを開いて[マクロ]メニューから[コンパイル]をおこないます。
コンパイルが成功したら[マクロ]メニューから[最近使ったプログラム]の先頭にプログラムのファイル名が登録されます。
先頭を選んでOKすると実行されます。
エディタでプログラムを開いて[マクロ]メニューから[実行]で直接実行することもできます。

プログラムは、main関数から実行されます。main関数は引数なしか簡易関数定義で作成します。
main以外の関数も実行できます。実行させたい関数はmain関数と同じく引数なしか簡易関数定義で作成します。
プログラムに実行できる関数が複数ある場合は、選択ダイアログが表示されます。コマンドを選んでOKすると実行されます。

コンパイルしたプログラムはWZを閉じるまでキャッシュされます。プログラムを書き換えて実行しても、コンパイル時の内容で実行されます。キャッシュを更新するには、再度コンパイル操作をおこなってください。
コンパイルをおこなってもキャッシュが更新できない場合があります。そのときはメッセージが表示されます。

プログラムのコンパイルは、エディタに読み込まれているファイルの内容でおこなわれます。エディタでプログラムを変更してからコンパイルした場合は、変更した内容でコンパイルされます。ファイルの内容ではコンパイルされないので注意してください。

保存が不要なプログラムを実行するには、新規作成の無題テキストにプログラムを書いて、コンパイルして実行します。

プラグイン

プラグインを組み込むと、WZの動作を拡張/変更できます。
プラグインのプログラムにはplugin_editor関数またはplugin関数の定義と、authorとnameの定義が必要です。

plugin_editor関数はエディタでタブが作成されたときに呼ばれます。引数としてテキストのビューのウィンドウハンドルが渡されます。

    int plugin_editor(HWND w)
    {
        // スタートアップ処理
        return 0;// 0を返してください。
    }

スタートアップ処理では、wに対してフックなどの初期処理をおこないます。具体例はサンプルを参照してください。

plugin関数はText-Cのアプリケーションが起動したときに呼ばれます。引数としてウィンドウハンドル(プラグインを組み込むアプリケーションのウィンドウのハンドル)が渡されます。アプリケーションの起動時にplugin関数が呼び出されますので、スタートアップ処理を記述します。

    int plugin(HWND wa)
    {
        // スタートアップ処理
        return 0;// 0を返してください。
    }

プログラムの先頭に、author:文で作者名の指定、name:文でプログラム名の指定、title:文でプラグインの説明を記述してください。
authorとnameには、ファイル名に使える任意の文字列が指定できます。authorのsystem,root,enzo,tyは予約されています。
デフォルトで、authorはplugin、nameはプログラムのファイル名になります。titleも省略可能です。
cfgnewで設定ファイルを読み書きするときのフォルダはauthorで決定されます。作者ごとのフォルダで設定ファイルを使うことができます。
例:

    #include <text.h>
    author: gonbei
    name: test
    title: テストのプラグイン
    int plugin_editor(HWND w) {
         ...
    }

作成したプラグインは、組み込む必要があります。
プラグインのプログラムを開いて[マクロ]メニューから[&(admin)プログラムの登録]で、プラグイン登録されます。

「プログラムの登録」では、「WZフォルダ\textc\author」フォルダに「name」ファイル名でプログラムが登録され、プラグインの一覧に「\\author\name」として登録されます。同じ名前のプラグインが組み込まれている場合は上書きして置き換えます。

プラグインのプログラムは動作を高速化するため、コンパイルした実行形式のプログラムファイルも登録されます。
[マクロ]メニューから[プラグインの一覧]で、プラグインの一覧が表示されます。
一時的にプラグインの組み込みを解除するには、「状態」項目の↓ボタンから「使用する(OK)」「使用しない(SKIP)」を選択します。
プラグインの組み込みは、ダイアログの一覧表示順で実行されます。必要に応じて「上へ」「下へ」ボタンで変更します。

WZ6をプラグインを無効化して起動するには、起動スイッチに@0を指定します。

    wzeditor.exe @0

アプリケーションの組み込み

アプリケーションプログラムは、登録して実行可能です。

  • 起動が高速化されます。登録時にコンパイルされ実行プログラムがファイル化されます。
  • コマンドラインからアプリケーションを起動できます。

アプリケーションを登録するには、プログラムを若干変更する必要があります。

プログラムの先頭でapp:に続けてアプリケーションのIDを識別値で指定します。
例:

    #include <text.h>
    app: txedit

「プラグイン」を参照して、author・name・titleを指定します。

アプリケーションの起動関数appmainを作成します。引数のファイル名が1つ渡されます。ファイル名の指定がない場合はNULLが渡されます。関数で、アプリケーションのウィンドウハンドル(app.wa)を返します。

    HWND appmain(CLM fn)
    {
        HTEXT editor = editorexec(fn);
        return editor.wa;
    }

アプリケーションのプログラムを開いてメニューから[マクロ]メニューから[&(admin)プログラムの登録]で登録されます。
「プログラムの登録」では、「WZフォルダ\textc\author」フォルダに「name」ファイル名でプログラムが登録され、アプリケーションの一覧に「\\author\name」として登録されます。同じ名前のアプリケーションが組み込まれている場合は上書きして置き換えます。

[マクロ]メニューから[アプリケーションの一覧]からアプリケーションを選択して「実行」で、アプリケーションを起動できます。
WZモバイルでは、アプリケーションの「Textc Mail」を有効にする(状態をOKにする)と、メーラーがTextC Mailに置き換わりますのでご注意ください。状態をSKIPにすると、元に戻ります。

コマンドラインからアプリケーションを起動するには、以下で指定します。ファイル名とスイッチ指定は省略可能です。

    wzeditor.exe @アプリケーションID ファイル名 -スイッチ指定

WZモバイルは以下で指定します。

    wzmobile.exe @アプリケーションID ファイル名 -スイッチ指定

ツールの組み込み

WZ6では、アプリケーションと同じくツールを登録できます。
ツールのエントリ関数の先頭に、tool:とツールIDを識別値で指定し、title:に続けてタイトルを指定します。

    grep_tool {
    title: Textc Grep
    tool: txgrep
         ...
    }

プログラムを開いてメニューから[マクロ]メニューから[&(admin)プログラムの登録]で登録されます。
[マクロ]メニューから[ツールの一覧]からツールを選択して「実行」で、ツールを起動できます。

前へ 次へ