home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / b / b007 / 2.ddi / AMISG / DBSREPL.PRG < prev    next >
Encoding:
Text File  |  1990-05-26  |  2.6 KB  |  146 lines

  1. ****** ╨▐╕─╩²╛▌┐Γ╜ß╣╣ DBSREPL.PRG ******
  2. ****** DO DBSREPL                 ******
  3. SET TALK OFF
  4. SET SAFE OFF
  5. @ 0,0 SAY '╤í╘±╥¬╨▐╕─╡─╬─╝■ . . . '
  6. @ 1,0 CLEAR
  7. FN=''
  8. FNO=''
  9. CFN=''
  10. DO SELEF
  11. IF LEN(FN)=0
  12. RETU
  13. ENDIF
  14. SELE 1
  15. USE DBD
  16. COPY TO DB FOR F_NO=FNO SDF
  17. copy stru exte to fns
  18. use fns
  19. skip
  20. repl field_name with '╨≥║┼'
  21. skip
  22. repl field_name with '╫╓╢╬├√'
  23. skip
  24. repl field_name with '└α╨═'
  25. skip
  26. repl field_name with '┐φ╢╚'
  27. skip
  28. repl field_name with '╨í╩²╬╗╩²'
  29. skip
  30. repl field_name with '║║╫╓╫╓╢╬├√'
  31. skip
  32. repl field_name with '┬δ▒Ω'
  33. skip
  34. repl field_name with '┬δ┐φ'
  35. skip
  36. repl field_name with '┤·┬δ╔Φ╝╞'
  37. use
  38. crea db from fns
  39. USE DB
  40. APPE FROM DB SDF
  41. INDE ON ╨≥║┼ TO DB
  42. SET FILT TO .NOT.DELE()
  43. SET MENU ON
  44. DO WHILE .T.
  45. GO TOP
  46. BROW WIDT 20 field ╨≥║┼,╫╓╢╬├√,└α╨═,┐φ╢╚,╨í╩²╬╗╩²,║║╫╓╫╓╢╬├√,┬δ▒Ω,┬δ┐φ,┤·┬δ╔Φ╝╞
  47. COUNT ALL FOR ┬δ▒Ω='1'.AND.LEN(TRIM(┤·┬δ╔Φ╝╞))=0 TO ERR
  48. IF ERR<>0
  49. ? SPACE(20)+'┤·┬δ▒Ω╓╛╬¬ ú▒ ╒▀, ┤·┬δ╔Φ╝╞▓╗╡├╬¬┐╒!!!'+CHR(7)
  50. LOOP
  51. ENDIF
  52. COUNT ALL FOR └α╨═='N'.AND.(╨í╩²╬╗╩²<>0.AND.(┐φ╢╚-╨í╩²╬╗╩²)<2.OR.┐φ╢╚>19.OR.╨í╩²╬╗╩²>15).OR.└α╨═='C'.AND.┐φ╢╚>254 TO ERR
  53. IF ERR<>0
  54. ? SPACE(20)+'╩²╛▌┐φ╢╚│÷┤φ!!!'+CHR(7)
  55. LOOP
  56. ENDIF
  57. EXIT
  58. ENDDO
  59. SET MENU OFF
  60. SET FILT TO
  61. PACK
  62. DBF=SYS(3)
  63. IF AT('.',DBF)=0
  64. DBF=DBF+'.TXT'
  65. ENDIF
  66. COPY TO &DBF SDF
  67. USE DBD
  68. COPY STRU TO DB
  69. ERAS DB.IDX
  70. USE DB
  71. APPE FROM &DBF SDF
  72. 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)
  73. REPL ALL FOR FIELD_TYPE='D' FIELD_LEN WITH 8
  74. REPL ALL FOR FIELD_TYPE='L' FIELD_LEN WITH 1
  75. COUNT ALL FOR CODE='1'.AND.LEN(TRIM(NOTE))=0 TO ERR
  76. COPY STRU EXTE TO FNS
  77. USE FNS
  78. ZAP
  79. APPE FROM DB
  80. SUM FIELD_LEN TO RB
  81. GO BOTT
  82. FNUM=RECNO()
  83. USE FILE INDE FILE
  84. SEEK FN
  85. REPL FIELD_NUM WITH FNUM,REC_BYTE WITH RB
  86. B1=SYS(3)
  87. IF AT('.',B1)=0
  88. B1=B1+'.DBF'
  89. ENDIF
  90. RENA &FN..DBF TO &B1
  91. CREA &FN FROM FNS
  92. IF .NOT.FILE('&FN..DBF')
  93. CLOS DATA
  94. RENA &B1 TO &FN..DBF
  95. ERAS &DBF
  96. ERAS DB.DBF
  97. ERAS FNS.DBF
  98. RETU
  99. ENDIF
  100. USE &FN
  101. APPE FROM &B1
  102. ERAS &B1
  103. USE DBD INDE DBD
  104. DELE ALL FOR F_NO=FNO
  105. PACK
  106. APPE FROM DB
  107. USE
  108. YN=' '
  109. DO WHILE .NOT.YN$'YN'
  110. @ 5,10 SAY '╜ß╣╣╨▐╕─║≤,▒╪╨Φ╨▐╕─╞┴─╗╕±╩╜╬─╝■!┴ó╝┤╓╪╨┬╔·│╔┬≡?[Y/N]' GET YN PICT '!'
  111. READ
  112. ENDDO
  113. CLOS DATA
  114. IF YN='Y'
  115. DO FMTCRONE
  116. ENDIF
  117. USE BTK
  118. SET FILT TO F_NAME=FN
  119. GO TOP
  120. IF .NOT.EOF()
  121. DO WHILE .T.
  122. ? '╥╘╧┬▒¿▒φ╜½╥≥┐Γ╜ß╣╣╡─╨▐╕─╢°┐╔─▄╩▄╡╜╙░╧∞! ╨Φ╥¬╩╘╘╦╨╨╜°╨╨▓Γ╩╘!'
  123. DO WHILE .NOT.EOF()
  124. ? SPACE(20)+B_NAME
  125. SKIP
  126. ENDDO
  127. YN=0
  128. @ 09,20 SAY '╥¬┤≥╙í┬≡?[0-▓╗╥¬,1-╥¬]:' GET YN PICT '9' RANG 0,1
  129. READ
  130. IF YN=1
  131. CLEAR
  132. SET PRINT ON
  133. GO TOP
  134. LOOP
  135. ENDIF
  136. SET PRINT OFF
  137. EXIT
  138. ENDDO
  139. ENDIF
  140. USE
  141. ERAS &DBF
  142. ERAS DB.DBF
  143. ERAS FNS.DBF
  144. RETU
  145. ** END OF DBSREPL.PRG **
  146.