home *** CD-ROM | disk | FTP | other *** search
- ****** ▓·╔·▒φ═╖╩²╛▌╧ε┐Γ(DIS.DBF)│╠╨≥ DBFS.PRG ******
- ****** DO DBFS ( FN,LM ) ******
- ****** ╚δ┐┌▓╬╩²: FN:╬─╝■├√. ******
- ****** │÷┐┌▓╬╩²: LM:▒φ═╖╩²╛▌╧ε▒φ ******
- ****** DIS.DBF:▒φ═╖╩²╛▌╧ε┐Γ. ******
- ****** S1,S2,S3,S4,S5:▒φ═╖╕±╩╜▒Σ┴┐. ******
- SELE 1
- USE FILE INDE FILE
- SEEK FN
- FNO=F_NO
- USE DBD INDE DBD
- SELE 2
- USE DIS
- DO WHILE .T.
- SELE 2
- ZAP
- S2='|'
- SS=1
- SELE 1
- CLEAR
- SET FILTER TO F_NO=FNO
- GO TOP
- I=1
- J=1
- DO WHILE .NOT. EOF()
- N=0
- DO WHILE .NOT. EOF() .AND. N<5
- @ I,N*15 SAY STR(J,2)+'.'+C_NAME
- N=N+1
- J=J+1
- SKIP
- ENDDO
- I=I+1
- ENDDO
- NUM=J-1
- ? ":╟δ╤í╘±╥¬╧╘╩╛╡─╩²╛▌╧ε,╕≈╩²╛▌╧ε╨≥║┼╙├╢║║┼(,)╕⌠┐¬:"
- ACCE ":╓╗╩Σ╚δ 0 ╘≥▒φ╩╛╤í╘±╦∙╙╨╩²╛▌╧ε:" TO D
- ? '╧╡═│╒²╘┌╘╦╨╨,╟δ─·╔╘║≥╞¼┐╠...'
- IF D='0'
- D='1'
- I=2
- DO WHILE I<=NUM
- IF I<10
- STOR D+','+STR(I,1) TO D
- ELSE
- STOR D+','+STR(I,2) TO D
- ENDIF
- I=I+1
- ENDDO
- ENDIF
- LM=''
- DO WHILE .T.
- STOR VAL(D) TO N
- IF N>=1 .AND. N<=NUM
- SELE 1
- GO TOP
- SKIP N-1
- FNL=LEN(TRIM(C_NAME))
- FOL=FIELD_LEN
- NT=TRIM(NOTE)
- FM=LEN
- IF LEN<>0
- FOL=LEN
- ENDIF
- IF FNL>FOL
- MAX=FNL
- ELSE
- MAX=FOL
- ENDIF
- SP1=INT((MAX-FNL)/2)
- SP2=MAX-FNL-SP1
- L1=STR(INT((MAX-FOL)/2),2)
- L2=STR(MAX-FOL-&L1,2)
- NAME=TRIM(C_NAME)
- LM=LM+STR(N,2)+'.'+NAME+' '
- NAME1=TRIM(FIELD_NAME)
- S2=S2+SPACE(SP1)+NAME+SPACE(SP2)+"|"
- FL=STR(MAX,3)
- FD=STR(FIELD_DEC,3)
- T=FIELD_TYPE
- SELE 2
- APPE BLANK
- DO CASE
- CASE T="N"
- REPL ITEM WITH "STR(&NAME1,&FL,&FD.)"
- CASE T='C'
- REPL ITEM WITH "SPACE(&L1.)+&NAME1+SPACE(&L2.)"
- IF A->CODE='1'
- LN=STR(A->LEN,2)
- REPL ITEM WITH "SPACE(&L1.)+SUBSTR('&NT',AT(&NAME1,'&NT')+2,&LN.)+SPACE(&L2.)"
- ENDIF
- CASE T='D'
- REPL ITEM WITH 'SPACE(&L1.)+DTOC(&NAME1.)+SPACE(&L2.)'
- CASE T='L'
- REPL ITEM WITH "SPACE(&L1.)+IIF(&NAME1,'T','F')+SPACE(&L2.)"
- CASE T='M'
- REPL ITEM WITH "SPACE(&L1.)+' MEMO '+SPACE(&L2.)"
- ENDCASE
- REPL C_NAME WITH NAME,WIDTH WITH MAX,START WITH SS
- SS=SS+MAX+1
- IF AT(",",D)=0 .OR. AT(",",D)=LEN(D)
- ERR=0
- EXIT
- ENDIF
- D=SUBSTR(D,AT(",",D)+1,LEN(D)-AT(",",D))
- ELSE
- ? D
- ? '^---------╤í╘±└╕├√╨≥║┼┤φ'
- ? '┤≥╚╬║╬╝ⁿ╘≥╝╠╨° '
- WAIT
- ERR=1
- EXIT
- ENDIF
- ENDDO
- IF ERR=1
- LOOP
- ENDIF
- SELE 2
- APPE BLAN
- REPL START WITH SS
- LM=SUBS(LM,1,LEN(LM)-1)
- USE
- SELE 1
- USE
- RETU
- ENDDO
- ** END OF DBFS.PRG **