home *** CD-ROM | disk | FTP | other *** search
- ****** ╨▐╕─╩²╛▌┐Γ╜ß╣╣ DBSREPL.PRG ******
- ****** DO DBSREPL ******
- SET TALK OFF
- SET SAFE OFF
- @ 0,0 SAY '╤í╘±╥¬╨▐╕─╡─╬─╝■ . . . '
- @ 1,0 CLEAR
- FN=''
- FNO=''
- CFN=''
- DO SELEF
- IF LEN(FN)=0
- RETU
- ENDIF
- SELE 1
- USE DBD
- COPY TO DB FOR F_NO=FNO SDF
- copy stru exte to fns
- use fns
- skip
- repl field_name with '╨≥║┼'
- skip
- repl field_name with '╫╓╢╬├√'
- skip
- repl field_name with '└α╨═'
- skip
- repl field_name with '┐φ╢╚'
- skip
- repl field_name with '╨í╩²╬╗╩²'
- skip
- repl field_name with '║║╫╓╫╓╢╬├√'
- skip
- repl field_name with '┬δ▒Ω'
- skip
- repl field_name with '┬δ┐φ'
- skip
- repl field_name with '┤·┬δ╔Φ╝╞'
- use
- crea db from fns
- USE DB
- APPE FROM DB SDF
- INDE ON ╨≥║┼ TO DB
- SET FILT TO .NOT.DELE()
- SET MENU ON
- DO WHILE .T.
- GO TOP
- BROW WIDT 20 field ╨≥║┼,╫╓╢╬├√,└α╨═,┐φ╢╚,╨í╩²╬╗╩²,║║╫╓╫╓╢╬├√,┬δ▒Ω,┬δ┐φ,┤·┬δ╔Φ╝╞
- COUNT ALL FOR ┬δ▒Ω='1'.AND.LEN(TRIM(┤·┬δ╔Φ╝╞))=0 TO ERR
- IF ERR<>0
- ? SPACE(20)+'┤·┬δ▒Ω╓╛╬¬ ú▒ ╒▀, ┤·┬δ╔Φ╝╞▓╗╡├╬¬┐╒!!!'+CHR(7)
- LOOP
- ENDIF
- COUNT ALL FOR └α╨═='N'.AND.(╨í╩²╬╗╩²<>0.AND.(┐φ╢╚-╨í╩²╬╗╩²)<2.OR.┐φ╢╚>19.OR.╨í╩²╬╗╩²>15).OR.└α╨═='C'.AND.┐φ╢╚>254 TO ERR
- IF ERR<>0
- ? SPACE(20)+'╩²╛▌┐φ╢╚│÷┤φ!!!'+CHR(7)
- LOOP
- ENDIF
- EXIT
- ENDDO
- SET MENU OFF
- SET FILT TO
- PACK
- DBF=SYS(3)
- IF AT('.',DBF)=0
- DBF=DBF+'.TXT'
- ENDIF
- COPY TO &DBF SDF
- USE DBD
- COPY STRU TO DB
- ERAS DB.IDX
- USE DB
- APPE FROM &DBF SDF
- REPL ALL F_NO WITH FNO,FIELD_TYPE WITH UPPE(FIELD_TYPE),FIELD_NAME WITH UPPE(FIELD_NAME),FIELD_NO WITH SUBS(STR(100+RECN(),3),2)
- REPL ALL FOR FIELD_TYPE='D' FIELD_LEN WITH 8
- REPL ALL FOR FIELD_TYPE='L' FIELD_LEN WITH 1
- COUNT ALL FOR CODE='1'.AND.LEN(TRIM(NOTE))=0 TO ERR
- COPY STRU EXTE TO FNS
- USE FNS
- ZAP
- APPE FROM DB
- SUM FIELD_LEN TO RB
- GO BOTT
- FNUM=RECNO()
- USE FILE INDE FILE
- SEEK FN
- REPL FIELD_NUM WITH FNUM,REC_BYTE WITH RB
- B1=SYS(3)
- IF AT('.',B1)=0
- B1=B1+'.DBF'
- ENDIF
- RENA &FN..DBF TO &B1
- CREA &FN FROM FNS
- IF .NOT.FILE('&FN..DBF')
- CLOS DATA
- RENA &B1 TO &FN..DBF
- ERAS &DBF
- ERAS DB.DBF
- ERAS FNS.DBF
- RETU
- ENDIF
- USE &FN
- APPE FROM &B1
- ERAS &B1
- USE DBD INDE DBD
- DELE ALL FOR F_NO=FNO
- PACK
- APPE FROM DB
- USE
- YN=' '
- DO WHILE .NOT.YN$'YN'
- @ 5,10 SAY '╜ß╣╣╨▐╕─║≤,▒╪╨Φ╨▐╕─╞┴─╗╕±╩╜╬─╝■!┴ó╝┤╓╪╨┬╔·│╔┬≡?[Y/N]' GET YN PICT '!'
- READ
- ENDDO
- CLOS DATA
- IF YN='Y'
- DO FMTCRONE
- ENDIF
- USE BTK
- SET FILT TO F_NAME=FN
- GO TOP
- IF .NOT.EOF()
- DO WHILE .T.
- ? '╥╘╧┬▒¿▒φ╜½╥≥┐Γ╜ß╣╣╡─╨▐╕─╢°┐╔─▄╩▄╡╜╙░╧∞! ╨Φ╥¬╩╘╘╦╨╨╜°╨╨▓Γ╩╘!'
- DO WHILE .NOT.EOF()
- ? SPACE(20)+B_NAME
- SKIP
- ENDDO
- YN=0
- @ 09,20 SAY '╥¬┤≥╙í┬≡?[0-▓╗╥¬,1-╥¬]:' GET YN PICT '9' RANG 0,1
- READ
- IF YN=1
- CLEAR
- SET PRINT ON
- GO TOP
- LOOP
- ENDIF
- SET PRINT OFF
- EXIT
- ENDDO
- ENDIF
- USE
- ERAS &DBF
- ERAS DB.DBF
- ERAS FNS.DBF
- RETU
- ** END OF DBSREPL.PRG **