home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / b / b032 / 6.img / 31 / ZCX141.PRG < prev    next >
Encoding:
Text File  |  1987-09-10  |  3.5 KB  |  205 lines

  1. para zdz,qrh,qlh,lj,sl,rj,cdhs,aa
  2. go bott
  3. mn&aa=recn()
  4. pgs&aa=pg141
  5. go 1+18*(pg141-1)
  6. do while .t.
  7. ns&aa=0
  8. n&aa=0
  9. ij&aa=1
  10. nn&aa=0
  11. mm&aa=0
  12. @ qrh,qlh clear to qrh+rj*(cdhs-1),qlh+lj*sl-1
  13. do while ij&aa<=cdhs
  14.  ji&aa=1
  15.  do while ji&aa<=sl
  16.   if .not.eof()
  17.    @ qrh+(ij&aa-1)*rj,qlh+lj*(ji&aa-1) say trim(&zdz)
  18.    skip
  19.    ji&aa=ji&aa+1
  20.    loop
  21.   endif
  22.    mm&aa=ij&aa
  23.    nn&aa=ji&aa-1
  24.    exit
  25.  enddo
  26.  if eof()
  27.   if ji&aa=sl+1
  28.    mm&aa=ij&aa
  29.    nn&aa=sl
  30.   else
  31.    exit
  32.   endif
  33.   exit
  34.  endif
  35.  ij&aa=ij&aa+1
  36. enddo
  37. if mm&aa=0.and.nn&aa=0
  38.  mm&aa=cdhs
  39.  nn&aa=sl
  40. endif
  41. skip -((mm&aa-1)*sl+nn&aa)
  42. hzts0&aa=trim(&zdz)
  43. hzts1&aa=hzts0&aa
  44. @ qrh,qlh get hzts0&aa
  45. clear gets
  46. r&aa=qrh
  47. c&aa=qlh
  48. if xh=0
  49. sele 4
  50. @ 15,0 clear
  51. do tsh
  52. do zcx142 with cm,15,1,40,2,1,9,"4"
  53. sele 3
  54. @ r&aa,c&aa get hzts0&aa
  55. clear gets
  56. xh=1
  57. endif
  58. do while .t.
  59.  rn&aa=r&aa
  60.  cn&aa=c&aa
  61.  set console off
  62.  do while .t.
  63.   p&aa=inkey()
  64.   if p&aa<>0
  65.    exit
  66.   endif
  67.  enddo
  68.  set console on
  69.  do case
  70.   case p&aa=5.or.p&aa=73.or.p&aa=105
  71.    if r&aa=qrh
  72.     if c&aa<qlh+nn&aa*lj
  73.      r&aa=qrh+(mm&aa-1)*rj
  74.      n&aa=(mm&aa-1)*sl
  75.      ns&aa=ns&aa-n&aa
  76.     else
  77.      r&aa=qrh+(mm&aa-2)*rj
  78.      n&aa=(mm&aa-2)*sl
  79.      ns&aa=-n&aa
  80.     endif
  81.    else
  82.     r&aa=r&aa-rj
  83.     n&aa=-sl
  84.     ns&aa=ns&aa+sl
  85.    endif
  86.   case p&aa=24.or.p&aa=77.or.p&aa=109
  87.    if ;
  88. r&aa=qrh+(mm&aa-1)*rj.or.(r&aa=qrh+(mm&aa-2)*rj.and.c&aa>qlh;
  89. +(nn&aa-1)*lj)
  90.     r&aa=qrh
  91.      if c&aa<qlh+nn&aa*lj
  92.       n&aa=-(mm&aa-1)*sl
  93.       ns&aa=ns&aa-n&aa
  94.      else
  95.       n&aa=-(mm&aa-2)*sl
  96.       ns&aa=-n&aa
  97.      endif
  98.     else
  99.      r&aa=r&aa+rj
  100.      n&aa=sl
  101.      ns&aa=ns&aa-sl
  102.     endif
  103.    case p&aa=4.or.p&aa=75.or.p&aa=107
  104.     if r&aa=qrh+(mm&aa-1)*rj.and.c&aa=qlh+(nn&aa-1)*lj
  105.      r&aa=qrh
  106.      c&aa=qlh
  107.      n&aa=-((mm&aa-1)*sl+nn&aa-1)
  108.      ns&aa=ns&aa-n&aa
  109.     else
  110.      if c&aa=qlh+(sl-1)*lj
  111.       c&aa=qlh
  112.       r&aa=r&aa+rj
  113.      else
  114.       c&aa=c&aa+lj
  115.      endif
  116.      n&aa=1
  117.      ns&aa=ns&aa-1
  118.     endif
  119.    case p&aa=19.or.p&aa=74.or.p&aa=106
  120.     if r&aa=qrh.and.c&aa=qlh
  121.      r&aa=qrh+(mm&aa-1)*rj
  122.      c&aa=qlh+(nn&aa-1)*lj
  123.      n&aa=(mm&aa-1)*sl+nn&aa-1
  124.      ns&aa=ns&aa-n&aa
  125.     else
  126.      if c&aa=qlh
  127.       c&aa=qlh+(sl-1)*lj
  128.       r&aa=r&aa-rj
  129.      else
  130.       c&aa=c&aa-lj
  131.      endif
  132.       n&aa=-1
  133.       ns&aa=ns&aa+1
  134.     endif
  135.   case p&aa=13.or.p&aa=80.or.p&aa=112
  136.     sele 4
  137.     @ r4,c4 get hzts04
  138.     clear gets
  139.     do zcx143 with cm,15,1,40,2,1,9,"4"
  140.     sele 3
  141.     @ r3,c3 get hzts03
  142.     clear gets
  143.     loop
  144.   case p&aa=76.or.p&aa=108.or.p&aa=18
  145.    if pgs&aa>1
  146.     pgs&aa=pgs&aa-1
  147.     @ 3,0 say pgs&aa pict "999"
  148.     skip ns&aa
  149.     skip -cdhs*sl
  150.     sele 4
  151.     use
  152.     erase lsdc.dbf
  153.     erase lsdc.idx
  154.     sele 3
  155.     copy next cdhs*sl to lsdc
  156.     sele 4
  157.     use lsdc
  158.     index on cc*100+ks to lsdc
  159.     set index to lsdc
  160.     sele 3
  161.     skip -cdhs*sl+1
  162.     xh=0
  163.     exit
  164.    endif
  165.   case p&aa=44.or.p&aa=3
  166.    if cdhs*sl*pgs&aa<mn&aa
  167.     pgs&aa=pgs&aa+1
  168.     @ 3,0 say pgs&aa pict "999"
  169.     skip ns&aa
  170.     skip cdhs*sl
  171.     sele 4
  172.     use
  173.     erase lsdc.dbf
  174.     erase lsdc.idx
  175.     sele 3
  176.     copy next cdhs*sl to lsdc
  177.     sele 4
  178.     use lsdc
  179.     index on cc*100+ks to lsdc
  180.     set index to lsdc
  181.     sele 3
  182.     skip -cdhs*sl+1     
  183.     xh=0
  184.     exit
  185.    endif
  186.   case p&aa=32.or.p&aa=27
  187.    @ 3,0 say "      "
  188.    exit
  189.   other
  190.    loop
  191.  endcase
  192.  skip n&aa
  193.  n&aa=0
  194.  @ rn&aa,cn&aa say hzts1&aa
  195.  hzts0&aa=trim(&zdz)
  196.  @ r&aa,c&aa get hzts0&aa
  197.  clear gets
  198.  hzts1&aa=hzts0&aa
  199. enddo
  200. if p&aa=32.or.p&aa=27
  201. exit
  202. endif
  203. enddo
  204.  
  205.