home *** CD-ROM | disk | FTP | other *** search
- para zdz,qrh,qlh,lj,sl,rj,cdhs,aa
- go bott
- mn&aa=recn()
- pgs&aa=pg141
- go 1+18*(pg141-1)
- do while .t.
- ns&aa=0
- n&aa=0
- ij&aa=1
- nn&aa=0
- mm&aa=0
- @ qrh,qlh clear to qrh+rj*(cdhs-1),qlh+lj*sl-1
- do while ij&aa<=cdhs
- ji&aa=1
- do while ji&aa<=sl
- if .not.eof()
- @ qrh+(ij&aa-1)*rj,qlh+lj*(ji&aa-1) say trim(&zdz)
- skip
- ji&aa=ji&aa+1
- loop
- endif
- mm&aa=ij&aa
- nn&aa=ji&aa-1
- exit
- enddo
- if eof()
- if ji&aa=sl+1
- mm&aa=ij&aa
- nn&aa=sl
- else
- exit
- endif
- exit
- endif
- ij&aa=ij&aa+1
- enddo
- if mm&aa=0.and.nn&aa=0
- mm&aa=cdhs
- nn&aa=sl
- endif
- skip -((mm&aa-1)*sl+nn&aa)
- hzts0&aa=trim(&zdz)
- hzts1&aa=hzts0&aa
- @ qrh,qlh get hzts0&aa
- clear gets
- r&aa=qrh
- c&aa=qlh
- if xh=0
- sele 4
- @ 15,0 clear
- do tsh
- do zcx142 with cm,15,1,40,2,1,9,"4"
- sele 3
- @ r&aa,c&aa get hzts0&aa
- clear gets
- xh=1
- endif
- do while .t.
- rn&aa=r&aa
- cn&aa=c&aa
- set console off
- do while .t.
- p&aa=inkey()
- if p&aa<>0
- exit
- endif
- enddo
- set console on
- do case
- case p&aa=5.or.p&aa=73.or.p&aa=105
- if r&aa=qrh
- if c&aa<qlh+nn&aa*lj
- r&aa=qrh+(mm&aa-1)*rj
- n&aa=(mm&aa-1)*sl
- ns&aa=ns&aa-n&aa
- else
- r&aa=qrh+(mm&aa-2)*rj
- n&aa=(mm&aa-2)*sl
- ns&aa=-n&aa
- endif
- else
- r&aa=r&aa-rj
- n&aa=-sl
- ns&aa=ns&aa+sl
- endif
- case p&aa=24.or.p&aa=77.or.p&aa=109
- if ;
- r&aa=qrh+(mm&aa-1)*rj.or.(r&aa=qrh+(mm&aa-2)*rj.and.c&aa>qlh;
- +(nn&aa-1)*lj)
- r&aa=qrh
- if c&aa<qlh+nn&aa*lj
- n&aa=-(mm&aa-1)*sl
- ns&aa=ns&aa-n&aa
- else
- n&aa=-(mm&aa-2)*sl
- ns&aa=-n&aa
- endif
- else
- r&aa=r&aa+rj
- n&aa=sl
- ns&aa=ns&aa-sl
- endif
- case p&aa=4.or.p&aa=75.or.p&aa=107
- if r&aa=qrh+(mm&aa-1)*rj.and.c&aa=qlh+(nn&aa-1)*lj
- r&aa=qrh
- c&aa=qlh
- n&aa=-((mm&aa-1)*sl+nn&aa-1)
- ns&aa=ns&aa-n&aa
- else
- if c&aa=qlh+(sl-1)*lj
- c&aa=qlh
- r&aa=r&aa+rj
- else
- c&aa=c&aa+lj
- endif
- n&aa=1
- ns&aa=ns&aa-1
- endif
- case p&aa=19.or.p&aa=74.or.p&aa=106
- if r&aa=qrh.and.c&aa=qlh
- r&aa=qrh+(mm&aa-1)*rj
- c&aa=qlh+(nn&aa-1)*lj
- n&aa=(mm&aa-1)*sl+nn&aa-1
- ns&aa=ns&aa-n&aa
- else
- if c&aa=qlh
- c&aa=qlh+(sl-1)*lj
- r&aa=r&aa-rj
- else
- c&aa=c&aa-lj
- endif
- n&aa=-1
- ns&aa=ns&aa+1
- endif
- case p&aa=13.or.p&aa=80.or.p&aa=112
- sele 4
- @ r4,c4 get hzts04
- clear gets
- do zcx143 with cm,15,1,40,2,1,9,"4"
- sele 3
- @ r3,c3 get hzts03
- clear gets
- loop
- case p&aa=76.or.p&aa=108.or.p&aa=18
- if pgs&aa>1
- pgs&aa=pgs&aa-1
- @ 3,0 say pgs&aa pict "999"
- skip ns&aa
- skip -cdhs*sl
- sele 4
- use
- erase lsdc.dbf
- erase lsdc.idx
- sele 3
- copy next cdhs*sl to lsdc
- sele 4
- use lsdc
- index on cc*100+ks to lsdc
- set index to lsdc
- sele 3
- skip -cdhs*sl+1
- xh=0
- exit
- endif
- case p&aa=44.or.p&aa=3
- if cdhs*sl*pgs&aa<mn&aa
- pgs&aa=pgs&aa+1
- @ 3,0 say pgs&aa pict "999"
- skip ns&aa
- skip cdhs*sl
- sele 4
- use
- erase lsdc.dbf
- erase lsdc.idx
- sele 3
- copy next cdhs*sl to lsdc
- sele 4
- use lsdc
- index on cc*100+ks to lsdc
- set index to lsdc
- sele 3
- skip -cdhs*sl+1
- xh=0
- exit
- endif
- case p&aa=32.or.p&aa=27
- @ 3,0 say " "
- exit
- other
- loop
- endcase
- skip n&aa
- n&aa=0
- @ rn&aa,cn&aa say hzts1&aa
- hzts0&aa=trim(&zdz)
- @ r&aa,c&aa get hzts0&aa
- clear gets
- hzts1&aa=hzts0&aa
- enddo
- if p&aa=32.or.p&aa=27
- exit
- endif
- enddo
-