[ONLINE] [AltaVista] [InfoSeek]
[NaruTo の御家] [NaruTo の WZ 工房]
[初めに] [機能] [その他] [終わりに] [DOWNLOAD] [Bottom]

GC2Szkey.c

    [Top] [Bottom]

  1. 初めに
  2.  WZ のマクロでキーを受け付ける常駐型マクロを作る場合、 のいずれかがあります。しかし、Nifty-serve VillageCenter Station(SVC)で見る限り、後者を手法を用いているのほとんど僕だけで(ゆえに僕は「唯一の getch() 使い」と自称している(^^;)、普通は前者の方法を用います。この理由はいろいろありますが、そのうちの一つとして「getch() の返り値はそのままでは使いにくい」というのが挙げられます。このマクロはそれを解決するのに用いられます。


    [Top] [Bottom] [使用法] [リファレンス] [使用例]

  3. 機能
  4.  GC2Szkey.c は以下の機能を持つ関数もつライブラリです。


      [機能]

    1. 使用法
    2. WZ のマクロでキー入力を受け付け、それをキーをあらわす文字列などを含んだ構造体に ソースごとインクルードするには
      #include <GC2Szkey.c>
      で、TLL をインクルードするには
      #include <GC2Szkey.h>
      で使用してください。


      [機能]

    3. リファレンス
    4. 関数 構造体 マクロ(#define)
      [リファレンス]
      BOOL GC2Szkey(TXCHAR chGC, mchar *szKey) 引数 返り値
      [リファレンス]
      BOOL GetCMD(CMDstruct *InputCMD,GetCMDOption *Option) 引数 返り値
      [リファレンス]
      CMDstruct
      [リファレンス]
      GetCMDOption
      [リファレンス]
      void KeyUpDown2NormalUpDown(mchar *szcmd)(ver1.00 で廃止)
      [リファレンス]
      int nrtkeyWriteChar(TX* text,TXCHAR ch)(ver1.00 で追加) 引数 返り値
      [リファレンス]
      wzcmdFromSzkey

      [リファレンス]
      Is2strokeSzcmd

      [リファレンス]
      DelayedGC_WITHSHIFT

      [リファレンス]
      GC_GETByte

      [機能]

    5. GC2Szkey を使っている例


    [Top] [Bottom] [変更履歴] [著作権・配布条件等]

  5. その他

    1. [その他]

    2. 変更履歴
    3. 1997/10/19 ver1.00
      • ファイル名を GC2Szkey.txc から GC2Szkey.c に変更
      • KeyUpDown2NormalUpDown の廃止及びそれに伴う GetCMD に於ける Option->fNormalizeKeyUpDown オプションの廃止(常に RAWKeyUpDown を指定)。さらに GetCMD 内部で wndtxCall(text->hwndbase,szCmd) を使用していた部分を Call(szCmd) で処理するように変更
      • GetCMD に於ける Option->fESC の、ESCESC 指定時の返り値の変更
      • nrtkeyWriteChar の追加

       マクロの部品でこの関数の変更履歴がのこっていないので以下略歴。
      (WHATCHAR の変更履歴が GC2Szkey の大体の履歴になっている)
      1995/06/24 ver0.40
      • GetCMD の追加
      1995/06/04 ver0.01
      • 初版作成
      1995/05/18
      • 原形マクロ「VK2Szkey」作成

      [その他]

    4. 著作権・配布条件等

    [Top] [Bottom]

  6. 終わりに・・・
  7.  TeXenv for WZ は杉山卓士さん原作・成岡知彦改変の VZ Editorの用のマクロ TeXenv for VZ を移植したものです。TeXenv for VZ は常駐型のマクロでした。
     僕は WZ のマクロが初めてのWindows Programing でした。そのため、VZ でいうところの「&p」「&o」にあたる機能を必要としていましたが、TeXenv を初めて作った(WZ ver1.0 のβテストをしていた)ころは、僕はフックを使いこなすことはできませんでした。
     「&o」にあたる処理はwndtxCall (初めは wndtxMacroSend だった)を自分自身のウインドウに用いることを教えていただきました。そして、「&p」にあたる機能が「getch()」でしたが、取得した文字をキーをあらわす文字列に変換する必要がありました。それが「GC2Szkey」の意味です。そのキーをあらわす文字列を「wzcmdFromSzkey」を用いてさらに「wzcmdToSzcmd」を用いてそのキーに割り当てられているコマンドを知ることができ、それを wndtxCall で実行しました。(GC2Szkey ver1.00 からは txCall を用いることを想定するようになりました。)

     その後も僕は幾つか常駐型のマクロやキーを取得して解釈して動作するマクロを幾つか作りましたが、その過程で、「GC2Szkey.txc」を強化してこのモジュールにその関数を実行するとキーを受け付けてそのキーが押されたときのシフトキーの状態やコマンドなどの情報を含んだ構造体に値を格納する getch() の Wrapper関数「GetCMD」を作りました。
     TeXenv では使っていませんが、その他の「GC2Szkey.c」を使っている僕のマクロは「GetCMD」を用いています。



[Top] [Bottom]

DOWNLOAD

getch() Support関数群及びWrapper 関数

GC2Szkey.c ver1.00

【対応バージョン】
WZ32 ver3.00B
【アーカイブ内容】
マクロソース、ドキュメント(HTML)、サンプルマクロ「WHATCHAR」
ここからDOWNLOAD


[Top]