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

  1. para zdz,qrh,qlh,lj,sl,rj,cdhs
  2. priv zdz,pgs,ns,n,ij,ji,mm,nn,mn,hzts0,hzts1,rn,r,cn,p,c
  3. *go bott
  4. *mn=recn()
  5. coun all to mn
  6. pgs=1
  7. go top
  8. do while .t.
  9. ns=0
  10. n=0
  11. ij=1
  12. nn=0
  13. mm=0
  14. @ qrh,qlh clear to qrh+rj*(cdhs-1),qlh+lj*sl-1
  15. do while ij<=cdhs
  16.  ji=1
  17.  do while ji<=sl
  18.   if .not.eof()
  19.    @ qrh+(ij-1)*rj,qlh+lj*(ji-1) say trim(&zdz)
  20.    skip
  21.    ji=ji+1
  22.    loop
  23.   endif
  24.    mm=ij
  25.    nn=ji-1
  26.    exit
  27.  enddo
  28.  if eof()
  29.   if ji=sl+1
  30.    mm=ij
  31.    nn=sl
  32.   else
  33.    exit
  34.   endif
  35.   exit
  36.  endif
  37.  ij=ij+1
  38. enddo
  39. if mm=0.and.nn=0
  40.  mm=cdhs
  41.  nn=sl
  42. endif
  43. skip -((mm-1)*sl+nn)
  44. hzts0=trim(&zdz)
  45. hzts1=hzts0
  46. @ qrh,qlh get hzts0
  47. clear gets
  48. r=qrh
  49. c=qlh
  50. do while .t.
  51.  rn=r
  52.  cn=c
  53.  set console off
  54.  do while .t.
  55.   p=inkey()
  56.   if p<>0
  57.    exit
  58.   endif
  59.  enddo
  60.  set console on
  61.  do case
  62.   case p=5.or.p=73.or.p=105
  63.    if r=qrh
  64.     if c<qlh+nn*lj
  65.      r=qrh+(mm-1)*rj
  66.      n=(mm-1)*sl
  67.      ns=ns-n
  68.     else
  69.      r=qrh+(mm-2)*rj
  70.      n=(mm-2)*sl
  71.      ns=-n
  72.     endif
  73.    else
  74.     r=r-rj
  75.     n=-sl
  76.     ns=ns+sl
  77.    endif
  78.   case p=24.or.p=77.or.p=109
  79.    if ;
  80. r=qrh+(mm-1)*rj.or.(r=qrh+(mm-2)*rj.and.c>qlh;
  81. +(nn-1)*lj)
  82.     r=qrh
  83.      if c<qlh+nn*lj
  84.       n=-(mm-1)*sl
  85.       ns=ns-n
  86.      else
  87.       n=-(mm-2)*sl
  88.       ns=-n
  89.      endif
  90.     else
  91.      r=r+rj
  92.      n=sl
  93.      ns=ns-sl
  94.     endif
  95.    case p=4.or.p=75.or.p=107
  96.     if r=qrh+(mm-1)*rj.and.c=qlh+(nn-1)*lj
  97.      r=qrh
  98.      c=qlh
  99.      n=-((mm-1)*sl+nn-1)
  100.      ns=ns-n
  101.     else
  102.      if c=qlh+(sl-1)*lj
  103.       c=qlh
  104.       r=r+rj
  105.      else
  106.       c=c+lj
  107.      endif
  108.      n=1
  109.      ns=ns-1
  110.     endif
  111.    case p=19.or.p=74.or.p=106
  112.     if r=qrh.and.c=qlh
  113.      r=qrh+(mm-1)*rj
  114.      c=qlh+(nn-1)*lj
  115.      n=(mm-1)*sl+nn-1
  116.      ns=ns-n
  117.     else
  118.      if c=qlh
  119.       c=qlh+(sl-1)*lj
  120.       r=r-rj
  121.      else
  122.       c=c-lj
  123.      endif
  124.       n=-1
  125.       ns=ns+1
  126.     endif
  127.   case p=13.or.p=80.or.p=112
  128.    loop
  129.   case p=76.or.p=108.or.p=18
  130.    if pgs>1
  131.     pgs=pgs-1
  132.     skip ns
  133.     skip -cdhs*sl
  134.     exit
  135.    endif
  136.   case p=44.or.p=3
  137.    if cdhs*sl*pgs<mn
  138.     pgs=pgs+1
  139.     skip ns
  140.     skip cdhs*sl
  141.     exit
  142.    endif
  143.   case p=32.or.p=27
  144.    exit
  145.   other
  146.    loop
  147.  endcase
  148.  skip n
  149.  n=0
  150.  @ rn,cn say hzts1
  151.  hzts0=trim(&zdz)
  152.  @ r,c get hzts0
  153.  clear gets
  154.  hzts1=hzts0
  155. enddo
  156. if p=32.or.p=27
  157. exit
  158. endif
  159. enddo
  160. retu
  161.