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

  1. SET SCOR OFF
  2. DIME FNOC(10,5)
  3. I=1
  4. DO WHILE I<9
  5. STOR '' TO FN,FNO,CFN
  6. I_I=I
  7. DO SELEF
  8. I=I_I
  9. IF LEN(FN)=0
  10. LOOP
  11. ENDIF
  12. FNOC(I,1)=FN
  13. FNOC(I,2)=FNO
  14. FNOC(I,3)=CFN
  15. IF I=1
  16. SELE 10
  17. USE IDX INDE IDX
  18. CLEAR
  19. SET FILT TO F_NO=FNO
  20. GO TOP
  21. @ 1, 20 SAY CFN+FN+'.DBF ╙╨╧┬┴╨╦≈╥²:'
  22. H=2
  23. DO WHILE .NOT. EOF()
  24. @ H,5 SAY '['+STR(H-1,2)+']__'+TRIM(IDX_DES)+'__'+TRIM(IDX_NAME)+'__'+TRIM(IDX_EXP)
  25. SKIP
  26. H=H+1
  27. ENDDO
  28. YN=0
  29. @ 0,0 SAY SPACE(80)
  30. @ 0,20 SAY '╟δ╤í╘±╥¬╩╣╙├╡─╦≈╥²╬─╝■┤·║┼:' GET YN PICT '99' RANG 0,H-2
  31. READ
  32. IF YN=0
  33. IDXN=''
  34. ELSE
  35. GO TOP
  36. SKIP YN-1
  37. IDXN=TRIM(IDX_NAME)
  38. ENDIF
  39. USE
  40. ELSE
  41. CLEAR
  42. J=1
  43. DO WHILE J<=I-1
  44. @ INT((J-1)/2)+1,(J-1)*40 SAY STR(J,1)+'..'+FNOC(J,1)+'  '+FNOC(1,3)
  45. J=J+1
  46. ENDDO
  47. YN=1
  48. @ 0,0 SAY SPACE(80)
  49. @ 0,10 SAY FN+'.DBF '+CFN+'║═╧┬┴╨──╕÷╩²╛▌┐Γ╖ó╔·┴¬╧╡[1-'+STR(J-1,1)+']:' GET YN PICT '9' RANG 1,J-1
  50. READ
  51. FNOC(I,4)=YN
  52. CLEAR
  53. SELE 10
  54. USE DBD INDE DBD
  55. SET FILT TO F_NO=FNOC(I,2).AND.FIELD_TYPE$'CND'
  56. GO TOP
  57. K=1
  58. J=1
  59. DO WHILE .NOT.EOF()
  60. @ K,(J-1)*15 SAY STR((K-1)*5+J,2)+'.'+TRIM(C_NAME)
  61. K=IIF(J=5,K+1,K)
  62. J=IIF(J=5,1,J+1)
  63. SKIP
  64. ENDDO
  65. DO WHILE .T.
  66. @ 0,0 SAY SPACE(80)
  67. FD=0
  68. @ 0,2 SAY '╟δ╤í╘±╣╪┴¬╫╓╢╬[0..░┤╝╟┬╝║┼╥╗╥╗╢╘╙ª! ╞Σ╦ⁿ,╫╓╢╬▒╪╨δ╘┌<'+FNOC(FNOC(I,4),3)+'>╓╨!]: ' GET FD PICT '99' RANG 0,K*5+J-1
  69. READ
  70. IF FD=0
  71. FNOC(I,5)=''
  72. EXIT
  73. ELSE
  74. GO TOP
  75. SKIP FD-1
  76. FNOC(I,5)=TRIM(FIELD_NAME)
  77. TY=FIELD_TYPE
  78. FL=FIELD_LEN
  79. FD=FIELD_DEC
  80. SET FILT TO
  81. LOCA FOR F_NO=FNOC(FNOC(I,4),2).AND.FIELD_NAME=FNOC(I,5)
  82. IF EOF()
  83. @ 0,2 SAY '╫╓╢╬<'+FNOC(I,5)+'>▓╗╘┌╓≈╬─╝■<'+FNOC(FNOC(I,4),1)+'.DBF>╓╨! ╟δ╓╪╨┬╤í╘±......'
  84. LOOP
  85. ENDIF
  86. YN='N'
  87. @ 0,0 CLEAR TO 0,79
  88. @ 0,2 SAY '╩╟╫Θ║╧╣╪┴¬╫╓┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
  89. READ
  90. IF YN='Y'
  91. DO CASE
  92. CASE TY='N'
  93. FNOC(I,5)='STR('+FNOC(I,5)+','+STR(FIELD_LEN,3)+IIF(FIELD_DEC=0,'',','+STR(FIELD_DEC,3))+')'
  94. CASE TY='D'
  95. FNOC(I,5)='DTOC('+FNOC(I,5)+')'
  96. ENDCASE
  97. DO WHILE .T.
  98. YN=1
  99. @ 0,2 SAY '╡▒╟░╣╪┴¬╫╓╬¬<'+FNOC(I,5)+'>! ╟δ╝╠╨°╤í╘±╣╪┴¬╫╓:' GET YN PICT '999' RANG 1,K*5+J-1
  100. READ
  101. SET FILT TO F_NO=FNOC(I,2).AND.FIELD_TYPE$'CND'
  102. GO TOP
  103. SKIP YN-1
  104. DO CASE
  105. CASE FIELD_TYPE='N'
  106. FNOC(I,5)=FNOC(I,5)+'+STR('+TRIM(FIELD_NAME)+','+STR(FIELD_LEN,3)+IIF(FIELD_DEC=0,'',','+STR(FIELD_DEC,3))+')'
  107. CASE FIELD_TYPE='D'
  108. FNOC(I,5)=FNOC(I,5)+'+DTOC('+TRIM(FIELD_NAME)+')'
  109. CASE FIELD_TYPE='C'
  110. FNOC(I,5)=FNOC(I,5)+'+'+TRIM(FIELD_NAME)
  111. ENDCASE
  112. YN=' '
  113. @ 0,0 SAY SPACE(80)
  114. @ 0,2 SAY '╗╣╥¬╤í╘±╣╪┴¬╫╓┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
  115. READ
  116. IF YN='N'
  117. EXIT
  118. ENDIF
  119. ENDDO
  120. ENDIF
  121. EXIT
  122. ENDIF
  123. ENDDO
  124. ENDIF
  125. YN='N'
  126. @ 0,0 SAY SPACE(80)
  127. @ 0,20 SAY '╗╣╨Φ╥¬╤í╘±╩²╛▌╬─╝■┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
  128. READ
  129. IF UPPE(YN)<>'Y'
  130. EXIT
  131. ENDIF
  132. I=I+1
  133. ENDDO
  134. NUM=I
  135. CLOS DATA
  136. SELE 1
  137. USE BTK
  138. LOCA FOR RECNO()<>B_NO
  139. BNO=RECNO()
  140. INSE BEFO BLAN
  141. REPL B_NO WITH RECNO(),B_NAME WITH BGM,F_NAME WITH FNOC(1,1),F_NAME1 WITH FNOC(1,1)
  142. REPL BTZX WITH MBTZX,BSZX WITH MBSZX,F_NUM WITH NUM,IDX_NAME WITH IDXN
  143. SELE 2
  144. USE TAA
  145. ZAP
  146. SELE 3
  147. USE DBD
  148. COPY TO DB FOR F_NO=FNOC(1,2)
  149. USE DB
  150. REPL ALL FOR CODE='1' FIELD_LEN WITH LEN
  151. USE
  152. SELE 2
  153. APPE FROM DB
  154. REPL ALL FIELD_NAME WITH 'A->'+FIELD_NAME
  155. J=2
  156. DO WHILE J<=NUM
  157. SELE 1
  158. I=STR(J,1)
  159. REPL NUM&I WITH FNOC(J,4),KEY&I WITH FNOC(J,5),F_NAME&I WITH FNOC(J,1)
  160. SELE 3
  161. USE DBD
  162. COPY TO DB FOR F_NO=FNOC(J,2)
  163. USE DB
  164. REPL ALL FOR CODE='1' FIELD_LEN WITH LEN
  165. USE
  166. SELE 2
  167. APPE FROM DB
  168. REPL ALL FOR SUBS(FIELD_NAME,3,1)<>'>' FIELD_NAME WITH SUBS('ABCDEFGHIJ',J,1)+'->'+FIELD_NAME
  169. J=J+1
  170. ENDDO
  171. SELE 1
  172. SCAT TO FNA
  173. CLOS DATA
  174. RETU
  175.