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

  1. ****** ╢α┐Γ╜ß╣╣║╧│╔ DBSMCOPY.PRG ******
  2. ****** DO DBSMCOPY               ******
  3. SET TALK OFF
  4. SELE 10
  5. USE DBD
  6. COPY STRU TO DB
  7. USE DB
  8. DO WHILE .T.
  9. @ 0,0 SAY  '╤í╘±▒╗╕┤╓╞╡─╩²╛▌╬─╝■!......'+SPACE(50)
  10. STOR '' TO FN,FNO,CFN
  11. DO SELEF
  12. IF LEN(FN)=0
  13. RETU
  14. ENDIF
  15. SELE 10
  16. USE DB
  17. APPE FROM DBD FOR F_NO=FNO
  18. @ 0,0 SAY SPACE(80)
  19. YN='Y'
  20. @ 0,20 SAY '╗╣╨Φ╥¬╤í╘±╩²╛▌╬─╝■┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
  21. READ
  22. IF UPPE(YN)<>'Y'
  23. EXIT
  24. ENDIF
  25. ENDDO
  26. @ 1,0 CLEAR
  27. SET  DELI OFF
  28. SELE 10
  29. USE DB
  30. HS=25
  31. LS=5
  32. HHJ=''
  33. COUNT TO MAX
  34. GO TOP
  35. N=0
  36. SET DEVI TO SCRE
  37. @ 1,0
  38. T=.T.
  39. DO WHILE T
  40. @ 2,0 CLEAR
  41. I=2
  42. J=0
  43. N1=N+1
  44. DO WHILE .NOT. EOF()
  45. N=N+1
  46. @ I,J*15 SAY STR(N,2)+'.'+TRIM(C_NAME)
  47. J=J+1
  48. IF J=LS
  49. I=I+1
  50. J=0
  51. ENDIF
  52. IF I=HS-6
  53. EXIT
  54. ENDIF
  55. SKIP
  56. ENDDO
  57. DO WHILE .T.
  58. @ HS-5,1 SAY '╡▒╟░╤í╓╨╡─╩²╛▌╧ε╬¬: '+HHJ
  59. @ 1,9 SAY '╤í╘±║╧│╔┐Γ╩²╛▌╧ε╨≥║┼:Enter_═╦│÷ PgUp_╟░▓Θ PgDn_║≤▓Θ:  '
  60. DO WHILE .T.
  61. @ 1,60 SAY ':'
  62. YN=INKEY(0)
  63. IF YN>48.AND.YN<58.OR.YN=13.OR.YN=3.OR.YN=18.OR.YN=27
  64. EXIT
  65. ENDIF
  66. ?? CHR(7)
  67. ENDDO
  68. @ 1,0 SAY SPACE(9)
  69. @ 1,63 SAY SPACE(16)
  70. DO CASE
  71. CASE YN=27
  72. CLOS DATA
  73. RETU TO MAST
  74. CASE YN=18
  75. IF N1=1
  76. LOOP
  77. ENDIF
  78. IF N1<LS*HS+1
  79. N=0
  80. ELSE
  81. N=N1-LS*HS+1
  82. ENDIF
  83. GO TOP
  84. SKIP N
  85. EXIT
  86. CASE YN=3
  87. IF N=MAX
  88. LOOP
  89. ENDIF
  90. SKIP
  91. EXIT
  92. CASE YN=13
  93. IF LEN(HHJ)=0
  94. LOOP
  95. ENDIF
  96. T=.F.
  97. EXIT
  98. OTHER
  99. DO WHILE .T.
  100. @ 1,61 SAY CHR(YN)
  101. YN1=INKEY(0)
  102. IF YN1>47.AND.YN<58.OR.YN1=13.OR.YN1=127.OR.YN1=19.OR.YN1=27
  103. EXIT
  104. ENDIF
  105. ??CHR(7)
  106. ENDDO
  107. IF YN1=27
  108. CLOS DATA
  109. RETU TO MAST
  110. ENDIF
  111. IF YN1=127.OR.YN1=19
  112. LOOP
  113. ENDIF
  114. IF YN1=13
  115. YN1=' '
  116. ELSE
  117. YN1=CHR(YN1)
  118. @ 1,62 SAY YN1
  119. ENDIF
  120. YN=CHR(YN)
  121. IF &YN.&YN1.>MAX .OR. &YN.&YN1.<1
  122. @ 1,64 SAY '╨≥║┼{&YN.&YN1.}│¼╖╢╬º!'
  123. @ 1,3 SAY '╟δ╓╪╨┬'
  124. LOOP
  125. ENDIF
  126. GO TOP
  127. SKIP &YN.&YN1.-1
  128. REC=RECNO()
  129. FD=FIELD_NAME
  130. LOCA FOR DELE().AND.FIELD_NAME=FD
  131. IF EOF()
  132. GO REC
  133. DELE
  134. ELSE
  135. @ 1,3 SAY '╟δ╓╪╨┬'
  136. @ 1,64 SAY '╨≥║┼{&YN.&YN1.}╥╤╤í╣²'
  137. LOOP
  138. ENDIF
  139. HHJ=HHJ+'; '+TRIM(C_NAME)
  140. IF HHJ=';'
  141. HHJ=SUBS(HHJ,2)
  142. ENDIF
  143. ENDCASE
  144. ENDDO
  145. ENDDO
  146. COPY TO DB_1_1 FOR DELE()
  147. FN1=SPACE(8)
  148. CFN1=SPACE(20)
  149. SELE 10
  150. USE FILE
  151. LOCA FOR RECNO()<>VAL(F_NO)
  152. REC=RECNO()
  153. FNO1=SUBS(STR(1000+RECNO(),4),2)
  154. SET INDE TO FILE
  155. DO WHILE .T.
  156. CLEAR
  157. @ 2,8 TO 8,70 DOUB
  158. @ 4,8 TO 8,70 DOUB
  159. @ 3,10 SAY '            ╟δ╩Σ╚δ║╧│╔╩²╛▌╬─╝■╡─'
  160. @ 5,10 SAY '        ╬≈╬─╩²╛▌┐Γ├√:' GET FN1 PICT '!!!!!!!!'
  161. @ 6,10 SAY '        ╓╨╬─╩²╛▌┐Γ├√:' GET CFN1
  162. @ 7,10 SAY '           *** ╙╨╥╗╬¬┐╒╘≥╖╡╗╪ ***        '
  163. READ
  164. IF FN1=SPACE(8).OR. CFN1=SPACE(20)
  165. RETU
  166. ENDIF
  167. SET EXACT ON
  168. SEEK FN1
  169. SET EXACT OFF
  170. IF .NOT. EOF()
  171. @ 9,10 SAY '╕├╬─╝■├√ &FN1 ╥╤╩╣╙├ ╓╨╬─╬─╝■├√╬¬ '+C_FNAME
  172. A=INKEY(5)
  173. LOOP
  174. ELSE
  175. EXIT
  176. ENDIF
  177. ENDDO
  178. USE DB_1_1
  179. RECA ALL
  180. REPL ALL FIELD_NO WITH SUBS(STR(100+RECNO(),3),2)
  181. SUM FIELD_LEN TO NUM
  182. FNUM=RECCOUNT()
  183. COPY TO FNS STRU EXTE
  184. REPL ALL F_NO WITH FNO1
  185. USE FNS
  186. ZAP
  187. APPE FROM DB_1_1
  188. USE
  189. CREA &FN1 FROM FNS
  190. USE DBD INDE DBD
  191. APPE FROM DB_1_1
  192. REIN
  193. USE FILE
  194. GO REC
  195. INSE BEFO BLAN
  196. REPL F_NO WITH FNO1,F_NAME WITH FN,SYSFILE WITH '3',REC_BYTE WITH NUM,FIELD_NUM WITH FNUM,F_DATE WITH DATE(),F_FMT WITH FN1,F_NAME WITH FN1,C_FNAME WITH CFN1,F_DEC WITH CFN1,IDX_NUM WITH 0
  197. SET INDE TO FILE
  198. REIN
  199. USE
  200. SELE 1
  201. CLEAR
  202. FN=TRIM(FN1)
  203. CFN=TRIM(CFN1)
  204. FNO=FNO1
  205. CLEAR
  206. @ 5,(80-28-LEN(FN)-LEN(CFN))/2 SAY '╩²╛▌┐Γ &CFN.(&FN..DBF)╜ß╣╣╜¿┴ó═Ω▒╧!'
  207. CLOS DATA
  208. ERAS FNS.DBF
  209. ERAS DB_1_1.DBF
  210. A=INKEY(2)
  211. DO FMTCRONE
  212. RETU
  213. ** END OF DBSMCOPY.PRG **
  214.