======== Xevent.def ======== by I.Kamimura
#if 0
【イベントマクロON/OFF】
●マクロを起動すると、現在のイベントマクロの状況がメニューに表示されま
す。カーソルを合わせてリターンキーで選択すると、イベントマクロをON
/OFFできます。
※マクロバッファ内部を一時的に操作する(タイトル先頭の「!」を「?」に、
マクロ本体の先頭を「.」に置換)だけですので、 VZを再起動すると元
の状態に戻ります。
※元々存在しないイベントマクロをONにすることはできません。(当然)
#endif
* M
89 ^\ "Xevent"
&01
af[=aw, !01 af], (r<0)?.
(pm.8=='N')? { &03 (0)} ? &04
&> >^
0: ;--- refresh macro buffer by m.gann ---
p[=mh, n[+,
:R (r=p..2)? { p=r, n++, >R } ;最後のモジュール
p..2=pu, pu.3=2, pu..2-, ;ダミーモジュールセット
&Zd(n) n], p], ;その削除
1: ;--- check event ---
&09 i[=r.4, &08 pm=r,
:A &Sn(pm) pm+=r+1,
(pm.0<<8+'!') &02 ? { &Sc(pm+7,"ON ") (0)} ? { &Sc(pm+7,"OFF") }
(i--)? >A i],
;2: ;--- search word of title ---
; ; INPUT mg..0 = char
; ; OUTPUT r = address, 0:not found
;
; r=mg..0, p[=mh,
;:A (p.0==0)? >Z
; p++,
; (p..2-r)? { p+=p..0+2, >A }
; (p+4)
;:Z p],
2: ;--- search word of title --- ;(高速バージョン)
; INPUT mg..0 = char
; OUTPUT r = address, 0:not found
cx[=mg..0, si[=mh, &> (si) si], cx],
0: &i(3+$). ; XEVENT.ASM
"$(AC,84,C0,74,11,83,C6,04,8B,04,3B,C1,74,0A,83,EE)$
$(04,AD,03,F0,EB,EA,33,F6,C3)"
3: ;--- ON --> OFF ---
(pm.0<<8+'!') &02 ??.
r.0='?', p[=r, &Sn(p) r+=p+1, p+=p..-2-3, p.0=r.0, r.0='.', p],
>^
4: ;--- OFF --> ON ---
(pm.0<<8+'?') &02 ??.
r.0='!', p[=r, &Sn(p) r+=p+1, p+=p..-2-3, r.0=p.0, p.0-, p],
>^
8: ;--- menu title address ---
&> (r+9+r.4*2)
9: (2+$)
* P
1 "",12,8
"Abort ..." ; Don't touch!
"Start ..." ; Don't touch!
"Open ..." ; Don't touch!
"Close ..." ; Don't touch!
"Edit ..." ; Don't touch!
"View ..." ; Don't touch!
"Timer ..." ; Don't touch!
"Filer ..." ; Don't touch!
*
======== End of Xevent.def ========
|