home *** CD-ROM | disk | FTP | other *** search
- ****** ╚½╞┴─╗▓Θ╤»│╠╨≥ : DBF2.PRG ******
- ****** DO DBF2 ( FN , EXP) ******
- ****** ╞Σ╓╨: FN:╬─╝■├√.(╚δ┐┌) ******
- ****** EXP:╠⌡╝■▒φ┤∩╩╜.(╚δ┐┌) ******
- ****** PARA FN,EXP
- SET TALK OFF
- S4='|'
- IF TYPE('M->FN')='U'
- FN=''
- DO SELEF
- IF LEN(M->FN)=0
- RETU
- ENDIF
- ENDIF
- IF TYPE('M->EXP')='U'
- EXP=''
- DO DBFEXP
- ENDIF
- IF TYPE('M->LM')='U'.OR.LM=' '
- STOR ' ' TO LM,S1,S2,S3,S5
- DO DBFS
- ENDIF
- HS=25
- SELE 1
- USE FILE INDE FILE
- SEEK M->FN
- FNO=F_NO
- CFN=C_FNAME
- NUM=FIELD_NUM
- USE IDX INDE IDX
- SEEK M->FNO
- NDX=IDX_NAME
- USE &FN
- SET INDE TO &NDX
- SET FILTER TO &EXP
- COUNT TO MAXREC
- GO TOP
- IF EOF()
- CLEAR
- @ 5,10 SAY '&CFN.╬─╝■╓╨├╗╙╨┬·╫π╠⌡╝■╡─╝╟┬╝'
- @ 6,10 SAY '╟├╚╬╥Γ╝ⁿ╘≥╖╡╗╪......'
- WAIT ''
- USE
- RETU
- ENDIF
- *** ╜¿┴ó┤░┐┌ ***
- SELE 2
- USE DIS
- GO BOTT
- N=RECNO()-1
- I=1
- X=1
- Y=HS-3
- SET COLO TO GR/0
- CLEAR
- DO WHILE .T.
- @ 0,0 SAY '<< '+TRIM(M->CFN)+' >>'
- SELE 2
- GO I
- L1=START
- LOCA FOR START>79+L1
- SKIP -1
- J=RECNO()-1
- L2=START
- *** ╧╘╩╛▒φ═╖ ***
- DO CO
- @ 2,0 CLEAR
- SET COLO TO +2/0
- @ 2,0 SAY SUBS(M->S2,M->L1,M->L2-M->L1+1)
- *** ╧╘╩╛╝╟┬╝ ***
- IJ='Y'
- DO WHILE M->IJ='Y'
- K=0
- SELE 1
- GO TOP
- SKIP M->X-1
- SET COLO TO 5/0
- @ 3,0 CLEAR
- @ 2,0 SAY ''
- DO WHILE .NOT.EOF().AND.M->K<>M->Y
- SELE 2
- GO I
- DO WHILE RECNO()<=J
- ST=ITEM
- SELE 1
- S4=M->S4+&ST+"|"
- SELE 2
- SKIP
- ENDDO
- @ ROW()+1,0 SAY M->S4
- S4='|'
- SELE 1
- SKIP
- K=M->K+1
- ENDDO
- DO CO
- *** ┤░┐┌╥╞╢» ***
- SELE 2
- DO WHILE .T.
- CK=' '
- DO WHILE AT(M->CK,'0123456G')=0
- DO CO1
- @ 1,0 SAY '0.═╦│÷ 1.╟░╖¡ 2.║≤╖¡ 3.╟░╥╞ 4.║≤╥╞ 5.╫≤╥╞ 6.╙╥╥╞ :: G---╕─▒Σ╧╘╩╛╖╜╩╜' GET CK
- DO CO
- READ
- CK=UPPE(CK)
- ENDDO
- DO CASE
- CASE CK='0'
- RETU
- CASE CK='1'
- IF X=1
- LOOP
- ENDIF
- X=IIF(X<=Y,1,X-Y)
- CASE CK='2'
- IF X+Y>MAXREC
- LOOP
- ENDIF
- X=X+Y
- CASE CK='3'
- IF X=1
- LOOP
- ENDIF
- X=X-1
- CASE CK='4'
- IF X+Y>MAXREC
- LOOP
- ENDIF
- X=X+1
- CASE CK='5'
- IF J=N
- LOOP
- ENDIF
- I=I+1
- IJ='N'
- CASE CK='6'
- IF I=1
- LOOP
- ENDIF
- I=I-1
- IJ='N'
- CASE UPPE(CK)='G'
- CX=0
- SELE 1
- DO DBF1
- SELE 2
- IF CX=0
- CLOS DATA
- RETU
- ENDIF
- IJ='N'
- ENDCASE
- EXIT
- ENDDO
- ENDDO
- ENDDO
- ** END OF DBF2.PRG **