[HOME] [リストへもどる] [新着50]  [最新100]  [全部表示 会議室風]  [全部表示 保存用]

新着記事 30


81クリップボード 投稿者:konno   2024/10/03(木) 18:43


#k1118:Re^8: ブロック再現マクロ  投稿者:H岡   2006/06/18(日) 19:18
#k1126:Re^9: ブロック再現マクロ  投稿者:めざら   2006/06/19(月) 15:43
#k1141:Re^10: ブロック再現マクロ  投稿者:H岡   2006/06/23(金) 23:04
#k1156:Re^11: ブロック再現マクロ  投稿者:めざら   2006/06/26(月) 04:22
#k4898:Re^2: VTDOSインストチェック  投稿者:文太   2010/01/21(木) 12:26
#k4900:クリップボード送信  投稿者:文太   2010/01/21(木) 12:28
 1文字欠ける?
=== Macrotmp by B ===;
#k4901:GET CLIPBOARD DATA SIZE  投稿者:文太   2010/01/21(木) 17:58
#k4909:Re^3: クリップボード送信  投稿者:10#   2010/01/22(金) 23:37
現状jenga.defはヌル文字を付けていないということでいいですか?
であればWinOldApに倣ってヌル文字補完になります。
clppstはWin32なので、今回VTDOSは無関係でした。
Ver.1.21からの対応になります。

    - No.81 -            [リストへもどる]
soft

80Re^2: 新リンク機能、今日、テスト 投稿者:konno   2024/07/06(土) 23:39
  79 番 konno さんへのコメント

> 単なるテストです。この長い行を折り返すかどうか。さてどうなることやら全く分かりません。どうしたものか。
>       タブとスペースのテストです。
> 
> 

    - No.80 -   [コメント元:79]    [リストへもどる]
pre

79Re: 新リンク機能、今日、テスト 投稿者:konno   2024/07/06(土) 23:37
  78 番 konno さんへのコメント    コメント数 1

単なるテストです。この長い行を折り返すかどうか。さてどうなることやら全く分かりません。どうしたものか。
      タブとスペースのテストです。

    - No.79 -   [コメント元:78]    [リストへもどる]
pre

78新リンク機能、今日、テスト 投稿者:konno   2024/05/29(水) 06:36
  77 番 konno さんへのコメント    コメント数 1

東芝のデスクトップ一体型です。うちの掲示板の過去ログで書いています。
> 今日#5814:TVを買ったらWin7がついてきたよ konno 2012/04/30
http://tamaneko.world.coocan.jp/bbs/wforum.cgi?mode=allread&pastlog=14&act=past&no=5814#5814

それが2018年に動かなくなったので買い替える口実にしたのでした。(^^;
> 今日#7989:デスクトップPCが壊れた  konno 2018/04/01
http://tamaneko.world.coocan.jp/bbs/wforum.cgi?mode=allread&fsize=&no=7989#7989

#k7989 #kyo7989

#t78 #test78
テスト#78




    - No.78 -   [コメント元:77]    [リストへもどる]
soft

77Re^2: 新リンク機能 txt= txt: 投稿者:konno   2024/04/27(土) 23:20
  76 番 konno さんへのコメント    コメント数 2

> > 新リンク機能のテストです。
> > 
> > #txt=hanoi_k.def 
> > 
> > #txt: hanoi_k.def 
> > 
> >   #txt:aste1.zip  #txt:stime2.lzh
> >   #txt:aste1.zip_  #TXT:stime2.lzh.
> 
> 
> 表示テストです。
> 
#TXT=LXCLND.DEF
#TXT:LXCLND.DEF

    - No.77 -   [コメント元:76]    [リストへもどる]
pre

76Re: 新リンク機能テスト 投稿者:konno   2024/04/04(木) 14:18
  75 番 konno さんへのコメント    コメント数 1

> 新リンク機能のテストです。
> 
> #txt=hanoi_k.def 
> 
> #txt: hanoi_k.def 
> 
>   #txt:aste1.zip  #txt:stime2.lzh
>   #txt:aste1.zip_  #TXT:stime2.lzh.


表示テストです。

    - No.76 -   [コメント元:75]    [リストへもどる]
pre

75新リンク機能テスト 投稿者:konno   2024/02/22(木) 00:13
   コメント数 1

新リンク機能のテストです。

#txt=hanoi_k.def

#txt: hanoi_k.def

#txt:aste1.zip #txt:stime2.lzh
#txt:aste1.zip_ #TXT:stime2.lzh.

    - No.75 -            [リストへもどる]
soft

74command.com 関連 投稿者:konno   2022/09/16(金) 22:56


 #kyo4602: 手持ちの command.com 投稿者: - あじゃ -   2009/12/19(土) 11:12
参照先: http://aja.seesaa.net/

 #04601 shadow さん宛というわけでもなく、

手持ちの command.com です。

65,091  94-04-15   6:30 command.com	PC DOS J6.30/V	(fix前)
65,106  95-06-06   6:30 command.com	PC DOS J6.30C/V	(fix後)

63,387  95-07-07   7:00 command.com	PC DOS J7.00/V	(fix前)
63,402  98-05-25   7:00 command.com	PC DOS J7.00C/V	(fix後)

116,802  95-10-03   0:00 command.com	Windows95a	(初期版)

118,164  98-06-12  20:01 command.com	Windows98	(1st)

117,638  00-06-08  17:00 command.com	WindowsMe

あと Win95 の OSR2 があるけど、いま出すのはちょいと大変。

    - No.74 -            [リストへもどる]
pre

73めざらさん方式発言者ID生成関連 投稿者:konno   2020/10/25(日) 17:37
   コメント数 2

BBSのログをnifty形式に変換するときにネックになるのが発言者のIDをどうするかです。

野ざらし言:過去ログ書庫
http://mezala.la.coocan.jp/noz/index.html

めざらさんがここで仕様とマクロを公開していますが、仕組がさっぱりわかりません。
板塀にめざらさん方式発言者ID生成関連情報がありました。

板塀#813 です。


    - No.73 -            [リストへもどる]
soft

72Tra_TAG.def 改 V04 投稿者:konno   2018/12/04(火) 23:12
  66 番 konno さんへのコメント

=== Tra_TAG.def v16 ===

;					 V16k04	konno改
;2018-10-04 03 ディレクトリ&LFN不具合対応  
;2018-12-04 04 バッファ溢れ不具合対策 コンソールのみ

* M
;60 ^\ "TAG"
60  "TAG"
        ?.
;------- ファイラー移行拡張子 (%A) ---------------------------------------
	a".com .exe .dic .obj .lib .lzh .jpg .gif .ico .zip .pif .lnk",
;------- start コマンド拡張子 (%B) ---------------------------------------
	b".xls .ppt .mdb",
;------- メニュー選択拡張子  (%C) ---------------------------------------
;	c".htm .pas",
	c".htm .pas .asm .inc",
;------- m=0:wgrep, m=1:ygrep, (%D) --------------------------------------
	m0,	;m1,
;-------------------------------------------------------------------------


	#] #? #> #< &x(255)		;バッファ溢れ対策 行の長さ255以上?
	(cd!=$d&&wn==0)?{&x(254)#m#e}#<	;コンソールなら改行挿入

	#] #? (r)?. wa..19.2-,		;行を lfb に取り込む
	&So(wa..18,":\") (r)??{		;フルパスが書いてない
		&Ss(pq..148+2) si=r,		;lbuf
		di=pq..134+100, i-, i[, &> i],	;tmpbuf
		(r!=-1)?{ r=si+1, >C }	;行頭からもLFNが取得出来ないときは
		 r=si+1, >C 		;★LFNが取得出来なくても進む
		dn[-, #60 dn],		;通常の #60 
		&m("0 ng %s",di)	;▼
		>C			;★LFNが取得出来なくても進む
;		f"",(r)?>61 >B		;取得できなければ LZH 処理
	}

:A	si=r-1, di=pq..134+100, i3,	;フルパス部分を di へ取り出し
:C
;	&m("-0 ng %s",di)	;▼
;&w(120)
	di[, &> di],
	f=di, ;(r==-1)?{ #> #d >E }
	r=si+i,				;-->r=lbf内のフルパス末尾adr
	&09 				;-->pa=拡張行番号情報
	&m("09 i=%d %s",i,wa+146)
;	&t &w(120)
	ax$7160, cx+, si=di, di=pq..149,
;        &i($21) (ax==$7100 || r)?di=si,
        &i($21) (ax==$7100)?di=si,

	&s 
	#k (w=wn)?#X mr255,#i mb+,		;起動行を console に貼り付けて
	ps[=pr, #56 "$"" #m "" #m 'Y'
	#56 &?("\i %s",si) #m		;ファイル名部分をSFNに置換
	&?("%s ",di) #m 'Y' ps], mb-,
	#60 e=r,			;TAG情報取得して
	ux[+, #y ux], (w)?#X &d		;後始末
	#> #d
	(e)?{				;ディレクトリ対応
		&06 (r)? >E
		&m("1 ng %s",pf)	;▼
;		f"",(r)?>61 >B		;取得できなければ LZH 処理
		.
	}

:B	;- 拡張子判断 -
	&Sy(pf) (r&2)?{
		:a &So(a,cx) (r)?{	;ファイラー移行拡張子
			e=r, &Sn(cx)
			(e.r==32 || e.r==0)?{
				&03 .
			} a=e+1, >a
		}
		:b &So(b,cx) (r)?{	; start コマンド拡張子
			e=r, &Sn(cx)
			(e.r==32 || e.r==0)?{
				&07 .
			} b=e+1, >b
		}
		:c &So(c,cx) (r)?{	;メニュー選択拡張子
			e=r, &Sn(cx)
			(e.r==32 || e.r==0)?{
				&02 .
			} c=e+1, >c
		}
	}
	&04				;--- テキストとしてオープン ---
		&m("2 ok %s",wa+146)	;●
.


:E	;- オープン出来ない -
	&m("%s オープンできません",f) &b(2)

00:	;--- LFN対応 #60 ----
	;<-- r=0:Exists, -1:non,

	si[,
	&Sc(di,si,i)
 :A 	(si.i=='"')?{ si++, >A }
; 	&f(si.i,"$(9,d)$"(*<>?:/| =[];+,")	;
 	&f(si.i,"$(9,d)$"(*<>?:| =;+,")		; / ディレクトリ&LFN対応
	e=r, (si.i)??e-,
	(e>=0)?{			;ファイル不可文字なら一旦存在判定
		&> (r)??>Z		;存在すればr=0を返す
	}
	(e==255)?{ di.i-, (-1) >Z }	;存在しなければr=-1を返す
	di.i=si.i, i++, >A
:Z	si],
	&m("00 i=%d %70s",i,wa+146)
	;&w(60)

01:	;--- ファイル存在チェック ---
	;<-- r=0:Exists,
	;    e=255:最終判定,

	(e<11)?e255,			;LFN でも使えない文字なら最終判定
        di.i-,
	&Sn(di) r--, 
	(r>=254)?{&m("%d",r)&t}
	(di.r=='\')?di.r=0,
	ax$7143, bx-, dx=di,
 :F	&i($21)				;ファイル存在チェック
	(ax==$7100)?{			;LFN に対応してなければ最終判定
		ax$4300, e255, >F
	}
        (r)
	&m("01 i=%d %70s",i,wa+146)
	 ;&w(60)

02:	;--- メニュー処理 ---
	;--> pf

	&m("02 %70s",wa+146)
	;&w(120)
	!01
	(r==0)?{	;start
		&07
		.
	}
	(r==1)?{	;filer
		&03
		.
	}
	(r==2)?{	;open
		&04
		.
	}

03:	;--- ファイラーへ移行 ---
	;--> pf,bx

	#O bx.0[=0, &?("%s",pf) #m bx.0=0],
	&Sc(pn..-38,pf) #U 

04:	;--- テキストとしてオープン ---
	;--> pf

	r=pf, &08 (r==1)?{
:S	;- メニュー処理その2 -
		&m("maybe binary : %60s",pf)
		!01
		(r==0)?{	;start
			&07
			.
		}
		(r==1)?{	;filer
			&03
			.
		}
		(r==2)?{	;open
			>O
		}
		.
	}
 :O	&Sf(pf,' ') (r)?{ p=r, si=p+2, }
		?{ &Sn(pf) si=p=pf+r, } &>
	q=pf, pf[=pr,
	p.0[=0, #O &?("%s",q) p.0=0], #m
	pf],
	(s)?{ &b(2) . }

	(pa.0==1)?{
		&m("ただいまジャンプ中 %s(->%s)",wa+146,pa+1)
; &w(60)
;		#O &?("%s ->%s",wa+146,pa+1) #m
		#O &?("%s ->%s",pf,pa+1) #m
		&d
		.
	}

	&m("ただいまジャンプ中 %s (%lu行)",wa+146,ax,dx)
; &w(60) &d
	#^ dn[-,
:L	;- long行番号へジャンプ -
	(dx)?{ dx--, &#J(-1)
        	(ln-0~)??{ #> #d >L } (0)
	}? &#J(ax)
	&m("") #? &d dn],

05:	;--- Long 値を取得 ---

	&i(3+$)."$
	$(33,C0,99,33,C9,BF,0A,00,8B,D8,AC,2C,30,3C,09,77)$
	$(0F,8A,C8,8B,C2,F7,E7,93,F7,E7,03,C1,13,D3,EB,E8)$
	$(8B,C3,C3)"

06:	;--- ディレクトリとしてオープン ---
	;--> di

	ax$4300, bx-, dx=di, &i($21)	;ファイル存在チェック
	(r)?{ (1) . }
	#O &?("%s",di) #m (0)

07:	;--- start コマンド ---
	;--> pf

	#E &?("Start %s",pf) #m #[

08:	;--- chk binary ---
	;--> r=ファイル名
	;<-- r=-1:non file, 1:binary

	ax[,bx[,cx[,dx[,di[,
	dx=r, ax$3d00, &i($21) (r)?{ (-1)>Z }	;open
	dx=pq..149, bx=ax, cx=250,
	ax$3f00, &i($21)			;read
	bx[, di=dx,cx=ax,
	&i("$(32,C0,F2,AE,F7,D9,C3)") (r)	;scan ZERO
	bx], ax$3E00, &i($21)			;close
 :Z	di],dx],cx],bx],ax],

09:	;--- 拡張行番号情報 ---
	;<--pa.0  db 0:normal, 1:cp, 2:env,
	;     .1  dd string

	p[=r+1,
	pa.0-,
	(p..0=='>-')?{
		pa.0=1, p+=1, i-,
		:a i++, r=p.i, &10 ?{ pa.i=p.i, >a }
		pa.i-,
	}
	(p..0=='-[')?pa.0=2,
	p],

10:	;--- 16進? ---
	(r)>!{
		1>h 2>h 3>h 4>h 5>h
		6>h 7>h 8>h 9>h 0>h
		A>h B>h C>h D>h E>h F>h
		a>h b>h c>h d>h e>h f>h
	}
	(0)
.:h	(1)

61 ^^ "LZH"
	(s)?.
	&s &#M(4) ky[,
	&20 f=r,			;-->f=検索文字
	(f)??{ &m("変数 m を正しく設定してください") >Z }
	mp[,ps[=pr,
	#F &?("%s",f) #m #r
	ps],mp],
	(r)?{ r-,>e }
	r=pq..149, &23			;-->r=行バッファ取得アドレス
	(r==-1)?{ r+, >e }
	&21 (r==-1)?{ r2, >e }
	p=r,				;-->p=圧縮ファイル名

	&#U(4)
	r=pq..149+121, &23
	(r==-1)?{ r+, >e }
	&22 (r==-1)?{ r3, >e }
	q=r, &Sn(q) l=q+r+1,		;-->q=ファイル名
	&Ss(l) l=r,			;   l=行数

	#E &?("miel -l -na %s +%s -ej -j%s",p,q,l) #m #[

 :Z	&#U(4) ky],&d
.
:e	;- エラー表示 -
	&#U(4) #> #d &#M(4)
	(r)>?{
		("タグ情報/書庫ファイル情報行が見つかりません")
		("カーソル行が取得できません")
		("書庫ファイル情報行の不備です( ^QP でジャンプ )")
		("タグファイル情報行の不備です")
	}
	&m("%d %s %s",r,mg..0,p)
	>Z

20:	;--- 書庫ファイル情報検索文字 ---

	r-,
	(m==0)?{ r"\i ------------------[", }
	(m==1)?{ r"\i /* 書庫ファイル ", }
	(r)

21:	;--- 書庫ファイル情報行を分析 ---
	;-->r=取得バッファ

	p[=r,
	(m==0)?{
		&SO(p," << ") (r)?p=r+4,
				?{ r=-1, >Z }
		&SO(p,"]") (r)?r.0-,
				?{ r=-1, >Z }
	}
	(m==1)?{
		&SO(p,"ル ") (r)?p=r+3,
				?{ r=-1, >Z }
		&SO(p," */") (r)?r.0-,
				?{ r=-1, >Z }
	}
	r=p,
 :Z	(r)
 	p],

22:	;--- タグファイル行を分析 ---
	;-->r=取得バッファ

	p[=r,
	&SO(p," ") (r)?r.0-,
			?{ r=-1, >Z }
	&SO(r+1,":") (r)?r.0-,
			?{ r=-1, >Z }
	r=p,
 :Z	(r)
 	p],

23:	;--- カーソル行の(論理)行頭から 120 文字を r へ取得 ---
	;-->r=取得バッファ
	;<--r=-1:Err,

	p[=r,
	(mr==$80)?{#? &s }?#28	;#28 は ViewMode では使えない
	(r)?{ r=-1, >Z }	;#? #28 --> r==-1:lbfが一杯などのエラー
	wa..19.2-,
;	&Sc(p,wa..18,120) r=p,
	&Sc(p,wa..18,200) r=p,
 :Z	(r)
 	p],


* P
01	"",7,3
	"Start"
	"Filer"
	"Open"

*
= End of Tra_TAG.def =

    - No.72 -   [コメント元:66]    [リストへもどる]
pre

71IMASK3.DEF 投稿者:konno   2018/11/21(水) 21:14
  70 番 shadow さんへのコメント

=== IMASK3.DEF === IMASK+MASKMAN2+α+k

だんだんパスマスク by 榊原 知	ver 2.00 94/02/04
+MASKMAN2.DEF とらじ
+konno 若干改造 2018-11-20

* M
;89 \[CLR] "だんだんパスマスク"
50 ""
	>?{>A >B #98 >> .} >>
:A	#O
:B	(cm-70 && cm-71 && cm-76)?.
	#m >>

20:	;本体
;e=パスマスク書換マクロ
	(s-3)?.
	r=mg..2,
	(r>mg+16 && r..0==r..-4)?.
	&01 
	p..0='*',			;&Sc(p,"*")
	&Sy(fl+98) (r&2)?{		;拡張子あり?
		&Sy(cx) (r&1)??{&Sw(cx) &Sc(p+1,cx,r)}
					;パスマスクに拡張子設定
	}
	e"",&02
	i-,
:A	&26				;ディレクトリMask by とらじ
	&01 
;	&m("Mask %s",p)
	am[=$e0, &m("Mask %s",p) am],	;動作中はメッセージ色変更 ★★★
	&p &u(r) c=r,			;c=キー入力
	(s-3)?>B
	(ks&1 && (c>'0' && c<='9'))?{&s #L ss-, &o(c+16) >A}
					;ドライブ切り替え
	(ks&1 && (c>='A' && c<='Z'))?{r=c,rr=(pv+63)..7-3,&* >A}
					;ファイラーコマンド
	e-,
	(c)>!{				;機能キー処理
		:>B />B			;[:][\][/]そのまま
		\	(e">12")
		*	(e"#x'*'")	;[*]マスククリア
		.	(e">11")	;[.]拡張子
		(#[)	>Z		;[ESC]終了
		(#94)	(e">10")	;[BS]1字戻し
		(#h)	(e">10")	;[BS]1字戻し
;		(' ')	(c'?')		;[SPC]1字飛ばし
		?	(c'?')		;[?]1字飛ばし		★★★
		(' ')	>S		;[SPC] マーク		★★★
	}
	(e)??{				;一般キー処理
		(c>>8==1)?>B		;コマンドキー
		e"&o(c)",		;文字キー
	}
	&02 >A				;パスマスク
:S	#91 >A				;マーク			★★★##k
:B	&o(c) (sm==3)?>A		;そのまま

:Z	(s)??fg.1+, &m("")


;:Z
;	(s)?? {
;	fl.98-,					;[CR]&mask 解除 Takahashi
;;	fl...98-,				;
;	pc.375+,                		;pq.-7=1, pq.6~+, ;tchdir ; touch dir flag
;;	(fl.130)?&Sc(fl+34,fl+130)?fl.33-,	;[CR]&path 解除
;;	f=fl..0,				;
;;	(f.130)?&Sc(f+34,f+130)?f.33-,		;
;	}
;	&m("")



01:	p=5+$,.
	"$(40,0)$[64]"

02:	;パスマスク設定
;<---
;e=パスマスク加工マクロ
	pf[,&01 pf=p,		;ファイルヒストリー設定
	&s
	#P #e			;パスマスク
:A	(cd-'*')?{#s>A}
	&e(e)
	&d #m
	pf],

10:	;[BS]1字戻す
	(lx)??{#[ &d #94 #P "*" .}
	ux[+,
	#s
	(cd=='.')?#h
	#g
	ux],

11:	;[.] 拡張子マスク
	ux[+, #l ux],
	"*.*"

12:	;[\]ディレクトリ
	ux[+, #l ux],
	"\" #m
	#P "*"

26:	;--- ▽ファイラープール書き換え	-----
	; &i() 前後で、
	; ▼総ファイル数が同じなら(ファイラープールの書き換えがない)
	;   #- のみで再表示、違うなら fv^=4, &d #V で。
	; ▼ファイラーカーソル位置が 0 なら #^ でカーソル位置を補正。

	ax=fl, &> &i(r)
	(dx)?{ fv^=4, &d #V (0) }? #?
	(bx)??#^
26:	(3+$)."$
	$(8B,E8,FF,76,0C,33,D2,8B,5E,02,8B,F3,E8,6A,00,A8)$
	$(10,74,0D,3B,5E,06,73,08,E8,07,00,83,C3,16,EB,EA)$
	$(5B,C3,8B,F3,83,C6,09,8B,FD,83,C7,62,8A,05,E8,4F)$
	$(00,8A,E0,E8,43,00,E8,47,00,80,FC,00,74,16,80,FC)$
	$(2A,74,11,80,FC,3F,74,09,3A,C4,74,05,E8,06,00,EB)$
	$(03,47,EB,D8,C3,8B,FB,8B,F7,83,C6,16,8B,4E,06,2B)$
	$(CF,1E,06,8E,46,04,8E,5E,04,F3,A4,07,1F,42,FF,4E)$
	$(0E,83,6E,06,16,83,EB,16,C3,1E,8E,5E,04,AC,1F,C3)$
	$(3C,61,72,06,3C,7A,77,02,2C,20,C3)"
*
=== end of IMASK

    - No.71 -   [コメント元:70]    [リストへもどる]
pre

70maskman2 投稿者:shadow   2018/11/18(日) 13:04
   コメント数 1

maskman2.lzhです。

<<< maskman2.lzh for MS-DOS ( use ish & lha ) [ 85 lines ] >>>
97--- 省略されました。---- [全文表示]

    - No.70 -            [リストへもどる]
soft

69Re: testです 投稿者:konno   2018/10/23(火) 21:33
  68 番 konno さんへのコメント

> testです

testです

    - No.69 -   [コメント元:68]    [リストへもどる]
soft

68testです 投稿者:konno   2018/10/23(火) 21:32
   コメント数 1

testです

    - No.68 -            [リストへもどる]
soft

67他の板への番号リンクテストです 投稿者:konno   2018/10/06(土) 20:12
  36 番 konno さんへのコメント

他の板への番号リンクテストです。

#     #41 言#41 塀#41 の#41 #41 #1#41 ##41

#kyo #k3008 #kyo3008へ(今日のテーマ板)

#kyo 今日のテーマ#3008へ(今日のテーマ板)

#link #l0008  #link8へ (リンク板)

#test #t0041 #test41へ (テスト板)

#n   #n3000  野ざらし言#3000 野ざらし言3000番へ  #n3000

#i   #i1000  板塀#1000へ       板塀1000番へ  #i1000



    - No.67 -   [コメント元:36]    [リストへもどる]
pre

66Tra_TAG.def 改 V02 投稿者:konno   2018/10/05(金) 01:02
  65 番 konno さんへのコメント    コメント数 1

=== Tra_TAG.def v16 ===
; V16k02		2018-10-04 konno

* M
;60 ^\ "TAG"
60 ^[F10] "TAG"
        ?.
;------- ファイラー移行拡張子 (%A) ---------------------------------------
	a".com .exe .dic .obj .lib .lzh .jpg .gif .ico .zip .pif .lnk",
;------- start コマンド拡張子 (%B) ---------------------------------------
	b".xls .ppt .mdb",
;------- メニュー選択拡張子  (%C) ---------------------------------------
;	c".htm .pas",
	c".htm .pas .asm .inc",
;------- m=0:wgrep, m=1:ygrep, (%D) --------------------------------------
	m0,	;m1,
;-------------------------------------------------------------------------
	#] #? (r)?. wa..19.2-,		;行を lfb に取り込む
	&So(wa..18,":\") (r)??{		;フルパスが書いてない
		&Ss(pq..148+2) si=r,
		di=pq..134+100, i-, i[, &> i],
		(r!=-1)?{ r=si+1, >C }	;行頭からもLFNが取得出来ないときは
;		 r=si+1, >C ;}		;★LFNが取得出来なくても進む
		dn[-, #60 dn],		;通常の #60 
		&m("0 ng %s",di)	;▼
		>C			;★LFNが取得出来なくても進む
		f"",(r)?>61 >B		;取得できなければ LZH 処理
	}

:A	si=r-1, di=pq..134+100, i3,	;フルパス部分を di へ取り出し
:C	di[, &> di],
	f=di, ;(r==-1)?{ #> #d >E }
	r=si+i,				;-->r=lbf内のフルパス末尾adr
	&09 				;-->pa=拡張行番号情報
	ax$7160, cx+, si=di, di=pq..149,
;        &i($21) (ax==$7100 || r)?di=si,
        &i($21) (ax==$7100)?di=si,

	&s 
	#k (w=wn)?#X mr255,#i mb+,		;起動行を console に貼り付けて
	ps[=pr, #56 "$"" #m "" #m 'Y'
	#56 &?("\i %s",si) #m		;ファイル名部分をSFNに置換
	&?("%s ",di) #m 'Y' ps], mb-,
	#60 e=r,			;TAG情報取得して
	ux[+, #y ux], (w)?#X &d		;後始末
	#> #d
	(e)?{				;ディレクトリ対応
		&06 (r)? >E
		&m("1 ng %s",pf)	;▼
;		f"",(r)?>61 >B		;取得できなければ LZH 処理
		.
	}

:B	;- 拡張子判断 -
	&Sy(pf) (r&2)?{
		:a &So(a,cx) (r)?{	;ファイラー移行拡張子
			e=r, &Sn(cx)
			(e.r==32 || e.r==0)?{
				&03 .
			} a=e+1, >a
		}
		:b &So(b,cx) (r)?{	; start コマンド拡張子
			e=r, &Sn(cx)
			(e.r==32 || e.r==0)?{
				&07 .
			} b=e+1, >b
		}
		:c &So(c,cx) (r)?{	;メニュー選択拡張子
			e=r, &Sn(cx)
			(e.r==32 || e.r==0)?{
				&02 .
			} c=e+1, >c
		}
	}
	&04				;--- テキストとしてオープン ---
		&m("2 ok %s",pf)	;●
.


:E	;- オープン出来ない -
	&m("%s オープンできません",f) &b(2)

00:	;--- LFN対応 #60 ----
	;<-- r=0:Exists, -1:non,

	si[,
	&Sc(di,si,i)
 :A 	(si.i=='"')?{ si++, >A }
; 	&f(si.i,"$(9,d)$"(*<>?:/| =[];+,")
 	&f(si.i,"$(9,d)$"(*<>?:| =;+,")
	e=r, (si.i)??e-,
	(e>=0)?{			;ファイル不可文字なら一旦存在判定
		&> (r)??>Z		;存在すればr=0を返す
	}
	(e==255)?{ di.i-, (-1) >Z }	;存在しなければr=-1を返す
	di.i=si.i, i++, >A
:Z	si],

01:	;--- ファイル存在チェック ---
	;<-- r=0:Exists,
	;    e=255:最終判定,

	(e<11)?e255,			;LFN でも使えない文字なら最終判定
        di.i-,
	&Sn(di) r--, (di.r=='\')?di.r=0,
	ax$7143, bx-, dx=di,
 :F	&i($21)				;ファイル存在チェック
	(ax==$7100)?{			;LFN に対応してなければ最終判定
		ax$4300, e255, >F
	}
        (r)

02:	;--- メニュー処理 ---
	;--> pf

	&m("%70s",pf)
	!01
	(r==0)?{	;start
		&07
		.
	}
	(r==1)?{	;filer
		&03
		.
	}
	(r==2)?{	;open
		&04
		.
	}

03:	;--- ファイラーへ移行 ---
	;--> pf,bx

	#O bx.0[=0, &?("%s",pf) #m bx.0=0],
	&Sc(pn..-38,pf) #U 

04:	;--- テキストとしてオープン ---
	;--> pf

	r=pf, &08 (r==1)?{
:S	;- メニュー処理その2 -
		&m("maybe binary : %60s",pf)
		!01
		(r==0)?{	;start
			&07
			.
		}
		(r==1)?{	;filer
			&03
			.
		}
		(r==2)?{	;open
			>O
		}
		.
	}
 :O	&Sf(pf,' ') (r)?{ p=r, si=p+2, }
		?{ &Sn(pf) si=p=pf+r, } &>
	q=pf, pf[=pr,
	p.0[=0, #O &?("%s",q) p.0=0], #m
	pf],
	(s)?{ &b(2) . }

	(pa.0==1)?{
		&m("ただいまジャンプ中(->%s)",pa+1)
		#O &?("%s ->%s",wa+146,pa+1) #m
		&d
		.
	}

	&m("ただいまジャンプ中(%lu行)",ax,dx)
	#^ dn[-,
:L	;- long行番号へジャンプ -
	(dx)?{ dx--, &#J(-1)
        	(ln-0~)??{ #> #d >L } (0)
	}? &#J(ax)
	&m("") #? &d dn],

05:	;--- Long 値を取得 ---

	&i(3+$)."$
	$(33,C0,99,33,C9,BF,0A,00,8B,D8,AC,2C,30,3C,09,77)$
	$(0F,8A,C8,8B,C2,F7,E7,93,F7,E7,03,C1,13,D3,EB,E8)$
	$(8B,C3,C3)"

06:	;--- ディレクトリとしてオープン ---
	;--> di

	ax$4300, bx-, dx=di, &i($21)	;ファイル存在チェック
	(r)?{ (1) . }
	#O &?("%s",di) #m (0)

07:	;--- start コマンド ---
	;--> pf

	#E &?("Start %s",pf) #m #[

08:	;--- chk binary ---
	;--> r=ファイル名
	;<-- r=-1:non file, 1:binary

	ax[,bx[,cx[,dx[,di[,
	dx=r, ax$3d00, &i($21) (r)?{ (-1)>Z }	;open
	dx=pq..149, bx=ax, cx=250,
	ax$3f00, &i($21)			;read
	bx[, di=dx,cx=ax,
	&i("$(32,C0,F2,AE,F7,D9,C3)") (r)	;scan ZERO
	bx], ax$3E00, &i($21)			;close
 :Z	di],dx],cx],bx],ax],

09:	;--- 拡張行番号情報 ---
	;<--pa.0  db 0:normal, 1:cp, 2:env,
	;     .1  dd string

	p[=r+1,
	pa.0-,
	(p..0=='>-')?{
		pa.0=1, p+=1, i-,
		:a i++, r=p.i, &10 ?{ pa.i=p.i, >a }
		pa.i-,
	}
	(p..0=='-[')?pa.0=2,
	p],

10:	;--- 16進? ---
	(r)>!{
		1>h 2>h 3>h 4>h 5>h
		6>h 7>h 8>h 9>h 0>h
		A>h B>h C>h D>h E>h F>h
		a>h b>h c>h d>h e>h f>h
	}
	(0)
.:h	(1)

61 ^^ "LZH"
	(s)?.
	&s &#M(4) ky[,
	&20 f=r,			;-->f=検索文字
	(f)??{ &m("変数 m を正しく設定してください") >Z }
	mp[,ps[=pr,
	#F &?("%s",f) #m #r
	ps],mp],
	(r)?{ r-,>e }
	r=pq..149, &23			;-->r=行バッファ取得アドレス
	(r==-1)?{ r+, >e }
	&21 (r==-1)?{ r2, >e }
	p=r,				;-->p=圧縮ファイル名

	&#U(4)
	r=pq..149+121, &23
	(r==-1)?{ r+, >e }
	&22 (r==-1)?{ r3, >e }
	q=r, &Sn(q) l=q+r+1,		;-->q=ファイル名
	&Ss(l) l=r,			;   l=行数

	#E &?("miel -l -na %s +%s -ej -j%s",p,q,l) #m #[

 :Z	&#U(4) ky],&d
.
:e	;- エラー表示 -
	&#U(4) #> #d &#M(4)
	(r)>?{
		("タグ情報/書庫ファイル情報行が見つかりません")
		("カーソル行が取得できません")
		("書庫ファイル情報行の不備です( ^QP でジャンプ )")
		("タグファイル情報行の不備です")
	}
	&m("%d %s %s",r,mg..0,p)
	>Z

20:	;--- 書庫ファイル情報検索文字 ---

	r-,
	(m==0)?{ r"\i ------------------[", }
	(m==1)?{ r"\i /* 書庫ファイル ", }
	(r)

21:	;--- 書庫ファイル情報行を分析 ---
	;-->r=取得バッファ

	p[=r,
	(m==0)?{
		&SO(p," << ") (r)?p=r+4,
				?{ r=-1, >Z }
		&SO(p,"]") (r)?r.0-,
				?{ r=-1, >Z }
	}
	(m==1)?{
		&SO(p,"ル ") (r)?p=r+3,
				?{ r=-1, >Z }
		&SO(p," */") (r)?r.0-,
				?{ r=-1, >Z }
	}
	r=p,
 :Z	(r)
 	p],

22:	;--- タグファイル行を分析 ---
	;-->r=取得バッファ

	p[=r,
	&SO(p," ") (r)?r.0-,
			?{ r=-1, >Z }
	&SO(r+1,":") (r)?r.0-,
			?{ r=-1, >Z }
	r=p,
 :Z	(r)
 	p],

23:	;--- カーソル行の(論理)行頭から 120 文字を r へ取得 ---
	;-->r=取得バッファ
	;<--r=-1:Err,

	p[=r,
	(mr==$80)?{#? &s }?#28	;#28 は ViewMode では使えない
	(r)?{ r=-1, >Z }	;#? #28 --> r==-1:lbfが一杯などのエラー
	wa..19.2-,
;	&Sc(p,wa..18,120) r=p,
	&Sc(p,wa..18,200) r=p,
 :Z	(r)
 	p],


* P
01	"",7,3
	"Start"
	"Filer"
	"Open"

*
= End of Tra_TAG.def =

    - No.66 -   [コメント元:65]    [リストへもどる]
pre

65Tra_TAG.def 改 V1 投稿者:konno   2018/10/04(木) 21:42
   コメント数 1

削除しました

    - No.65 -            [リストへもどる]
pre

64k7t5b 投稿者:konno   2017/09/11(月) 07:21


<<< k7t5b.lzh for MS-DOS ( use ish & LHarc ) [ 180 lines ] >>>
71--- 省略されました。---- [全文表示]

    - No.64 -            [リストへもどる]
soft

63Re^9: 半角カナのテスト2 投稿者:konno   2015/10/02(金) 23:04
  62 番 konno さんへのコメント

> > > > > > > > > > テスト123 456
> > > > > > 123
> > > > > > 567
> > > > > > 789
> > > > > 11
> > > > 22
> > > 33
> 0925 0928

    - No.63 -   [コメント元:62]    [リストへもどる]
hard

62Re^8: 半角カナのテスト2 投稿者:konno   2015/09/22(火) 19:25
  61 番 さんへのコメント    コメント数 1

> > > > > > > > > テスト

> > > > > 123
> > > > > 567
> > > > > 789
> > > > 11
> > > 22
> > 33
> 61
62 11
0925 0928


    - No.62 -   [コメント元:61]    [リストへもどる]
hard

60Re^5: 半角カナのテスト2 投稿者:konno   2015/09/22(火) 18:09
  59 番 konno さんへのコメント

> > > > > > > テスト
> > >
> > > 123
> > > 567
> > > 789
> > 11
> 22
33

    - No.60 -   [コメント元:59]    [リストへもどる]
soft

59Re^4: 半角カナのテスト2 投稿者:konno   2015/09/22(火) 17:23
  58 番 konno さんへのコメント    コメント数 1

> > > > > > テスト
> >
> > 123
> > 567
> > 789
> 11
22
3

    - No.59 -   [コメント元:58]    [リストへもどる]
soft

58Re^3: 半角カナのテスト2 投稿者:konno   2015/09/22(火) 17:17
  56 番 konno さんへのコメント    コメント数 1

> > > > > テスト
>
> 123
> 567
> 789
11

    - No.58 -   [コメント元:56]    [リストへもどる]
soft

57Re^3: 半角カナのテスト2 投稿者:konno   2015/09/22(火) 09:28
  56 番 konno さんへのコメント

> > > > > テスト
>
> 123
345
0927 0928


    - No.57 -   [コメント元:56]    [リストへもどる]
soft

56Re^2: 半角カナのテスト2 投稿者:konno   2015/09/20(日) 02:58
  55 番 konno さんへのコメント    コメント数 2

> > > > テスト

123
567
789

    - No.56 -   [コメント元:55]    [リストへもどる]
soft

55Re: 半角カナのテスト2 投稿者:konno   2015/09/13(日) 23:23
  46 番 konno さんへのコメント    コメント数 1

> > > テスト
> テスト
> > > 半角カナのテストデス
> > > ( ゚゚;)
> メ
> >ル
> > ア
> > ト
> > ゙
> > 行頭に半角の「メル」とか「ド」だけで文字化けしますね。タイトルにはほぼ使用不能?
> > CGIエラーになる場合もあります。
> >
> > 使用する場合は必ずプレビューで確認してください。書きかけの記事が消えても
> > 責任はもてませんので、自己責任で。(^^;
> >
> >
> >
> >
> >
> >
>

    - No.55 -   [コメント元:46]    [リストへもどる]
soft

53tagl.def用taglight.pat 投稿者:konno   2013/05/11(土) 19:07
   コメント数 3

#デフォルト
D	■
C	\^■
B	\^★
A	\^・
1	 

#C,C++コード用
:C,CP,H,
E	(	)
D	{	 }
B	//	\C\$
C	{*	*}

#パスカルコード用
:DP,PA,
E	(*	*)
E	{ 	 }
E	//	\C\$

#HTML用
:HT,
B	<	>
C	!--	--
E	HREF="	"
A	src="	"
B	name="	"
E	font

#CGI用
:CG,
C	<	>
B	!--	--
E	font
A	src="	"
B	name="	"

#NIFTYログ用
:LO,
A	\0\0\0\0\0/\0\0\0\0\0 	\C\$
B	\^|	\C\$
B	\^ |	\C\$
B	\^|	\C\$
B	\^>	\C\$
B	\^>	\C\$
B	\^》	\C\$
C	http://	\C\$
E	mailto:	\C\$

#VZマクロコード用
:DE,
C	\^\0\0:
E	>\0\0 
C	>\0\0\C
C	&\0\0 
C	&\0\0\C
C	&> 
C	&>\C
C	>> 
C	>>\C
E	:\A
E	>\A 
E	>\A\C
B	;	\C\$
D	\^\0\0 	\C\$
B	\^*	\C\$

# TagLight 設定ファイル
#
#【パターン】
#
# |表示色<TAB>前タグ<TAB>後タグ	  → 前タグと後タグも含めて間の文字を着色
# |表示色<TAB>前タグ		  → 前タグのみを着色
#
#【表示色】
#
# DkBlack    0     Black     8
# DkBlue     1     Blue      9
# DkGreen    2     Green     A
# DkAqua     3     Aqua      B
# DkRed      4     Red       C
# DkPurple   5     Purple    D
# DkYellow   6     Yellow    E
# DkWhite    7     White     F
#
#【特殊文字】
#
# \0     0〜9
# \A     a〜z A〜Z
# \C     ASCII CODE $00〜$1F
# \^     前タグの先頭にある場合のみ表示行頭
# \$     後タグの末尾にある場合のみ表示行末
# \\     \ 自身
#
#	※ \$ はANDではなくてORの働きをします。例えば後タグが \C\$ の場合、
#	「表示行末に ASCII CODE $00〜$1F の文字があるところまで」ではなく
#       て「表示行末かもしくは ASCII CODE $00〜$1F まで」となります。
#	※ \^ と \$ は TagLight.exe の内部でフラグに置き換えられていますか
#       ら、これらのみをタグに指定しても「タグ文字列が無い」と判断されます。
#       他の文字を組み合わせて使ってください。
#
#【VZ用 NE 設定】
#
# 行頭の : に続けて1文字か2文字で指定。 AA,BB のように , で区切り
# 複数指定することもできます。


    - No.53 -            [リストへもどる]
pre

52blta.asm ver0.41k all DOS版 バグ修正 投稿者:konno   2012/01/08(日) 02:03
  47 番 konno さんへのコメント    コメント数 2

;blta.asm (Long Fullpath BLT All for all DOS ver0.41k  2012-01-08 )

INCLUDE STDIO.H

	CODE	SEGMENT BYTE
	ASSUME	CS:CODE, DS:CODE, ES:CODE, SS:CODE
	org	80h
	argc	db	?		;引数のサイズ 0-127bytes
	argv	db	127 dup (?)
	org	100h
;-----------------------------------------------------------------
START:
	mov	bx,80h          	;↓引数をASCIIZにする
	add	bl,[bx]			;引数のサイズ取得
	inc	bx
	cmp	bx,83h			;★ 引数が無い時
	jb	normal			;★
	mov	[bx],byte ptr 0 	;引数終わりの0Dhをnullに

	mov	bx, offset argv		;↓第一引数の処理
SWCHR:	add	bx,1
	cmp byte ptr [bx],'/'
	je	SWCHR
	cmp byte ptr [bx],'-'
	je	SWCHR
	cmp byte ptr [bx],'D'
	je	OP_D
	cmp byte ptr [bx],'d'
	je	OP_D
	cmp byte ptr [bx],'P'
	je	OP_P
	cmp byte ptr [bx],'p'
	je	OP_P
	cmp byte ptr [bx],'F'
	je	OP_F
	cmp byte ptr [bx],'f'
	je	OP_F
	cmp byte ptr [bx],'?'
	je	USAGE
	cmp byte ptr [bx],'H'
	je	USAGE
	cmp byte ptr [bx],'h'
	je	USAGE
	cmp byte ptr [bx],' '		;スペースなら第二引数の先頭
	jb	OPERR			;
	jne	USAGE			;それ以外の文字ならHELP
sp2:	add	bx,1
	cmp byte ptr [bx],' '		;
	jb	OPERR			;
	je	sp2
	mov FILE2,word ptr bx
	jmp	normal

OP_D:	mov	OPT_D,1			; ""
	jmp	SWCHR
OP_P:	mov	OPT_P,1			; full Pass
	jmp	SWCHR
OP_F:	mov	OPT_F,1			; Filename opt2
	jmp	SWCHR
OPERR:	cmp	OPT_F,0			; 引数が無い
	je	normal

USAGE:	print	help_usage
	newline
	retms
;-----------------------------------------------------------------
;get current disk
normal:
	mov	ah,19h
 	int	21h			;-> disk num in AL
 	add	al,'A'			;num2char
 	mov	BUFF_DP, byte ptr al
;get current directory (LFN) ----
 	mov	dl,0
 	mov	ax,7147h
 	mov	si,offset BUFF_FP	;BUFF_DP+3
 	int	21h
 	cmp	ax,7100h
 	jne	win

	mov	ah,47h
	mov	al,byte ptr BUFF_DP
	add	al,1			;AL num different! A=0 (19h) & A=1 (47h)
	mov	dl,al
	mov	si,offset BUFF_FP	;BUFF_DP+3
	int	21h
	jmp	dos

win:
	mov	OPT_W,1
;check & flag set	----
dos:
	cmp	BUFF_DP[3],0
	je	FIND1
	mov	FLAG, byte ptr 1	;if root 0 not root 1(=add '\')

;findfirst	----
FIND1:	mov	ax,714eh
	mov	dx,offset FILE1		;'*.*'
	cmp	OPT_F,0
	je	FI0
	mov	word ptr dx,FILE2	;opt2
FI0:	call	SET			;set cx, si, di
	cmp	OPT_W,0
	jne	FI1
	mov	ah,4eh
FI1:	int	21h
	jc	BYE			;not found?
	mov 	HAND, word ptr ax	;save handle num
	call	print_fn		;print drive+dir

;findnext	----
FINDN:	mov 	bx,HAND
	mov	ax,714fh
	call	SET
	cmp	OPT_W,0
	jne	FN1
	mov	ah,4fh
FN1:	int	21h
	jc	BYEBYE
	call	print_fn
	jmp	FINDN

ERR:	print ERR_MSG1			;not win32
	retms

BYE:	print ERR_MSG2			;file not found
BYEBYE:
	mov	bx,HAND			;HANDLE CLOSE
	mov	ax,71a1h
	int	21h
	retms

;	--- subroutines ---

SET:	mov	cx,28h			;directory, volume 除く
	mov	si,1
	mov	di,offset BUFF_F
	ret

;	--- print1 subroutines ---
PRI:	cmp	[bx],byte ptr 0
  	je	FIN
   	putchar	[bx]
  	inc	bx
  	jmp	PRI
FIN:	ret

;	--- print filename ---
print_fn:
	cmp	OPT_D,0			;print drive+dir
	je	B0
	putchar	'"'
B0:	cmp	OPT_P,0
	je	B1
	mov	bx,offset BUFF_DP
	call	PRI
	cmp	FLAG,0
	je	B1
	putchar	'\'
B1:	mov	bx,offset BUFF_F+2ch
	call	PRI
	cmp	OPT_D,0
	je	B2
	putchar	'"'
B2:	newline
	ret


OPT_W		db	0		;DOS 0 win 1
OPT_P		db	0		;full Path flag
OPT_F		db	0		;Filename opt2 flag
OPT_D		db	0		;double quote flag
FLAG		db	0		;if root 0 not root 1(=add '\')
HAND		dw	?		;handle
FILE1		db	'*.*',0
FILE2		dw	0		;opt2 filename
BUFF_DP		db	?,':\'
BUFF_FP		db	300 dup (0)
BUFF_F		db	320 dup (0)
ERR_MSG1	db	'Run on Windows','$'
ERR_MSG2	db	'File Not Found','$'
help_usage	db	'BLTA.COM file lister for all DOS   Ver0.41k',CR,LF
		db	'  usage  BLTA opt filename',CR,LF
		db	'    opt  D or d      Double quote',CR,LF
		db	'    opt  P or p      full Path',CR,LF
		db	'    opt  F or f      File name opt',CR,LF
		db	'    opt  H or h or ? Help usage',CR,LF
		db	'$'

	pend

    - No.52 -   [コメント元:47]    [リストへもどる]
pre

51blta.com ver0.40k all DOS版のish 投稿者:konno   2012/01/04(水) 20:43
  50 番 konno さんへのコメント

<<< blta.com for MS-DOS ( use ish ) [ 27 lines ] >>>
57--- 省略されました。---- [全文表示]

    - No.51 -   [コメント元:50]    [リストへもどる]
soft

50blta.asm ver0.40k all DOS版 投稿者:konno   2012/01/04(水) 20:42
  47 番 konno さんへのコメント    コメント数 2

blta.asm ver0.40k   all DOS版です、16ビットDOSでは試してません。

;blta.asm (Long Fullpath BLT All for all DOS ver0.40k  2012-01-04 )

INCLUDE STDIO.H

	CODE	SEGMENT BYTE
	ASSUME	CS:CODE, DS:CODE, SS:CODE
	org	80h
	argc	db	?		;引数のサイズ 127bytes
	argv	db	127 dup (?)
	org	100h
;-----------------------------------------------------------------
START:
	mov	bx,80h          	;↓引数をASCIIZにする
	add	bl,[bx]			;引数のサイズ取得
	inc	bx
	mov	[bx],byte ptr 0 	;引数終わりの0Dhをnullに

	mov	bx, offset argv		;↓第一引数の処理
SWCHR:	add	bx,1
	cmp byte ptr [bx],'/'
	je	SWCHR
	cmp byte ptr [bx],'-'
	je	SWCHR
	cmp byte ptr [bx],'D'
	je	OP_D
	cmp byte ptr [bx],'d'
	je	OP_D
	cmp byte ptr [bx],'P'
	je	OP_P
	cmp byte ptr [bx],'p'
	je	OP_P
	cmp byte ptr [bx],'F'
	je	OP_F
	cmp byte ptr [bx],'f'
	je	OP_F
	cmp byte ptr [bx],'?'
	je	USAGE
	cmp byte ptr [bx],'H'
	je	USAGE
	cmp byte ptr [bx],'h'
	je	USAGE
	cmp byte ptr [bx],' '		;スペースなら第二引数の先頭
	jb	OPERR			;
	jne	USAGE			;それ以外の文字ならHELP
sp2:	add	bx,1
	cmp byte ptr [bx],' '		;
	jb	OPERR			;
	je	sp2
	mov FILE2,word ptr bx
	jmp	normal

OP_D:	mov	OPT_D,1			; ""
	jmp	SWCHR
OP_P:	mov	OPT_P,1			; pass
	jmp	SWCHR
OP_F:	mov	OPT_F,1			; Fname
	jmp	SWCHR
OPERR:	cmp	OPT_F,0			; 引数が無い
	je	normal

USAGE:	print	help_usage
	newline
	retms
;-----------------------------------------------------------------
;get current disk
normal:
	mov	ah,19h
 	int	21h			;-> disk num in AL
 	add	al,'A'			;num2char
 	mov	BUFF_DP, byte ptr al
;get current directory (LFN)
 	mov	dl,0
 	mov	ax,7147h
 	mov	si,offset BUFF_FP	;BUFF_DP+3
 	int	21h
 	cmp	ax,7100h
 	jne	win

	mov	ah,47h
	mov	al,byte ptr BUFF_DP
	add	al,1			;AL num different! A=0 (19h) & A=1 (47h)
	mov	dl,al
	mov	si,offset BUFF_FP	;BUFF_DP+3
	int	21h
	jmp	dos

win:
	mov	OPT_W,1
;check & flag set	----
dos:
	cmp	BUFF_DP[3],0
	je	FIND1
	mov	FLAG, byte ptr 1	;if root 0 not root 1(=add '\')

;findfirst	----
FIND1:	mov	ax,714eh
	mov	dx,offset FILE1		;'*.*'
	cmp	OPT_F,0
	je	FI0
	mov	word ptr dx,FILE2	;opt2
FI0:	call	SET			;set cx, si, di
	cmp	OPT_W,0
	jne	FI1
	mov	ah,4eh
FI1:	int	21h
	jc	BYE			;not found?
	mov 	HAND, word ptr ax	;save handle num
	call	print_fn		;print drive+dir

;findnext	----
FINDN:	mov 	bx,HAND
	mov	ax,714fh
	call	SET
	cmp	OPT_W,0
	jne	FN1
	mov	ah,4fh
FN1:	int	21h
	jc	BYEBYE
	call	print_fn
	jmp	FINDN

ERR:	print ERR_MSG1			;not win32
	retms

BYE:	print ERR_MSG2			;file not found
BYEBYE:
	mov	bx,HAND			;HANDLE CLOSE
	mov	ax,71a1h
	int	21h
	retms

;	--- subroutines ---

SET:	mov	cx,28h			;directory, volume 除く
	mov	si,1
	mov	di,offset BUFF_F
	ret

;	--- print1 subroutines ---
PRI:	cmp	[bx],byte ptr 0
  	je	FIN
   	putchar	[bx]
  	inc	bx
  	jmp	PRI
FIN:	ret

;	--- print filename ---
print_fn:
	cmp	OPT_D,0			;print drive+dir
	je	B0
	putchar	'"'
B0:	cmp	OPT_P,0
	je	B1
	mov	bx,offset BUFF_DP
	call	PRI
	cmp	FLAG,0
	je	B1
	putchar	'\'
B1:	mov	bx,offset BUFF_F+2ch
	call	PRI
	cmp	OPT_D,0
	je	B2
	putchar	'"'
B2:	newline
	ret


OPT_W		db	0		;DOS 0 win 1
OPT_P		db	0		;full Path flag
OPT_F		db	0		;Filename opt2 flag
OPT_D		db	0		;double quote flag
FLAG		db	0		;if root 0 not root 1(=add '\')
HAND		dw	?		;handle
FILE1		db	'*.*',0
FILE2		dw	0		;opt2 filename
BUFF_DP		db	?,':\'
BUFF_FP		db	300 dup (0)
BUFF_F		db	320 dup (0)
ERR_MSG1	db	'Run on Windows','$'
ERR_MSG2	db	'File Not Found','$'
help_usage	db	'BLTA.COM file lister for all DOS   Ver0.40k',CR,LF
		db	'  usage  BLTA opt filename',CR,LF
		db	'    opt  D or d      Double quote',CR,LF
		db	'    opt  P or p      full Path',CR,LF
		db	'    opt  F or f      File name opt',CR,LF
		db	'    opt  H or h or ? Help usage',CR,LF
		db	'$'

	pend


    - No.50 -   [コメント元:47]    [リストへもどる]
pre