home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 January / VPR0101A.BIN / OLS / JED194V / JEDDOC.LZH / PRT.MCR < prev    next >
Text File  |  1993-11-26  |  6KB  |  346 lines

  1. ; *********************************************
  2. ;  *                                           *
  3. ;  *  PRTを使うためのマクロ                 *
  4. ;  *                                           *
  5. ;  *                   PRT.MCR              *
  6. ;  *                   Written By M.Nakai      *
  7. ;  *                                           *
  8. ; *********************************************
  9. ;
  10. ;  JED付属のサンプルマクロを目一杯参考にさせて頂きました(^_^;)
  11. ;
  12. ;  初版               '93/08/15
  13. ;  範囲指定印刷対応 その他バグ修正 '93/11/25
  14. ;
  15.  
  16.  
  17. ;-------------------------------------------------------------
  18. ;  PRTを起動する際に、テンポラリーファイルを作るパス
  19. ;  ¥記号は、2つ続けて記述する
  20.  
  21.     t = "A:\\",
  22.  
  23. ;-------------------------------------------------------------
  24.  
  25.     (mi) ? #v
  26.     fa-,    ;範囲指定印字かどうかのフラッグ
  27.     !01
  28.     (r--) >? {&11 &12 &13 &14 &15 &16 &17}
  29.     &b(1) /
  30.  
  31. ;PRT起動
  32.  
  33. 11:
  34.     !91
  35.     (r--) >? {&18 &19}
  36.     .
  37.  
  38.  
  39. 18:            ;全部印刷
  40.     &s        ;画面表示抑制
  41.     #30        ;全体を選択
  42.     >A
  43.  
  44. 19:            ;範囲指定印刷
  45.     fa+,    ;範囲指定印刷フラッグをオン
  46.     #<
  47.     ss = "範囲指定印刷", &70
  48.  
  49. :A
  50.     #A #18        ;ブロック範囲書き出し パス部分をクリア
  51.     &?(t) "JED>PRT" #m    ;テンポラリーファイルにセーブ
  52.     #E "PRT " &?(t) "JED>PRT" #m
  53.     #E "DEL " &?(t) "JED>PRT" #m
  54.     #^            ;画面の先頭へ
  55.     &d            ;画面表示再開
  56.     /
  57.  
  58.  
  59. 17:    &d
  60.     &g("拡張子  <CR>・・・PRT")        ;拡張子の入力
  61.     (r == -1) ? {/} ? {
  62.         (r == -2) ? {#^ "PRT"} ? {#^ &?(pw)} }    ;画面に拡張子を出力
  63.                                     ;テキストの先頭で作業する
  64.     #m #m #e #e "." #x #<            ;拡張子を完成させて・・・
  65.     #P #<                            ;その次の行にファイル名を取り込み
  66. :P
  67.     (cd != '.') ? { (ln != 2) ? {#s >Z} #d >P }    ;.を頭から探す
  68.     #l                                ;次の行に移れば、拡張子なしのファイル
  69. :Z    #< #b #> #54 #g #e #p            ;ファイル名完成
  70.     #k #k #y                        ;クリップボードに取り込み、表示削除
  71.     #E #i "DEL " #m                    ;とりあえず、既存ファイル削除
  72.     #74 #18 #i                        ;名前を変えて保存
  73.     #m
  74.     /
  75.  
  76. ;文字サイズ、装飾
  77.  
  78. 12:
  79.     !92
  80.     (r--) >? {&21 &22 &23 &24 &25 &26 &27 &28}
  81.     .
  82.  
  83. 21:
  84.     ss = "横倍角", "\\w" &70 "\\w" .
  85.  
  86. 22:
  87.     ss = "縦倍角", "\\l" &70 "\\l" .
  88.  
  89. 23:
  90.     ss = "4倍角", "\\b" &70 "\\b" .
  91.  
  92. 24:
  93.     ss = "上付き1/4角", "\\t" &70 "\\t" .
  94.  
  95. 25:
  96.     ss = "下付き1/4角", "\\s" &70 "\\s" .
  97.  
  98. 26:
  99.     ss = "縮小", "\\{z1}" &70 "\\{z0}" .
  100.  
  101. 27:
  102.     ss = "アンダーライン", "\\u" &70 "\\u" .
  103.  
  104. 28:
  105.     ss = "強調文字", "\\f" &70 "\\f" .
  106.  
  107. ;ANK文字
  108.  
  109. 13:
  110.     !93
  111.     (r--) >? {&31 &32 &33 &34 &35 &36}
  112.     .
  113.  
  114. 31:
  115.     ss = "HDパイカ", "\\{g1}" &70 "\\{g0}" .
  116.  
  117. 32:
  118.     ss = "エリート", "\\{g2}" &70 "\\{g0}" .
  119.  
  120. 33:
  121.     ss = "プロポーショナル", "\\{g3}" &70 "\\{g0}" .
  122.  
  123. 34:
  124.     ss = "コンデンス", "\\{g4}" &70 "\\{g0}" .
  125.  
  126. 35:
  127.     ss = "HSパイカ", "\\{g5}" &70 "\\{g0}" .
  128.  
  129. 36:
  130.     ss = "イタリック", "\\i" &70 "\\i" .
  131.  
  132. ;書式
  133.  
  134. 14:
  135.     !94
  136.     (r--) >? {&41 &42 &43 &44 &45 &46 &47}
  137.     .
  138.  
  139. 41:
  140.     ss = "中央", tt = "\\c", &71 .
  141.  
  142. 42:
  143.     ss = "右寄せ", tt = "\\r", &71 .
  144.  
  145. 43:
  146.     ss = "0改行", tt ="\\z", &71 .
  147.  
  148. 44:
  149.     ss = "1/2改行", tt = "\\h", &71 .
  150.  
  151. 45:
  152.     &72 "\\{f" &g("改行幅を入力して下さい") &?(pw) "}" .
  153.  
  154. 46:
  155.     &b(1) "\\{c" &g("文字間隔を入力して下さい") &?(pw) "}" .
  156.  
  157. 47:
  158.     &72 "\\{T" &g("左側のインデント幅を入力して下さい") &?(pw) ","
  159.     &b(1) &g("右側の幅を入力して下さい <CR>・・左のみ")
  160.     (r == -2) ? {#h} ? {&?(pw)}
  161.     "}" /
  162.  
  163. ;漢字縦書き関係
  164.  
  165. 15:
  166.     !95
  167.     (r--) >? {&51 &52 &53}
  168.     .
  169.  
  170. 51:
  171.     ss = "半角組", "\\k" &70 "\\k" .
  172.  
  173. 52:
  174.     ss = "漢字:横書き", "\\{j0}" &70 "\\{j1}" .
  175.  
  176. 53:
  177.     ss = "漢字:縦書き", "\\{j1}" &70 "\\{j0}" .
  178.  
  179. ;その他
  180.  
  181. 16:
  182.     !96
  183.     (r--) >? {&61 &62 &63 &64 &65 &66 &67}
  184.     .
  185.  
  186. 61:
  187.     &72 "\\{t" &g("タブ位置を入力して下さい") &?(pw) "}" .
  188.  
  189. 62:
  190.     ss = "罫線処理:しない", #< "\\{k0}" .
  191.  
  192. 63:
  193.     ss = "罫線処理:する", #< "\\{k1}" .
  194.  
  195. 64:
  196.     ss = "禁則処理:しない", #< "\\{o0}" .
  197.  
  198. 65:
  199.     ss = "禁則処理:する", #< "\\{o1}" .
  200.  
  201. 66:
  202.     ss = "ワードラッピング:しない", #< "\\{J0}" .
  203.  
  204. 67:
  205.     ss = "ワードラッピング:する", #< "\\{j1}" .
  206.  
  207. ;-------------------------------------------------------------------
  208.  
  209. 70:                ;範囲設定サブルーチン
  210.     &d
  211. ;    &t
  212.     &b(1)
  213.     &m("【%s】 範囲設定して<CR>キーを押してください",ss)
  214.     s = ln, bb = lx,
  215.     #b            ;範囲設定(^B)
  216. :K
  217.     &p
  218.     (r == #m) ? {    ;リターンコードならば
  219.         (fa) ?? {#03}    ;範囲指定でなければESCコード送出 カーソルは残る
  220.         &82
  221.         e = ln,
  222.         (s > e) ? { / }
  223.                 ? { ((s == e) && (bb > lx)) ? / }
  224.                         ;文頭方向へ行っている場合は無視
  225.         .
  226.     }
  227.     (r == #03) ? {    ;ESCキーが押されれば
  228.         #03            ;ESCコード送出
  229.         &82
  230.         /            ;マクロ実行中止
  231.     }
  232.  
  233.     (r == #e) ? #e    ;カーソル移動のコードならば、そのまま出力
  234.     (r == #x) ? #x
  235.     (r == #s) ? #s
  236.     (r == #d) ? #d
  237.     (r == #r) ? #r
  238.     (r == #c) ? #c
  239.     (r == #w) ? #w
  240.     (r == #z) ? #z
  241.     (r == #<) ? #<
  242.     (r == #>) ? #>
  243.     (r == #37) ? #37
  244.     (r == #38) ? #38
  245.     (r == #_) ? #_
  246.     >K
  247.  
  248. 71:
  249.     #<
  250.     &70            ;範囲指定ルーチンの呼び出し
  251.     &s (lx == 0) ? {e--, #s}
  252.     p = s,        ;開始行を退避
  253.     &#J(s)        ;論理行の頭へ
  254.     &?(tt)        ;取り敢えず文字列出力
  255.     s++,        ;次の行へ
  256. :L
  257.     (e >= s) ? {
  258.             &#J(s)        ;次の論理行の頭へ
  259.             &?(tt)        ;文字列出力
  260.             s++,
  261.             >L }
  262.     &#J(p) &d        ;指定を開始した行へ
  263.     .
  264.  
  265. 72:                ;論理行の先頭へ移動
  266.     #<
  267.     a = ln,
  268. :M
  269.     ((ln == 1) && (ly == 0) && (lx == 0)) ? >N
  270.     #e
  271.     (ln == a) ? >M
  272.     #x
  273. :N    &b(1) #n .
  274.  
  275.  
  276.  
  277.  
  278. 82:                    ;メッセージ表示消去
  279.     &m("                                                          ")
  280.     .
  281.  
  282. ;-----------------------------------------------------------------------
  283.  
  284. 01:"PRT.MCR",24,7
  285. "X|PRT起動"
  286. "S|文字サイズ、装飾"
  287. "A|ANK字体"
  288. "F|書式"
  289. "K|漢字縦書き関係"
  290. "E|その他"
  291. "V|書式込文書保存"
  292. .
  293.  
  294. 91:"PRT起動",24,2
  295. "A|全部"
  296. "B|範囲指定"
  297. .
  298.  
  299. 92:"文字サイズ、装飾",24,8
  300. "W|倍角"
  301. "L|縦倍角"
  302. "B|4倍角"
  303. "T|上付き1/4角"
  304. "S|下付き1/4角"
  305. "Z|縮小"
  306. "U|アンダーライン"
  307. "F|強調"
  308. .
  309.  
  310. 93:"ANK字体",24,6
  311. "H|HDパイカ"
  312. "E|エリート"
  313. "P|プロポーショナル"
  314. "C|コンデンス"
  315. "S|HSパイカ"
  316. "I|イタリック"
  317. .
  318.  
  319. 94:"書式",24,7
  320. "C|中央"
  321. "R|右寄せ"
  322. "Z|0改行"
  323. "H|1/2改行"
  324. "F|改行幅"
  325. "C|文字間隔"
  326. "T|インデント"
  327. .
  328.  
  329. 95:"漢字縦書き",26,3
  330. "K|半角組"
  331. "Y|漢字:横書き"
  332. "T|漢字:縦書き"
  333. .
  334.  
  335.  
  336. 96:"その他",30,7
  337. "T|タブ位置"
  338. "N|罫線連続処理:しない"
  339. "K|罫線連続処理:する"
  340. "Q|禁則処理:しない"
  341. "P|禁則処理:する"
  342. "W|ワードラッピング:しない"
  343. "J|ワードラッピング:する"
  344. .
  345.  
  346.