home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 January / VPR0101A.BIN / OLS / JED194V / JEDDOC.LZH / BLOCK.MCR < prev    next >
Text File  |  1993-12-09  |  2KB  |  121 lines

  1. ;***************************************************************
  2. ;    JED マクロサンプル
  3. ;    'BLOCK.MCR'
  4. ;    [矩形ブロック編集マクロ]
  5. ;    Ver 0.10    Nov.1993 初版
  6. ;
  7. ;    Written by H.Orikawa 1993
  8. ;
  9. ;***************************************************************
  10.  
  11. ;*****    Begin
  12.     #85                        ;コピーモード変更
  13.     ss = lx, ll = ln,
  14.     !01
  15.     (r--) >? {
  16.         { &10 &11 &40 }        ;コピー
  17.         { &10 &11 &45 }        ;カット
  18.         { &10 &50 }            ;ペースト
  19.     }
  20.     &60 &x(ss)
  21.     &99
  22.     /
  23. ;*****    End
  24.  
  25.  
  26. ;-----    開始点入力
  27. 10:
  28.     s = "開始",
  29.     &15
  30.     ss = lx, ll = ln,
  31.     .
  32.  
  33.  
  34. ;-----    終了点入力
  35. 11:
  36.     s = "終了",
  37.     &15
  38.     ee = lx, mm = ln,
  39.     (ee == ss) ? { &b(1) >^ }
  40.     (ee < ss) ? { t = ee, ee = ss, ss = t }
  41.     (mm < ll) ? { t = mm, mm = ll, ll = t }
  42.     &20
  43.     #<
  44.     &60
  45.     .
  46.  
  47.  
  48. ;-----    矩形領域入力サブルーチン
  49. 15:
  50. :A    &m("【%s点】で[CR] (行=%5d,桁=%3d)", s, ln, lx + 1)
  51.     &p
  52.     (r == #03) ? { &99 / }
  53.     (r != #m) ? { &o(r) >A }
  54.     .
  55.  
  56.  
  57. ;-----    クリップボードクリア
  58. 20:
  59.     &s
  60.     #71                        ;Open clipboard
  61.     #b #_
  62.     #51                        ;Block clear
  63.     #W
  64.     .
  65.  
  66.  
  67. ;-----    ブロック操作
  68. 30:
  69.     &x(ss) #b &x(ee)
  70.     .
  71.  
  72.  
  73. ;-----    コピー
  74. 40:
  75. :A    (ln <= mm) ? { &30 #B #x >A }
  76.     .
  77.  
  78.  
  79. ;-----    カット
  80. 45:
  81. :A    (ln <= mm) ? { &30 #54 #x >A }
  82.     .
  83.  
  84.  
  85. ;-----    ペースト
  86. 50:
  87.     &s
  88.     #71                        ;Open clipboard
  89.     nn = ln,
  90.     #_
  91.     nn = ln - nn + 2,        ;行数計算
  92.     #W
  93. :A    (nn--) ? {
  94.         &x(ss)
  95.         #m #i #h #> #g #x
  96.         >A
  97.     }
  98.     .
  99.  
  100.  
  101. ;-----    開始点y位置に戻る
  102. 60:
  103. :A    (ln > ll) ? { #e >A }
  104.     .
  105.  
  106.  
  107. ;-----    終了処理
  108. 99:
  109.     &m("                                  ")
  110.     &d
  111.     #85                        ;コピーモード変更
  112.     .
  113.  
  114.  
  115. ;-----    ポップアップメニュー
  116. 01:    "矩形ブロック編集", 18, 3
  117.     "C | コピー"
  118.     "X | カット"
  119.     "V | ペースト"
  120.     .
  121.