Vz Resources
Commands
2019-10-28T21:05:28+09:00

コマンド拡張で学ぶVZマクロ入門 #63

番号記号初期キー機能
#63#T@T [F03]編集テキスト切替え

s==0(編集モード)

編集テキストの切替えを行う。

編集中テキスト一覧をシステムメニューで表示する。メニューカーソルはカレントのテキスト(編集中の表テキスト)上にある。テキスト番号を入力して選択するか,カーソルを移動して[Enter]で選択することにより切替えを実行する。

一覧メニューの表示中に再実行すると,次のテキスト番号のファイルに切り替える。テキスト番号の一番大きなテキストがカレントであるときは,一番小さな番号のテキストに切り替わる。つまり,連続実行可能かつ循環動作になっている。

戻り値 r:常に 0

s==1(文字列入力モード)

無効

s==2(コマンドラインモード)

無効

s==3(ファイラーモード)

無効

s==4(メニュー)

戻り値rの内容

s==4(1文字入力モード)

無効

マクロによる拡張

m.gann師による拡張例

m.gann師の拡張は,#63のシステムメニューにクローズ,再オープン,終了など複数の機能を付加したものである。(しかし,ここまでくると「入門」ではないなぁ……)

63 [F03] ""     ;Pick Text (220)        ;Close, reOpen, Quit
        (s||wc<1)?.
        ss-, wl[7, #T wl],
:P      &p &u(r) (r)>!{
                (#t-c2&r)>C             ;[DEL]/\[DEL]/[X]: Close
                (#d-c1&r)>V             ;[-->]/[<--]: view
                (#v):Q:W:X:0>D }        ;[Q]: Quit, [W]: Update
        a=wa, &o(r) (s)?>P              ; [INS]: reOpen
        (wt||wa==a)??wb=a, (ks&1)?>^.   ;Set text(b), continue
:C      (wc<2)?>P #m (c)??mr-,          ; &o(mac): &o($180-$1ff)
        n=wn, #C &Cr (r)??&#T(n-=n>wc) >^       ;(wc<2) #C ?.
:D      #[ >!{ Q#Q W#83 X>11 0#W |&64 } >^
:V      p=pq..122, (2){ p+=p++..+2, }   ;p: sysmenu3 top
        (1+=wt&&wb.2==(wc+p.6+1-r&2)%wc+1)      ;↑↓回数を+1するか否か
        { &o(r-2) } #m >^               ;1〜2回↑↓してリターン
;:V     &o(r-2) #m >^
;:V     i+,(wt)?{ &> p=p.0,(c)??p+=2,(p>wc)?p+,(p)??p=wc,(p-wb.2)??i2,}
;       (i){&o(#x-c)} #m >^
;0:     p=pq..122,
;:l     (p.0)??.($E3-p.0)?{p+=2+p++..0,>l} p+=6,

コマンド拡張で学ぶVZマクロ入門 #63
The VZ resources, valid XHTML 1.0 Strict. ©2007-2019 by mezala.