======== Event.def Event macros ======== by miyata * Macro 01 "!Start" ;88 #if 98 dz[=vz, $b243.1='+', dz], ;in menu vzs ;m.gann #else dz[=vz, $b1fd.1='+', dz], ;in menu vzibms ;m.gann #endif ;#ifn s16 ; $697.0=(dz[=vz)*0, dz], ;not use vzs ;[STOP]chk ;tomo ;#endif (z)?? pq..23-, ;conend ;m.gann 01 "!Open" ;487 r[, e[=d[=qk-, ks[, #if 98 ax$1800, bx'TT', &i($18) ;tt.com常駐確認 ax←'TT' (ax==bx&&pi.0-'a'&&wc<2&&wb-wo)?{ ;tt & RAMベース & テキスト一つ? ax$1801, &i($18) ;テキストモード確認 e$1819-ax, ;拡張モード? (19h=25) ;e:extend } #endif &e("#]") #] ;off event ;tomo (ne)>!{ ;set ts ('DE')(ts"\x ^[0-9*]",d+) ;.def ;d+:def ('25') ts"\x ^[┏┌┣┗└]", ;.250 ('TX') ts"\x ^[@ 0-9■●・]",;.txt ('LO') ts"\x ^\0/\0 ", ;.log } #if 98 (e)?{lc[, #66 ((lc>0])-d)? #66} ;def:行間なし, else:行間空き #endif e"man\", &> ? mr$80, ;man\ dir ;e:name e"read\", &> ? mr$80, ;read\ dir e"vz16\", &> ? mr$80, ;vz16\ dir ; e"stkhelp", &> ? ht4, ;stkhelp.def e"ruigo_", &> ?{#_ #>} ;ruigo_*.txt e"kjj", &> ? ts"\x [【《]", ;kjj.txt e"sched", &> ? &01 ;sched*.txt e"diary", &> ? &01 ;diary*.txt (d||mr==$80)? &j(0) ;.def/view? (1&0])? #_ ;[\]to end ;&#_(0) &m("") &d #] e], d], (r]) 00: &So(nm,e) (r) ;指定文字列を含むか? 01: ps[=pa, mp[, &s ;現在の月日を検索 #F dd"tstmp", &87 '(' #m #c (r)?? #> ;"mm/dd(" mp], ps], ky=wy/2, 01 "!Close" ;70 r[, ;#ifn s16 ; pn.7=pn.8-, ;not use vzs ;init profile ;m.gann ;#endif dz[=vz, ($698.0) dz], ?? sq=sz+, ;0:child, 1:not ;tomo (z)?? sq-, ;not TSR? (sq)?? vp.9~+, ;vp.9~:frompool ;m.gann (r]) 01 "!Abort" ;33 &j(0) &m(r) s-, &d &b(3); / 01 "!Fl" ;13 &86 01 "!View" ;15 &86 01 "!Timer" ;16 &86 01 "!Edit" ;138 dd"freeform", (mb)??>87 ;ブロックでなければ普通の整形 ln[, #B (ln<0])? #B &#M(4) #B ;下端にマーク4, 上端へ :A &87 #M ;整形して終端にマーク0 &Le(pu,wa+142) &Ls(pu,wa+126) ;マーク4とマーク0を比べる (pu..1>0||pu..1==0&&pu..0>2)?{#> #d >A} ;マーク4のほうが後ろなら続行 mb-, &d #] 02 [ESC]F "Freef" ;1013 ;[\]spc [^]dsp [^\]frm [@]get [@^]in [@^\]reset ?. &Sm(pq..149,$206,46) ; (pusha: only for VZ1.60) #if 98 k1&ks, c16&ks, g8&ks, #else k1&ks, c4&ks, g8&ks, #endif &b(1) i=j=k*c*g, ;★ i+:@+^+\ only &14 ;★ set w,x,y,u,o (g)?{ &12 (i)?>o ;★ [@^\]reset margin i+, (c)?{ ;★ [@^]input margin &Sp(pu,"%d,%d",w.,w.1) ; 現在のマージンをpuにコピー &04 pw[=r, &Sh(r,pu) ; 自前ヒストリバッファへ追加 &g("Margin",10) &Cr (r<0)?{pw], >Z} #J #e #< &n (i=r)?? i+, ; 左端 (r<0)?. #f &n j=r, ; 右端 (r<0)?. #[ pw], >w } lx[, (k)??{#< &13 i1+lx,} ;★ [@] get margin #> j1+lx, ;★ [@\]right only &x(0]) :w (i-j)?{(k)?? w.0=i, w.1=j, >o} ;★ 左右同値(空行)はセットせず } (c)?{ ;★ [^]form on/off &12 ; set margin i-, (k)?>o ;★ [^\]dsp margin &> (w.3=o!)? w.1=r.2, ?{r.2=w.1, w.1=w.,} >o } &19 (qk-r||k)?{ ; ----- freeform ON ----- &12 ; set margin i-, (k)? w.2=u!, ;★ [\]spc on/off :o &> (r.2)?? r.2=w.1, ; keep r_mgn &19 qk=r, ; ON vy14, td36, &j(10) ;★ custom option &14 &d &11 >Z } qk=vy=td-, ;&j(0) ; ----- freeform OFF ----- &m("") &d #] :Z &Sm($206,pq..149,46) ; (popa: only for VZ1.60) 00: ($). ; form on/off flag 04: (5+$). ; margin history buff (2.30b4) "$(20,0)3,75$(0)3,77$(0)3,51$(0)3,53$(0)3,55$(0)$[32]" 11: ; ----- dsp margin ----- (y>x&&y<80)? &15 ; dsp margin #] m230+wm, i0~, ; use lbuf (o)??{(81){&>} >z} ;★ form off? n6*dl, x[+=n, y[+=n, ; n:dl+ (x)?{(x){m.i++=32,}} ; 32=' ' (-1){&> (i>=y)?{}} (y<80+n && y-x>4)?{ &Sm(m+x,"<%02d",5) &> &Sm(m+y-1,"%2d>",4) i+=2, } y], x], :z (m.i-) &m(m,w.,w.1) 11: m.i++=45-u*2, ; 45='-' ★ space on:+ off:- 12: ; ----- set margin ----- &Sn(w-60) ; w-60: wa+$92 (r>59)?{&m("long!!") &b(4) &q.} (i||w.<1)?{ ; i: reset flag (+:on) w.0= 3, ;左マージン初期値 (Don't '0') ; w.1= 75, ;右マージン初期値 (ne-'TX')? w.1= 75, ? w.1= 77, ;右マージン初期値 w.2= 1, ;★ space 初期値 1:on 0:off w.3= 1, ;★ form 初期値 1:on 0:off } u2.w, o3.w, ;★ re-set u,o 13: ; ----- skip linetop spc ----- (-1){(ct-2||ck)?{*} #d} * ;空白(全角を除く)をスキップ 14: ; ----- set w,x,y,u,o ----- w206+wa, x0.w-1, vn=y1.w-1, ;★ set w,x,y,vn ;org..w208+wa u2.w, ; u: spc flag o3.w, ; o: form flag 15: ; ----- dsp right margin ----- ;from wd.def (pc.9)?. ; 98 only ax$a000, dx1+ae*32, ; org:dx1+ac*$20, si80, di$88, (u)? di$8a, ;★ $88:slim $8a:bold ; di'|', $88, $96, $1d, etc. bx6*dl+y+si*(vp.9-ly-1), cx=wy, &i("$(8E,D8,B4,A2,8E,C0,03,F6,03,DB,03,DE,83,3F,20,77)$ $(05,89,3F,26,88,17,E2,F2,C3)") 19: (3+$). "’$; 。、.,」?!" ; freeform 起動文字 ; '’' 0 :行端 ; '$' 1 :接続 ; ';' 2 :整形 ; ' ' 3 :右端設定/トリガ ; '。'〜 4〜 :整形開始トリガ * ======== end of event ========