■■■ FILER.DEF Version 0.01 | Programed By TadashiYoshida ■■■ * m 82 @[CR] "" (s - 2) ?. #98 :A &p A=r, ;&m("SSS") (A == ',') ? {&01 >A} (A == '.') ? {&01 >A} (A == '/') ? {&01 >A} (A == 'L') ? {':' :B &c (s - 3) ? >B} (A == 'D') ? { &a("削除します、よろしいです") (r - 1) ? >A bx=vp, ax=pd, ;PAGER.DEF 依頼の快挙かもしれない(^^;) ッテ アッチハ4バイホドアルカ・・・ &i("$(EB,11,90,8A,04,46,22,C0,75,F9,C6,44,FF,2E,B4,41)$ $(CD,21,C3,05,74,03,33,FF,81,7F,04,01,02,74,05,2D)$ $(7E,FF,47,47,93,2E,8B,47,04,8E,D8,2E,8B,77,02,2E)$ $(8B,47,0C,B1,16,F6,E1,03,F0,83,C6,09,8B,D6,2E,81)$ $(67,0A,FF,FF,75,0E,E8,BA,FF,2E,8B,47,0C,2E,8B,4F)$ $(10,8B,D7,C3,2B,F0,83,EE,09,80,24,80,75,05,83,C6)$ $(16,EB,F6,56,83,C6,09,8B,D6,E8,97,FF,5E,2E,FF,4F)$ $(0A,2E,83,67,0A,FF,75,E6,EB,CF)") (r) ? &b(9) ':' &o(bx.34) ; &m("%d %d",ax,cx) &s (cx) ? {cx--, (cx) {#z ax--,} &d #z} &d ; cx=bx.21/78, ; (ax) ? {ax-=2, (ax) {&o(#x+(bx.21/78))}} (ax) ? {ax-=2, (ax) {&o(#x)} } >A } ; (A == 'Q') ? {ax884+pu+bu, bx130+ax, &i(3)} &o(A) (s && s - 2) ? >A ;ちゃんとなるかなぁ……… 01: (s - 3) ?. &s #[ :A (s == 2) ? {#[ >A} (s == 1) ? {"console" #m} &s #R &?(pi) "FILER.CFG" #m B660+pd, B..0=128, ps[, ps2+B, #F '#' &o(A) #m #c ps], #@ #x #l #C &d #E #98 'P' #u #m * ;======== OFIELD2.DEF for OUTFIELD(v2.10) by y.mikome ======== 上記のマクロの下記の一部とNIFTY FGALPKでの書き込みを参考にさせて頂きました。 OUT FIELD 作者の y.mikome さん有り難うございました。 -------------- OUT FIELD より -------------- 02: a884+pd+(vp.4+vp.5>3)*130, (a+34) ;← a=ファイル名格納アドレス ;→ puに複写 pu=ファイル名 ; q=拡張子 si=a..6*22+a..1, ax=a..1, bx=a..2, cx=a..3, dx=a..0, &i(3) ;ちぇっく bx=a..2, &i("$(8E,DB,8B,04,C3)") ;mov ds,bx ;mov ax,[si] ; (ax&16||a..6+1==a..7)?{ (-1). } ;dir, eodir si+=9, di=q=pu, cx13, &i("$(8E,DB,F3,A4,C3)") ;mov ds,bx ;rep movsb :A (q.)?{ q++, >A } q.0='.', q++, -------------------------------------------------------- 書き込みより(誰の書き込みか書けなくてすいません m(__)m) -------------------------------------------------------- p884+pu+bu, m"何かのキーを押して下さい", &m("選択ファイル: %d 個%-24s%s",p..5,"",m) &p &m("カーソル位置: %d 番目%-24s%s",p..6+1,"",m) &p &m("ファイル数: %d 個%-24s%s",p..7-1,"",m) &p &m("ディレクトリ: %s%-24s%s",p+34,"",m) &p &m("終了") ------------------------------------------------------------------------------ 戯言 ------------------------------------------------------------------------------ VZのファイラーでコマンドラインに抜けずに色んな事が出来ると良いなって事で作りました 取り敢えず削除だけです、それとキーを監視する所のチェックが甘いです しかも書き方が汚いです(^^;) まぁ、テスト物ですから勘弁して下さい。 今の所ファイラーの所で出来る事は [,][.][/] これはHFのパクリです(^^;) FILER.CFG というファイルがないとダメです。 [D]    DELETE マーキング対応 [L] ドライブ変更、通常は[D]ですね。 また今の所ショートでは削除後のカーソル移動が旨く動きません。 急いで作った物ですから。(UPするひまがないもんで(^^;)) VZ バージョン 1.57 依存です 1.57 以外でのバージョンでは暴走の原因です。 下記が自分なりに解析した結果です、かなり簡略化していますが 解る方は解ると思います(^^;) FILER.CFGをVZ.COMまたはVZPATHのディレクトリに作成して下さい。 ------------------------------ FILER .CFG ------------------------------- #, A:\FSW #. A:\UTL #/ A:\UTL\VZTERM ------------------------------------------------------------------------------- 参考資料(になると良いな) ソースより 22 Byte dr_attr db ? ;--- DOS file attribute --- dr_time dw ? dr_date dw ? dr_size dd ? dr_pack db 13 dup(?) ;--- DOS file attribute --- FA_RDONLY equ 00000001b FA_HIDDEN equ 00000010b FA_SYSTEM equ 00000100b FA_LABEL equ 00001000b FA_DIREC equ 00010000b FA_ARCH equ 00100000b FA_SEL equ 10000000b マークしているかのフラグ 130 Byte の構造の内容 fl_back dw ? 0 0 fl_pooltop dw ? 2 1 DTA格納オフセットスタートアドレス fl_seg dw ? 4 2 DTA格納セグメント fl_poolend dw ? 6 3 DTA格納オフセットエンドアドレス fl_poolp dw ? 8 4 fl_pooltop と同じアドレス? fl_selcnt dw ? 10 5 選択ファイル数 fl_bcsr dw ? 12 6 カーソル位置 fl_files dw ? 14 7 ファイル数 fl_home dw ? 16 8 カーソル位置が0の時のファイル番号 fl_wpx db ? 18 ファイル表示開始のX座標 fl_wpy db ? 19 ファイル表示開始のY座標 fl_wsx db ? 20 ウインドゥ内にファイルが幾つ表示出来るか fl_wsy db ? 21 ウインドゥのX(ファイル数)幅 fl_tsy dw ? 22 11 Y・・・(ファイル数/Yファイル表示数) fl_ttlsx db ? 24 fl_which db ? 25 ウインドゥ番号 fl_free dd ? 26 16 ディスクフリースペース fl_clust dw ? 30 15 ディスククラスタ fl_overflow db ? 32 Fw(ディレクトリバッファ)以上ファイルがあるか fl_curf db ? 33 カレントディレクトリか fl_path db PATHSZ 34 パス fl_mask db MASKSZ 35 マスク また、このマクロを作成する上で大変お世話になったMEIという常駐 型デバッガ(MKUS氏作)があります。便利ですので皆さんも使ってみてね。 NIFTY FGALST #LIB 4 ・ PC-VAN チアリSIG #7 #10 に、あります。