home *** CD-ROM | disk | FTP | other *** search
- load spvga
- do xs
- set color to w+/1,0/w,
- sele 1
- do while .t.
- ok=inkey(0)
- do case
- case ok=18
- sele 1
- if .not.bof()
- skip -1
- endif
- if bof()
- goto top
- endif
- do xs
- case ok=3
- sele 1
- if .not.eof()
- skip
- endif
- if eof()
- go top
- endif
- do xs
- case ok=27.or.ok=30
- do smggp with '╒²╘┌┤µ┼╠,╟δ╔╘║≥!',10,31
- close data
- close proc
- return
- case ok=-5
- sele 1
- set filt to
- case ok=-6
- sele 1
- do txjk
- * brow nomo
- sele 1
- exit
- case ok=-1
- sele 1
- goto top
- do xs
- case ok=-2
- sele 1
- goto bott
- do xs
- case ok=-3
- sele 1
- o=recn()
- @ 1,54 say '╝╟┬╝║┼:' get o rang 1,recc() pict '@B'
- read
- @ 1,54 say space(25)
- goto o
- do xs
- case ok=-4
- do cx
- do xs
- endcase
- sele 10
- enddo
- enddo
- return
-
- ****************
- * ╧╘╩╛╦∙╙╨╫╓╢╬ *
- ****************
- proc xs
- priv ozdm,ogzq,oh,ol
- sele 1
- @1,9 say recn() pict '@B 99999999'
- if dele()
- set color to r+/1,,
- else
- set color to w+/1,,
- endif
- sele 10
- goto top
- do while .not.eof()
- ozdm=trim(╫╓╢╬├√)
- ogzq=╟°
- oh=╨╨+2
- ol=┴╨+2
- sele 1
- @ oh,ol say &ogzq.->&ozdm
- sele 10
- skip
- enddo
- goto top
- ok=5
- return
-
-
- ****************
- * ╚╬╥Γ╠⌡╝■ *
- ****************
- proc cx
- set exac off
- priv ox,o,ocr,osq,ozf,ohz,ozdm,ol,obj
- set color to 0/3,,
- @ 23,1 say space(78)
- @ 23,11 say '^End:═╦│÷ íⁿí²:╥╞╢»╫╓╢╬╣Γ▒Ω ╗╪│╡╝ⁿ:╤í╘±╫╓╢╬ Tab:╤í╘±╘╦╦π╖√'
- set color to w+/r,,
- obj=chr(160)
- ohz=0
- ozf=''
- ocr=1
- ox=1
- sele 10
- goto top
- set color to w+/r,,
- @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
- ol=recn()
- ozdm=trim(╫╓╢╬├√)
- @ 1,60 say '╨▐╕─'
- set color to 0/w,,
- @ 21,1 say space(78)
- @ 21,1 say ojsgs
- do while .t.
- set color to 0/w,,
- @ 21,ox say ''
- o=inkey(0)
- do case
- case o=9
- do srysf
- case o=19.and.ox>1
- ox=ox-1
- if subs(ojsgs,ox,1)>obj
- ox=ox-1
- endif
- loop
- case o=4.and.ox<78
- ox=iif(subs(ojsgs,ox,1)>obj,ox+2,ox+1)
- loop
- case o<127.and.o>31
- ozf=iif(subs(ojsgs,ox,1)>obj.and.ocr=1,chr(o)+' ',chr(o))
- if ocr=0
- if len(trim(ojsgs))+len(ozf)<79
- ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
- ox=iif(ox<78,ox+1,ox)
- @ 21,1 say ojsgs
- endif
- else
- ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
- @ 21,ox say ozf
- ox=iif(ox<78,ox+1,ox)
- endif
- ohz=0
- case o>160.and.ox<78
- if ohz=0
- ozf=chr(o)
- ohz=1
- else
- ozf=ozf+chr(o)
- ozf=iif(ocr=1.and.subs(ojsgs,ox,1)<obj.and.subs(ojsgs,ox+1,1)>obj,ozf+' ',ozf)
- if ocr=0
- if len(trim(ojsgs))+len(ozf)<79
- ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
- @ 21,1 say ojsgs
- ox=iif(ox<77,ox+2,ox)
- endif
- else
- ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
- @ 21,ox say ozf
- ox=iif(ox<77,ox+2,ox)
- endif
- ohz=0
- endif
- case o=22
- ocr=iif(ocr=0,1,0)
- @ 1,60 say iif(ocr=0,'▓σ╚δ','╨▐╕─')
- case o=7
- ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+' ')
- @ 21,1 say ojsgs
- case o=127.and.ox>1
- ox=ox-1
- if subs(ojsgs,ox,1)>obj
- ox=ox-1
- endif
- ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+' ')
- @ 21,1 say ojsgs
- case o=13
- keyb chr(24)
- sele 10
- ozdm0=iif(╟°='A',trim(╫╓╢╬├√),╟°+'->'+trim(╫╓╢╬├√))
- if len(trim(ojsgs))+len(ozdm0)<79
- ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
- @ 21,1 say ojsgs
- ox=ox+len(ozdm0)
- ox=iif(ox>78,78,ox)
- endif
- case o=23
- ojsgs0=ojsgs
- do zryy
- oer=.f.
- on erro oer=.t.
- sele 1
- set filt to &ojsgs
- ojsgs=ojsgs0
- goto top
- if oer
- set color to w+/r,,
- @ 1,40 say '▓Θ╤»╠⌡╝■╙╨╬≤!!!'
- ok=inkey(2)
- @ 1,40 say ' '
- else
- on erro
- exit
- endif
- case o=24
- sele 10
- set color to w+/1,,
- @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
- if .not.eof()
- skip
- endif
- if eof()
- goto top
- endif
- set color to w+/r,,
- @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
- case o=5
- sele 10
- set color to w+/1,,
- @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
- if .not.bof()
- skip -1
- endif
- if bof()
- goto bott
- endif
- set color to w+/r,,
- @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
- endcase
- enddo
- set color to 7+/1,,
- @ 1,40 say space(39)
- @ 21,1 say space(78)
- @ 23,1 say space(78)
- @ 23,2 say 'Esc:═╦│÷ F2:╬─╝■╩╫ F3:╬─╝■╬▓ F4:╓╕╢¿╝╟┬╝ F5:╚╬╥Γ╠⌡╝■ F6:╚í╧√╠⌡╝■ F7:═╝╧≤╬¼╗ñ'
- set color to 7/1,1/7,
- return
-
- ************
- * ╫╘╚╗╙∩╤╘ *
- ************
- proc zryy
- priv zh,zrm(10,2),o,om
- om=10
- dime zrm(10,2)
- zrm(1,1)='['
- zrm(2,1)=']'
- zrm(3,1)='╢°╟╥'
- zrm(4,1)='╗≥╒▀'
- zrm(5,1)='▓╗╡╚╙┌'
- zrm(6,1)='╡╚╙┌'
- zrm(7,1)='╨í╙┌'
- zrm(8,1)='┤≤╙┌'
- zrm(9,1)='║¼╙┌'
- zrm(10,1)='▓╗╩╟'
- zrm(1,2)=[ctod(']
- zrm(2,2)=[')]
- zrm(3,2)='.and.'
- zrm(4,2)='.or.'
- zrm(5,2)='#'
- zrm(6,2)='='
- zrm(7,2)='<'
- zrm(8,2)='>'
- zrm(9,2)='$'
- zrm(10,2)='.not.'
- o=1
- do while o<=om
- do while .t.
- zh=at(zrm(o,1),ojsgs)
- if zh>0
- ojsgs=stuf(ojsgs,zh,len(zrm(o,1)),zrm(o,2))
- else
- exit
- endif
- enddo
- o=o+1
- enddo
- return
- **************************************
- * ═╝ ╧≤ ╜╙ ┐┌ *
- **************************************
- proc txjk
- set esca off
- SET EXACT OFF
- PRIV TX(8),txk,o,oi,txbs,ok,TXYMY,ml
- ml=''
- otxwj=omlwj
- TXYMY=.T.
- set safe off
- oi=1
- DIME TX(8)
- TX(1)='╬─╝■┬╖╛╢'
- TX(2)='╫╖╝╙═╝╧≤'
- TX(3)='╧╘╩╛═╝╧≤'
- TX(4)='╔╛│²═╝╧≤'
- TX(5)='╟σ└φ═╝┐Γ'
- TX(6)='╖┼┤≤╧╘╩╛'
- @ 24,79 SAY ''
- LOAD HBK
- load hj
- do cdxs
- do while .t.
- set color to w+/3,,
- @ 1,oi*10-1 say ' '+tx(oi)+' '
- @ 24,0 say ''
- call hbk with '01'+str(oi*10-1,2)+'01'+str(oi*10+8,2)+'C'
- OK=INKEY(0)
- set color to 0/w,,
- @ 1,oi*10-1 say ' '+tx(oi)+' '
- @ 24,0 say ''
- call hbk with '01'+str(oi*10-1,2)+'01'+str(oi*10+8,2)+'D'
- do case
- case ok=19
- oi=iif(oi>1,oi-1,6)
- case ok=4
- oi=iif(oi<6,oi+1,1)
- case ok=13
- o=str(oi,1)
- do p&o
- return
- case ok=27
- return
- endcase
- enddo
- RETURN
- ************
- * ╬─╝■┬╖╛╢ *
- ************
- proc p1
- if len(trim(otxlj0))=0
- otxlj0=space(20)
- endif
- do owindow with 10,18,12,62,'0/w,w+/r,'
- @ 11,20 say '╟δ╩Σ╚δ═╝╧≤╬─╝■┬╖╛╢:' get otxlj0
- read
- if len(trim(otxlj0))=0
- otxlj0=''
- otxlj=''
- else
- otxlj=iif(right(trim(otxlj0),1)='\',trim(otxlj0),left(otxlj0,len(trim(otxlj0)))+'\')
- endif
- otxlj=trim(otxlj)
- set safe off
- @ 11,40 say ''
- run dir &otxlj.*.pcx >yqdir.txt
- SELE 9
- use yqdir.lby
- zap
- appe from yqdir.txt sdf
- dele for recn()<5
- pack
- set color to w/1,,
- @ 10,18 clear to 13,64
- return
- ************
- * ═╝╨╬╫╖╝╙ *
- ************
- proc txzj
- PARA DBNAME,IMGID,PCXNAME
- PRIV CLEN,CMDLINE
- sele 9
- use
- SET ECHO OFF
- SET TALK OFF
- PCXNAME = TRIM(PCXNAME)
- CLEN = AT('.',PCXNAME)
- PCXNAME = IIF(CLEN>0,LEFT(PCXNAME,CLEN-1),PCXNAME)
- CMDLINE = PCXNAME+" "+TRIM(IMGID)+" "+DBNAME
- IF FILE('&PCXNAME..PCX')
- RUN TXZJ &CMDLINE
- txymy=.t.
- ELSE
- DO TXMY
- ENDIF
- RETURN
- ************
- * ═╝╧≤╖┼┤≤ *
- ************
- PROC TXFD
- PARA XPOS,YPOS,DBNAME,IMGID,WINW,WINH
- PRIV IMXNAME,COMMDSTR
- SET TALK OFF
- SET ECHO OFF
- SELECT 9
- IMXNAME = TRIM(DBNAME)+".Imx"
- DBNAME = TRIM(DBNAME)+".Imb"
- IF FILES(IMXNAME)
- use &Imxname alia i
- LOCATE FOR .NOT.DELETED().AND.IMGCODE=TRIM(IMGID)
- IF .NOT.EOF()
- COMMDSTR = TRIM(STR(XPOS,3,0))+" "+TRIM(STR(YPOS,3,0))+" "+DBNAME
- COMMDSTR = COMMDSTR+" "+TRIM(STR(IMGOFFS))+" "+TRIM(STR(IMGSIZE))
- COMMDSTR = COMMDSTR+" "+TRIM(STR(WINW,3,0))+" "+TRIM(STR(WINH,3,0))
- call spvga with 'M'
- *run foxswap txfd &commdstr
- run txfd &commdstr
- txymy=.t.
- ELSE
- txymy=.f.
- DO TXMY
- ENDIF
- USE
- ENDIF
- RETURN
-
- ************
- * ═╝╨╬╧╘╩╛ *
- ************
- proc txxs
- PARA XPOS,YPOS,DBNAME,IMGID
- PRIV IMXNAME,COMMDSTR
- set exact off
- SELECT 9
- IMXNAME = TRIM(DBNAME)+".Imx"
- DBNAME = TRIM(DBNAME)+".Imb"
- IF FILES(IMXNAME)
- use &Imxname ALIA I
- LOCATE FOR .NOT.DELETED().AND.IMGCODE=TRIM(IMGID)
- IF .NOT.EOF()
- COMMDSTR = TRIM(STR(XPOS,3,0))+" "+TRIM(STR(YPOS,3,0))+" "+DBNAME
- COMMDSTR = COMMDSTR+" "+TRIM(STR(IMGOFFS))+" "+TRIM(STR(IMGSIZE))
- COMMDSTR = COMMDSTR+" 640 480 0 0 0"
- call spvga with 'M'
- run TXXS &commdstr
- *run foxswap TXXS &commdstr
- do xshz with 16,460,otxbszd++':'+imgid,255,0
- txymy=.t.
- ELSE
- DO TXMY
- ENDIF
- USE
- ENDIF
- RETURN
- ************
- * ═╝╨╬╔╛│² *
- ************
- proc txsc
- PARA DBNAME,IMGID
- PRIV IMXNAME
- set exact off
- SELECT 9
- IMXNAME = TRIM(DBNAME)+".Imx"
- IF FILES(IMXNAME)
- use &Imxname alia i
- LOCATE FOR .NOT.DELETED().AND.IMGCODE=TRIM(IMGID)
- IF FOUND()
- DELETE
- txymy=.t.
- ELSE
- DO TXMY
- ENDIF
- USE
- ENDIF
- set exact off
- RETURN
- ************
- * ═╝┐Γ╒√└φ *
- ************
- proc txzl
- PARA DBNAME
- PRIV IMXNAME,NEWOFFS,IMBFILE,CMDLINE
- SET TALK OFF
- set exact off
- SET ECHO OFF
- SELECT 9
- IMXNAME = TRIM(DBNAME)+".Imx"
- IF FILES(IMXNAME)
- USE &Imxname ALIA i
- NEWOFFS = 0
- IMBFILE = TRIM(DBNAME)+".Imb"
- DO WHILE .NOT.EOF()
- IF .NOT.DELETED()
- CMDLINE = IMBFILE+" "+TRIM(STR(IMGSIZE))+" "+TRIM(STR(IMGOFFS))
- !txsc &CMDLINE
- REPLACE IMGOFFS WITH NEWOFFS
- NEWOFFS = NEWOFFS+IMGSIZE
- ENDIF
- SKIP
- ENDDO
- PACK
- IF RECCOUNT()>0
- IF FILES("TMP.IMB")
- DELETE FILE &imbFile
- COPY FILE TMP.IMB TO &imbFile
- DELETE FILES "TMP.IMB"
- ENDIF
- ELSE
- USE
- DELETE FILE &imbFile
- DELETE FILE &imxname
- ENDIF
- RETURN
- ************
- * ═╝╧≤╫╖╝╙ *
- ************
- proc zj
- priv pcxwj,ok
- sele 1
- pcxwj=otxlj+ml
- *do smggp with '╩╟╖±╢╘╕├═╝╧≤╡─╡≈╔½░σ╜°╨╨╒√└φ?(Y/N)',17,30
- *ok=abs(inkey(0))
- *if chr(ok)$'Yy'
- do smggp with '╟δ╔╘║≥ ........',18,32
- run foxswap tsbjz &pcxwj..pcx
- pcxwj='new_file'
- *endif
- do txzj with trim(otxwj),&otxbszd,trim(pcxwj)
- dele file new_file.pcx
- return
- *************
- * ▓╦╡Ñ╧╘╩╛ *
- ************
- proc cdxs
- priv oi
- set color to w/1,,
- @ 1,1 clear to 1,78
- set color to 0/w,,
- @ 1,9 clear to 1,68
- @ 24,0 say ''
- call hbk with '01090168f'
- oi=1
- do while oi<7
- @ 1,oi*10 say tx(oi)
- @ 24,0 say ''
- call hbk with '01'+str(oi*10-1,2)+'01'+str(oi*10+8,2)+'D'
- oi=oi+1
- enddo
- return
- ****************
- * ╧╘╩╛─┐┬╝╟σ╡Ñ *
- ****************
- proc p2
- priv i,j,mlsz
- set color to w/1,,
- @ 3,1 clear to 21,78
- do owindow with 5,16,16,62,'0/w,w+/r,'
- sele 9
- use yqdir.lby alia i
- mlsz=1
- do xsml
- i=1
- do while .t.
- k=inkey(0)
- do case
- case k=5
- set color to 0/w,,
- @ 5+i,19 say ' '+─┐┬╝
- if i>1
- skip -1
- i=i-1
- set color to w+/r,,
- @ 5+i,19 say ' '+─┐┬╝
- @ 24,0 say ''
- else
- clear type
- keyb chr(18)
- endif
- case k=24
- set color to 0/w,,
- @ 5+i,19 say ' '+─┐┬╝
- if i<10
- skip
- if .not.eof()
- i=i+1
- else
- goto bott
- endif
- set color to w+/r,,
- @ 5+i,19 say ' '+─┐┬╝
- @ 24,0 say ''
- else
- clear type
- keyb chr(3)
- endif
- case k=3
- mlsz=mlsz+10
- do xsml
- i=1
- case k=18
- mlsz=mlsz-10
- do xsml
- i=1
- case k=13.and.recn()<recc()
- ml=trim(left(─┐┬╝,8))
- do zj
- return
- mlsz=1
- do xsml
- i=1
- case k=27
- do cdxs
- retu
- endcase
- enddo
- return
- ************
- * ╖┼┤≤╧╘╩╛ *
- ************
- proc p6
- sele 1
- do txfd with 0,0,trim(otxwj),&otxbszd,640,480
- sele 1
- if txymy
- do xshz with 16,460,otxbszd+':'+&otxbszd,15,0
- ok=inkey(0)
- call spvga with 'T'
- do cdxs
- endif
- return
- ************
- * ╧╘╩╛─┐┬╝ *
- ************
- proc xsml
- priv i
- mlsz=iif(mlsz>recc()-9,recc()-9,mlsz)
- mlsz=iif(mlsz<1,1,mlsz)
- sele 9
- if recc()=0
- return
- endif
- goto mlsz
- set color to w+/r,,
- @ 6,19 say ' '+─┐┬╝
- skip
- set color to 0/w,,
- i=2
- do while i<11
- @ 5+i,19 say ' '+─┐┬╝
- i=i+1
- if .not.eof()
- skip
- endif
- enddo
- goto mlsz
- @ 24,0 say ''
- return
- ************
- * ╧╘╩╛═╝╧≤ *
- ************
- proc p3
- priv pcxwj
- pcxwj=space(8)
- sele 1
- do txxs with 0,0,trim(otxwj),&otxbszd
- sele 1
- if txymy
- ok=inkey(0)
- call spvga with 'T'
- endif
- return
- ************
- * ╔╛│²═╝╧≤ *
- ************
- proc p4
- sele 1
- do txsc with trim(otxwj),&otxbszd
- if txymy
- do owindow with 10,25,12,54,'0/w,w+/r,'
- @ 11,27 say '╒Γ╕÷═╝╧≤╥╤╛¡╔╛│²......'
- ok=inkey(1)
- set color to w/1,,
- @ 10,25 clear to 15,56
- endif
- return
- ************
- * ╟σ└φ═╝┐Γ *
- ************
- proc p5
- do owindow with 11,25,13,54,'0/w,w+/r,'
- @ 12,27 say '╒²╘┌╢╘═╝╧≤┐Γ╫÷╬∩└φ╔╛│²....'
- do txzl with otxwj
- set color to w/1,,
- @ 10,25 clear to 15,56
- return
- ************
- * ═╝╧≤├╗╙╨ *
- ************
- proc txmy
- call spvga with 'T'
- do owindow with 10,25,12,54,'0/w,w+/r,'
- @ 11,27 say '╒Γ╕÷═╝╧≤║├╧≤▓╗┤µ╘┌......'
- txymy=.f.
- ok=inkey(1)
- set color to w/1,,
- @ 10,25 clear to 15,56
- return
- ************
- * ╧╘╩╛║║╫╓ *
- ************
- proc xshz
- PARA XPOS,YPOS,HZSTR,FRONT,BACK
- PRIV CNNDSTR
- CMMDSTR = "1 "+TRIM(STR(XPOS,3,0))+" "+TRIM(STR(YPOS,3,0))
- CMMDSTR = CMMDSTR+" "+TRIM(HZSTR)+" "+TRIM(STR(FRONT,3,0))
- CMMDSTR = CMMDSTR+" "+TRIM(STR(BACK,3,0))
- !TXHZ &CMMDSTR
- RETURN
- ***********************************
- * ╩Σ╚δ╘╦╦π╖√
- ***********************************
- proc srysf
- priv ysf(8),i,k,ozdm0
- dime ysf(8)
- i=1
- ysf(1)='╢°╟╥'
- ysf(2)='╗≥╒▀'
- ysf(3)='▓╗╡╚╙┌'
- ysf(4)='╡╚╙┌'
- ysf(5)='╨í╙┌'
- ysf(6)='┤≤╙┌'
- ysf(7)='║¼╙┌'
- ysf(8)='▓╗╩╟'
- do while .t.
- @ 1,72 say ' '
- @ 1,72 say ysf(i)
- k=inkey(0)
- do case
- case k=9
- i=iif(i<8,i+1,1)
- case k=13
- keyb chr(24)
- ozdm0=ysf(i)
- if len(trim(ojsgs))+len(ozdm0)<79
- ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
- @ 21,1 say ojsgs
- ox=ox+len(ozdm0)
- ox=iif(ox>78,78,ox)
- endif
- set color to 7/1,,
- @ 1,72 say ' '
- set color to 0/7,,
- return