今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル 表示行数切替えマクロ(差し替え)
投稿日: 2023/04/20(木) 23:37
投稿者konno
 番 号 10777       コメント数 1

※ マクロ差し替えました。(^^;

DOSVAXJ3 と VTDOS 用の表示行数切替えマクロです。
私のノートPCの 1336*768 に合わせた個人仕様になっています。
各自の環境に合わせてカスタマイズしてください。(^^;

#if 文で DOSVAXJ3 と VTDOS 用に分けているので、高橋版以降専用です。
DOSVAXJ3用は、前回から最新版の機能に合わせて調整しています。
VTDOS用は、説明の前にまずマクロを見てください。(^^;


80 ^KL "表示行数切替え"		;2024-04-21 v0.34
#if AXJ3	; DOSVAXJ3
  (s!=2)? >h			;コマンドライン
  (vp.26==106)? { &00 .}		;VT4の106*29行→VGAの25行
  (vp.26==80 && lc<=25)? { &01 .} 	;VGAの80*25行→VTの80*44行
  (vp.26==80  )?{ &02 .}  		;VTの80*44行→VT2の128*44行
  (vp.26==128)?{ &03 .}  		;VT2の128*44行→VT3の160*44行
  (vp.26==160)?{ &04 .}  		;VT3の160*44行→VT4の106*29行
:h	(s!=0)?.		;編集モード
  (vp.26==106)?{#E &00 w[=80, &09 .}	;VT4の106*29行→vgaの80*25行
  (vp.26==80&&lc<=25)?{#E &01 w[=80, &09 .} ;25行→80*44行
  (vp.26==80)?{#E &02 w[=128, &09 .}	;VTの80*44行→VT2の128*44行
  (vp.26==128)?{#E &03 w[=160, &09 .}	;VT2の44行→VT3の44行
  (vp.26==160)?{#E &04 w[=106, &09 .}	;VT3の44行→VT4の29行
  .
00:	&?("chev jp") #m 		; vga     640x 480 文字  80×25
01:	&?("chev vt") #m 		; svga    800x 600 文字 100×37
02:	&?("chev vt2") #m 		; xga    1024x 768 文字 128×48(44)
03:	&?("chev vt3") #m 		; sxga   1280x1024 文字 160×64(44)
04:	&?("chev vt4") #m 		; sxga24 1280x1024 文字 106×42(29)
#endif

#if VTDOS	; VTDOS
  (s!=2)? >h			;コマンドライン
  (vp.26>136)? { &00 .}			;136*35行→80*25行
  (vp.26==80 && lc<=25)? { &01 .}	;80*25行→80*35行
  (vp.26==80  )?{ &02 .}		;80*35行→110*26行
  (vp.26==110 )?{ &03 .}		;110*26行→136*35行
  (vp.26==136)?{ &04 .}			;136*35行→168*35行
:h	(s!=0)?.		;編集モード
  (vp.26>136)?{#E &00 w[=80, &09  .}	;136*35行→80*25行
  (vp.26==80&&lc<=25)?{#E &01 w[=80, &09 .} ;25行→80*35行
  (vp.26==80)?{#E &02 w[=110, &09 .}	;80*35行→110*26行
  (vp.26==110)?{#E &03 w[=136, &09 .}	;110*26行→136*35行
  (vp.26==136)?{#E &04 w[=168, &09 .}	;136*35行→168*39行
  .
00:	&?("$width 80 25") #m		; 80×25
01:	&?("$width 80 35") #m		; 80×35
02:	&?("$width 110 26") #m		; 110×26  font27
03:	&?("$width 136 35") #m		; 136×35  font22
04:	&?("$width 168 39") #m		; 168×39  font18
#endif

#if 98
	#66 .
;#else
;	&z("lxdspd") >*
#endif
	.
09: #[ we=w, (wb)?{wb.55=w, wb.56=lc-2, wb.57=lc-3,} ;裏テキストの桁,行数調整
    wa.55=w,  wa.56=lc-2, wa.57=lc-3, w], &d	     ;表テキストの桁,行数調整
	


このように、コマンドラインと編集画面で使えるようになっています。
今回の目玉は編集画面の桁、行数の完全対応です。
wa.55 〜 wa.57 を合わせることでアンダーラインカーソルも含めて正常な状態に出来ました。

マクロでポインタの数値を書き変える時に、タイミングなのか、変わらない事があるように見えました。
マクロ文の間にスペースを入れたら解消したので、CPUが速すぎるのでしょうかね。(^^;
メモリの書き換えをするマクロはこの辺の動作確認した方が安心ですね。

VTDOSは、単体で起動すると、プロパティでフォントサイズを変更できます。
それを活かして、各フォントサイズで画面いっぱいに表示出来るよう設定しました。
コメント欄の font18, font22, font27 がそのサイズに合わせた設定です。
画面をはみ出しても気にせずトグルすれば 80*25 に戻ります。(^^;

※ VTDOSでは、$width などのコマンドで同じ桁、行数で2度実行すると固まってしまうのでご注意。

    - No.10777 一括表示へ   -              [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
10777.表示行数切替えマクロ(差し替え) - konno 23/04/20-23:37
  ┗10778.VTDOSの $width コマンドのバグ? - konno 23/04/21-17:34
   ┣10779.VTDOSの画面書き換え Fコール版 - konno 23/04/21-18:40
   ┗10781.Re: VTDOSの $width コマンドのバグ? - shadow 23/04/23-13:10
    ┗10783.Re^2: VTDOSの $width コマンドのバグ? - konno 23/04/23-15:55
     ┗10784.Re^3: VTDOSの $width コマンドのバグ? - shadow 23/04/24-08:53
      ┗10785.Re^4: VTDOSの $width コマンドのバグ? - konno 23/04/24-17:15

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]