home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2001 June
/
VPR0106A.BIN
/
OLS
/
JED194V
/
JEDDOC.LZH
/
PRT.MCR
< prev
next >
Wrap
Text File
|
1993-11-26
|
6KB
|
346 lines
; *********************************************
; * *
; * PRTを使うためのマクロ *
; * *
; * PRT.MCR *
; * Written By M.Nakai *
; * *
; *********************************************
;
; JED付属のサンプルマクロを目一杯参考にさせて頂きました(^_^;)
;
; 初版 '93/08/15
; 範囲指定印刷対応 その他バグ修正 '93/11/25
;
;-------------------------------------------------------------
; PRTを起動する際に、テンポラリーファイルを作るパス
; ¥記号は、2つ続けて記述する
t = "A:\\",
;-------------------------------------------------------------
(mi) ? #v
fa-, ;範囲指定印字かどうかのフラッグ
!01
(r--) >? {&11 &12 &13 &14 &15 &16 &17}
&b(1) /
;PRT起動
11:
!91
(r--) >? {&18 &19}
.
18: ;全部印刷
&s ;画面表示抑制
#30 ;全体を選択
>A
19: ;範囲指定印刷
fa+, ;範囲指定印刷フラッグをオン
#<
ss = "範囲指定印刷", &70
:A
#A #18 ;ブロック範囲書き出し パス部分をクリア
&?(t) "JED>PRT" #m ;テンポラリーファイルにセーブ
#E "PRT " &?(t) "JED>PRT" #m
#E "DEL " &?(t) "JED>PRT" #m
#^ ;画面の先頭へ
&d ;画面表示再開
/
17: &d
&g("拡張子 <CR>・・・PRT") ;拡張子の入力
(r == -1) ? {/} ? {
(r == -2) ? {#^ "PRT"} ? {#^ &?(pw)} } ;画面に拡張子を出力
;テキストの先頭で作業する
#m #m #e #e "." #x #< ;拡張子を完成させて・・・
#P #< ;その次の行にファイル名を取り込み
:P
(cd != '.') ? { (ln != 2) ? {#s >Z} #d >P } ;.を頭から探す
#l ;次の行に移れば、拡張子なしのファイル
:Z #< #b #> #54 #g #e #p ;ファイル名完成
#k #k #y ;クリップボードに取り込み、表示削除
#E #i "DEL " #m ;とりあえず、既存ファイル削除
#74 #18 #i ;名前を変えて保存
#m
/
;文字サイズ、装飾
12:
!92
(r--) >? {&21 &22 &23 &24 &25 &26 &27 &28}
.
21:
ss = "横倍角", "\\w" &70 "\\w" .
22:
ss = "縦倍角", "\\l" &70 "\\l" .
23:
ss = "4倍角", "\\b" &70 "\\b" .
24:
ss = "上付き1/4角", "\\t" &70 "\\t" .
25:
ss = "下付き1/4角", "\\s" &70 "\\s" .
26:
ss = "縮小", "\\{z1}" &70 "\\{z0}" .
27:
ss = "アンダーライン", "\\u" &70 "\\u" .
28:
ss = "強調文字", "\\f" &70 "\\f" .
;ANK文字
13:
!93
(r--) >? {&31 &32 &33 &34 &35 &36}
.
31:
ss = "HDパイカ", "\\{g1}" &70 "\\{g0}" .
32:
ss = "エリート", "\\{g2}" &70 "\\{g0}" .
33:
ss = "プロポーショナル", "\\{g3}" &70 "\\{g0}" .
34:
ss = "コンデンス", "\\{g4}" &70 "\\{g0}" .
35:
ss = "HSパイカ", "\\{g5}" &70 "\\{g0}" .
36:
ss = "イタリック", "\\i" &70 "\\i" .
;書式
14:
!94
(r--) >? {&41 &42 &43 &44 &45 &46 &47}
.
41:
ss = "中央", tt = "\\c", &71 .
42:
ss = "右寄せ", tt = "\\r", &71 .
43:
ss = "0改行", tt ="\\z", &71 .
44:
ss = "1/2改行", tt = "\\h", &71 .
45:
&72 "\\{f" &g("改行幅を入力して下さい") &?(pw) "}" .
46:
&b(1) "\\{c" &g("文字間隔を入力して下さい") &?(pw) "}" .
47:
&72 "\\{T" &g("左側のインデント幅を入力して下さい") &?(pw) ","
&b(1) &g("右側の幅を入力して下さい <CR>・・左のみ")
(r == -2) ? {#h} ? {&?(pw)}
"}" /
;漢字縦書き関係
15:
!95
(r--) >? {&51 &52 &53}
.
51:
ss = "半角組", "\\k" &70 "\\k" .
52:
ss = "漢字:横書き", "\\{j0}" &70 "\\{j1}" .
53:
ss = "漢字:縦書き", "\\{j1}" &70 "\\{j0}" .
;その他
16:
!96
(r--) >? {&61 &62 &63 &64 &65 &66 &67}
.
61:
&72 "\\{t" &g("タブ位置を入力して下さい") &?(pw) "}" .
62:
ss = "罫線処理:しない", #< "\\{k0}" .
63:
ss = "罫線処理:する", #< "\\{k1}" .
64:
ss = "禁則処理:しない", #< "\\{o0}" .
65:
ss = "禁則処理:する", #< "\\{o1}" .
66:
ss = "ワードラッピング:しない", #< "\\{J0}" .
67:
ss = "ワードラッピング:する", #< "\\{j1}" .
;-------------------------------------------------------------------
70: ;範囲設定サブルーチン
&d
; &t
&b(1)
&m("【%s】 範囲設定して<CR>キーを押してください",ss)
s = ln, bb = lx,
#b ;範囲設定(^B)
:K
&p
(r == #m) ? { ;リターンコードならば
(fa) ?? {#03} ;範囲指定でなければESCコード送出 カーソルは残る
&82
e = ln,
(s > e) ? { / }
? { ((s == e) && (bb > lx)) ? / }
;文頭方向へ行っている場合は無視
.
}
(r == #03) ? { ;ESCキーが押されれば
#03 ;ESCコード送出
&82
/ ;マクロ実行中止
}
(r == #e) ? #e ;カーソル移動のコードならば、そのまま出力
(r == #x) ? #x
(r == #s) ? #s
(r == #d) ? #d
(r == #r) ? #r
(r == #c) ? #c
(r == #w) ? #w
(r == #z) ? #z
(r == #<) ? #<
(r == #>) ? #>
(r == #37) ? #37
(r == #38) ? #38
(r == #_) ? #_
>K
71:
#<
&70 ;範囲指定ルーチンの呼び出し
&s (lx == 0) ? {e--, #s}
p = s, ;開始行を退避
J(s) ;論理行の頭へ
&?(tt) ;取り敢えず文字列出力
s++, ;次の行へ
:L
(e >= s) ? {
J(s) ;次の論理行の頭へ
&?(tt) ;文字列出力
s++,
>L }
J(p) &d ;指定を開始した行へ
.
72: ;論理行の先頭へ移動
#<
a = ln,
:M
((ln == 1) && (ly == 0) && (lx == 0)) ? >N
#e
(ln == a) ? >M
#x
:N &b(1) #n .
82: ;メッセージ表示消去
&m(" ")
.
;-----------------------------------------------------------------------
01:"PRT.MCR",24,7
"X|PRT起動"
"S|文字サイズ、装飾"
"A|ANK字体"
"F|書式"
"K|漢字縦書き関係"
"E|その他"
"V|書式込文書保存"
.
91:"PRT起動",24,2
"A|全部"
"B|範囲指定"
.
92:"文字サイズ、装飾",24,8
"W|倍角"
"L|縦倍角"
"B|4倍角"
"T|上付き1/4角"
"S|下付き1/4角"
"Z|縮小"
"U|アンダーライン"
"F|強調"
.
93:"ANK字体",24,6
"H|HDパイカ"
"E|エリート"
"P|プロポーショナル"
"C|コンデンス"
"S|HSパイカ"
"I|イタリック"
.
94:"書式",24,7
"C|中央"
"R|右寄せ"
"Z|0改行"
"H|1/2改行"
"F|改行幅"
"C|文字間隔"
"T|インデント"
.
95:"漢字縦書き",26,3
"K|半角組"
"Y|漢字:横書き"
"T|漢字:縦書き"
.
96:"その他",30,7
"T|タブ位置"
"N|罫線連続処理:しない"
"K|罫線連続処理:する"
"Q|禁則処理:しない"
"P|禁則処理:する"
"W|ワードラッピング:しない"
"J|ワードラッピング:する"
.