> これは pagerに使えそうですが、98版では 25行目の ANSI表示出来ないみたい?
> うう、どなたかお知恵を〜 m(__)m
NECのDOS3.1リファレンスを発掘したら ANSIエスケープシーケンス載っていました。
$(1b)[>1h で最下行をプログラムで使用できる
$(1b)[>1l で最下行をシステムに戻す。
とあったので、やってみました。
======= ansi.def v0.2 ======= DOSV 98で最下行に表示 $(1b)[>1h
起動キーでトグル
* Macro
82 ^\ ""
&c &m("") &w(20) &d
&> (r)?{
c=lc, ; ★★ 98で最下行表示は $(1b)[>1h
&Sp(si=pr, ; [%d;69H 表示位置、[36m 表示色
"$(1b)[>1h$(1b)[%d;1H$(1b)[45m %d $(1b)[0m$(1b)[%d;30H$(1b)[20m $
$ $(1b)[45m %d $(1b)[0m$(8)"
,c,1,c,1)
&v(0) Se[+,
cx52, &i("$(ac,3c,09,cd,29,79,f9,e2,fa,c3)") ;int 29, cx: ^H
Se],
pn.-15=-1,
}?{
&Sp(si=pr,"$(1b)[>1l") ; $(1b)[>1l 表示範囲標準に戻す(24行)
Se[+, cx2, &i("$(ac,3c,09,cd,29,79,f9,e2,fa,c3)") Se], ;int 29, cx:^H
}
0: ($.7^=1). ;上村郁夫氏の起動トグル手法
;0: (($.6)!). ;別法:0か1なのでビット演算は不要
*
; pn.-15 メッセージ表示フラグ (kumagai)
; 0 : メッセージなし、最下行OK
; 1 : メッセージなし、最下行空白
; 2 : &m でのメッセージ表示直後
; 255($FF) : 問い合わせ直後他
======= end of ansi.def =======
これで目出度くANSIエスケープシーケンスの最下行表示出来ました。\(^^)/ ヤッタ-
98版では一度指定すると再設定するまでファンクションキーが表示されません。
起動トグルも めざら資源>VZ Macro FAQ>起動毎に逆の動作をさせるには
を見て 上村さんの手法を取り入れました。m(__)m
これは変数も使わず省エネでいいですね。(^_^)