home *** CD-ROM | disk | FTP | other *** search
- SET SCOR OFF
- DIME FNOC(10,5)
- I=1
- DO WHILE I<9
- STOR '' TO FN,FNO,CFN
- I_I=I
- DO SELEF
- I=I_I
- IF LEN(FN)=0
- LOOP
- ENDIF
- FNOC(I,1)=FN
- FNOC(I,2)=FNO
- FNOC(I,3)=CFN
- IF I=1
- SELE 10
- USE IDX INDE IDX
- CLEAR
- SET FILT TO F_NO=FNO
- GO TOP
- @ 1, 20 SAY CFN+FN+'.DBF ╙╨╧┬┴╨╦≈╥²:'
- H=2
- DO WHILE .NOT. EOF()
- @ H,5 SAY '['+STR(H-1,2)+']__'+TRIM(IDX_DES)+'__'+TRIM(IDX_NAME)+'__'+TRIM(IDX_EXP)
- SKIP
- H=H+1
- ENDDO
- YN=0
- @ 0,0 SAY SPACE(80)
- @ 0,20 SAY '╟δ╤í╘±╥¬╩╣╙├╡─╦≈╥²╬─╝■┤·║┼:' GET YN PICT '99' RANG 0,H-2
- READ
- IF YN=0
- IDXN=''
- ELSE
- GO TOP
- SKIP YN-1
- IDXN=TRIM(IDX_NAME)
- ENDIF
- USE
- ELSE
- CLEAR
- J=1
- DO WHILE J<=I-1
- @ INT((J-1)/2)+1,(J-1)*40 SAY STR(J,1)+'..'+FNOC(J,1)+' '+FNOC(1,3)
- J=J+1
- ENDDO
- YN=1
- @ 0,0 SAY SPACE(80)
- @ 0,10 SAY FN+'.DBF '+CFN+'║═╧┬┴╨──╕÷╩²╛▌┐Γ╖ó╔·┴¬╧╡[1-'+STR(J-1,1)+']:' GET YN PICT '9' RANG 1,J-1
- READ
- FNOC(I,4)=YN
- CLEAR
- SELE 10
- USE DBD INDE DBD
- SET FILT TO F_NO=FNOC(I,2).AND.FIELD_TYPE$'CND'
- GO TOP
- K=1
- J=1
- DO WHILE .NOT.EOF()
- @ K,(J-1)*15 SAY STR((K-1)*5+J,2)+'.'+TRIM(C_NAME)
- K=IIF(J=5,K+1,K)
- J=IIF(J=5,1,J+1)
- SKIP
- ENDDO
- DO WHILE .T.
- @ 0,0 SAY SPACE(80)
- FD=0
- @ 0,2 SAY '╟δ╤í╘±╣╪┴¬╫╓╢╬[0..░┤╝╟┬╝║┼╥╗╥╗╢╘╙ª! ╞Σ╦ⁿ,╫╓╢╬▒╪╨δ╘┌<'+FNOC(FNOC(I,4),3)+'>╓╨!]: ' GET FD PICT '99' RANG 0,K*5+J-1
- READ
- IF FD=0
- FNOC(I,5)=''
- EXIT
- ELSE
- GO TOP
- SKIP FD-1
- FNOC(I,5)=TRIM(FIELD_NAME)
- TY=FIELD_TYPE
- FL=FIELD_LEN
- FD=FIELD_DEC
- SET FILT TO
- LOCA FOR F_NO=FNOC(FNOC(I,4),2).AND.FIELD_NAME=FNOC(I,5)
- IF EOF()
- @ 0,2 SAY '╫╓╢╬<'+FNOC(I,5)+'>▓╗╘┌╓≈╬─╝■<'+FNOC(FNOC(I,4),1)+'.DBF>╓╨! ╟δ╓╪╨┬╤í╘±......'
- LOOP
- ENDIF
- YN='N'
- @ 0,0 CLEAR TO 0,79
- @ 0,2 SAY '╩╟╫Θ║╧╣╪┴¬╫╓┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
- READ
- IF YN='Y'
- DO CASE
- CASE TY='N'
- FNOC(I,5)='STR('+FNOC(I,5)+','+STR(FIELD_LEN,3)+IIF(FIELD_DEC=0,'',','+STR(FIELD_DEC,3))+')'
- CASE TY='D'
- FNOC(I,5)='DTOC('+FNOC(I,5)+')'
- ENDCASE
- DO WHILE .T.
- YN=1
- @ 0,2 SAY '╡▒╟░╣╪┴¬╫╓╬¬<'+FNOC(I,5)+'>! ╟δ╝╠╨°╤í╘±╣╪┴¬╫╓:' GET YN PICT '999' RANG 1,K*5+J-1
- READ
- SET FILT TO F_NO=FNOC(I,2).AND.FIELD_TYPE$'CND'
- GO TOP
- SKIP YN-1
- DO CASE
- CASE FIELD_TYPE='N'
- FNOC(I,5)=FNOC(I,5)+'+STR('+TRIM(FIELD_NAME)+','+STR(FIELD_LEN,3)+IIF(FIELD_DEC=0,'',','+STR(FIELD_DEC,3))+')'
- CASE FIELD_TYPE='D'
- FNOC(I,5)=FNOC(I,5)+'+DTOC('+TRIM(FIELD_NAME)+')'
- CASE FIELD_TYPE='C'
- FNOC(I,5)=FNOC(I,5)+'+'+TRIM(FIELD_NAME)
- ENDCASE
- YN=' '
- @ 0,0 SAY SPACE(80)
- @ 0,2 SAY '╗╣╥¬╤í╘±╣╪┴¬╫╓┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
- READ
- IF YN='N'
- EXIT
- ENDIF
- ENDDO
- ENDIF
- EXIT
- ENDIF
- ENDDO
- ENDIF
- YN='N'
- @ 0,0 SAY SPACE(80)
- @ 0,20 SAY '╗╣╨Φ╥¬╤í╘±╩²╛▌╬─╝■┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
- READ
- IF UPPE(YN)<>'Y'
- EXIT
- ENDIF
- I=I+1
- ENDDO
- NUM=I
- CLOS DATA
- SELE 1
- USE BTK
- LOCA FOR RECNO()<>B_NO
- BNO=RECNO()
- INSE BEFO BLAN
- REPL B_NO WITH RECNO(),B_NAME WITH BGM,F_NAME WITH FNOC(1,1),F_NAME1 WITH FNOC(1,1)
- REPL BTZX WITH MBTZX,BSZX WITH MBSZX,F_NUM WITH NUM,IDX_NAME WITH IDXN
- SELE 2
- USE TAA
- ZAP
- SELE 3
- USE DBD
- COPY TO DB FOR F_NO=FNOC(1,2)
- USE DB
- REPL ALL FOR CODE='1' FIELD_LEN WITH LEN
- USE
- SELE 2
- APPE FROM DB
- REPL ALL FIELD_NAME WITH 'A->'+FIELD_NAME
- J=2
- DO WHILE J<=NUM
- SELE 1
- I=STR(J,1)
- REPL NUM&I WITH FNOC(J,4),KEY&I WITH FNOC(J,5),F_NAME&I WITH FNOC(J,1)
- SELE 3
- USE DBD
- COPY TO DB FOR F_NO=FNOC(J,2)
- USE DB
- REPL ALL FOR CODE='1' FIELD_LEN WITH LEN
- USE
- SELE 2
- APPE FROM DB
- REPL ALL FOR SUBS(FIELD_NAME,3,1)<>'>' FIELD_NAME WITH SUBS('ABCDEFGHIJ',J,1)+'->'+FIELD_NAME
- J=J+1
- ENDDO
- SELE 1
- SCAT TO FNA
- CLOS DATA
- RETU