home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / b / b007 / 2.ddi / AMISG / DBFLHZ.PRG < prev    next >
Encoding:
Text File  |  1990-09-04  |  3.8 KB  |  250 lines

  1. ****** DBFLHZ.PRG ******
  2. ****** DO DBFLHZ  ******
  3. ****** PARA FN  ******
  4. IF TYPE('FN')='U'
  5. @ 0,0 SAY '╤í╘±╥¬╖╓└α╗π╫▄╡─╬─╝■......'
  6. FN=''
  7. FNO=''
  8. CFN=''
  9. DO SELEF
  10. IF LEN(FN)=0
  11. RETU
  12. ENDIF
  13. ENDIF
  14. EXP1='.T.'
  15. EXP='.T.'
  16. @ 0,0 SAY '╔·│╔╜°╨╨╖╓└α╗π╫▄╡─╝╟┬╝╙ª┬·╫π╡─╠⌡╝■......'
  17. A=INKEY(5)
  18. DO DBFEXP
  19. FD=''
  20. CFD=''
  21. FDN=''
  22. @ 0,0
  23. @ 0,0 SAY '╤í╘±╖╓└α╣╪╝ⁿ╫╓╢╬ . . . '
  24. DO SELEFD
  25. */╗π╫▄╫╓╢╬╬≈╬─├√▒φ/*
  26. FL=''
  27. */╗π╫▄╫╓╢╬║║╫╓├√▒φ/*
  28. FL1=''
  29. */╗π╫▄╫╓╢╬╕÷╩²/*
  30. FLN=0
  31. */╗π╫▄╫╓╢╬╨≥║┼▒φ/*
  32. LM0=''
  33. DO DBFL WITH FN,FL,FL1,FLN,LM0
  34. IF LEN(FL)=0
  35. RETU
  36. ENDIF
  37. K=1
  38. FL3=''
  39. FL2=''
  40. DO WHILE K<=FLN
  41. IF K<10
  42. I=STR(K,1)
  43. ELSE
  44. I=STR(K,2)
  45. ENDIF
  46. FL3=FL3+'PJ&I'+','
  47. FL2=FL2+"ZH&I"+","
  48. K=K+1
  49. ENDDO
  50. FL2=SUBSTR(FL2,1,LEN(FL2)-1)
  51. FL3=SUBSTR(FL3,1,LEN(FL3)-1)
  52. USE &FN
  53. SUM &FL TO &FL2 FOR &EXP
  54. AVER &FL TO &FL3 FOR &EXP
  55. COUN TO NUM FOR &EXP
  56. INDE ON &FD TO A_B_C
  57. TOTAL ON &FD FIELDS &FL TO A_B_C FOR &EXP
  58. USE A_B_C
  59. INDE ON &FD TO A_B_C
  60. USE
  61. IF FILE('A_B_C.1')
  62. ERAS A_B_C.1
  63. ENDIF
  64. RENA &FN..DBF TO A_B_C.1
  65. RENA A_B_C.DBF TO &FN..DBF
  66. CLEAR
  67. N=6
  68. DO WHILE .T.
  69. ? "┬·╫π╠⌡╝■:&EXP1 ╡─╝╟┬╝╩²╬¬"+STR(NUM,4)
  70. CF=FL1+'  '
  71. LN=FLN
  72. M=1
  73. DO WHILE .T.
  74. L1='⌐░⌐ñ⌐ñ⌐ñ'
  75. L2='⌐ª═│╝╞└╕'
  76. L3='⌐└⌐ñ⌐ñ⌐ñ'
  77. L4='⌐ª ╫▄║═ '
  78. L6='⌐ª ╞╜╛∙ '
  79. L5='⌐╕⌐ñ⌐ñ⌐ñ'
  80. IF LN<N
  81. N1=LN
  82. ELSE
  83. N1=N
  84. ENDIF
  85. LN=LN-N
  86. J=1
  87. DO WHILE J<=N1
  88. IF M<10
  89. I=STR(M,1)
  90. ELSE
  91. I=STR(M,2)
  92. ENDIF
  93. CC=SUBSTR(CF,1,14)
  94. N2=LEN(TRIM(CC))
  95. K=0
  96. NN=ZH&I
  97. DO WHILE NN>1
  98. NN=NN/10
  99. K=K+1
  100. ENDDO
  101. IF N2<=8
  102. N2=8
  103. ENDIF
  104. N3=0
  105. IF N2<K+3
  106. N3=K+3-N2
  107. ENDIF
  108. IF N2/2<>INT(N2/2)
  109. N2=N2+1
  110. ENDIF
  111. N3=0
  112. IF N2<K+3
  113. N3=K+3-N2
  114. ENDIF
  115. IF N3/2#INT(N3/2)
  116. N3=N3+1
  117. ENDIF
  118. L1=L1+SUBS('⌐╨⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ',1,N2+N3+2)
  119. L2=L2+'⌐ª'+SPACE(N3)+SUBSTR(CF,1,N2)
  120. L3=L3+SUBS('⌐α⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ',1,N2+N3+2)
  121. L4=L4+'⌐ª'+STR(ZH&I,N2+N3,2)
  122. L5=L5+SUBS('⌐╪⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ',1,N2+N3+2)
  123. L6=L6+'⌐ª'+STR(PJ&I,N2+N3,2)
  124. IF LEN(CF)=11
  125. CF=''
  126. ELSE
  127. CF=SUBSTR(CF,16)
  128. ENDIF
  129. M=M+1
  130. J=J+1
  131. ENDDO
  132. ? L1+'⌐┤'
  133. ? L2+'⌐ª'
  134. ? L3+'⌐╚'
  135. ? L4+'⌐ª'
  136. ? L3+'⌐╚'
  137. ? L6+'⌐ª'
  138. ? L5+'⌐╝'
  139. IF LN<=0
  140. EXIT
  141. ENDIF
  142. ENDDO
  143. ? ' '
  144. SET CONS ON
  145. SET PRINT OFF
  146. @ 0,2 PROM '0-═╦│÷.'
  147. @ 0,COL()+2 PROM '1-┤≥╙í.'
  148. @ 0,COL()+2 PROM '2-╧╘╩╛.'
  149. MENU TO Y
  150. IF Y=1
  151. EXIT
  152. ENDIF
  153. IF Y=3
  154. CLEAR
  155. ? CFD,FL1
  156. SELE 1
  157. USE &FN
  158. ? FD,FL
  159. DISP &FD,'  ',&FL OFF ALL
  160. SELE 0
  161. LOOP
  162. ENDIF
  163. USE IDX INDE IDX
  164. SEEK FNO
  165. NDX=''
  166. IF .NOT.EOF()
  167. NDX=TRIM(IDX_NAME)
  168. IF FILE('A_B_C.2')
  169. ERAS A_B_C.2
  170. ENDIF
  171. RENA &NDX..IDX TO A_B_C.2
  172. RENA A_B_C.IDX TO &NDX..IDX
  173. ENDIF
  174. USE
  175. SAVE TO 0_S
  176. DO DBPRINT WITH FN,'.T.',1,CFN+'░┤'+CFD+'╗π╫▄▒φ',FDN+','+LM0,20,1
  177. REST FROM 0_S
  178. IF LEN(NDX)<>0
  179. RENA &NDX..IDX TO A_B_C.IDX
  180. RENA A_B_C.2 TO &NDX..IDX
  181. ENDIF
  182. SET PRINT ON
  183. N=16
  184. ENDDO
  185. SET PRINT OFF
  186. CLOSE DATA
  187. I=0
  188. FNA=SUBS(FN,1,6)+'HZ'
  189. DO WHILE .T.
  190. IF .NOT.(FILE('&FNA..DBF').AND.I<25)
  191. EXIT
  192. ENDIF
  193. I=I+1
  194. FNA=SUBS(FN,1,6)+'H'+CHR(64+I)
  195. ENDDO
  196. IF I>=25.AND.FILE('&FNA..DBF')
  197. FNA=SYS(3)
  198. ENDIF
  199. CFNA=CFN+'░┤'+CFD+'╗π╫▄'
  200. CFNA=CFNA+SPACE(30-LEN(CFNA))
  201. @ 3,10,6,60 BOX '+-+|+-+|'
  202. SELE 1
  203. USE FILE INDE FILE
  204. DO WHILE .T.
  205. FNA=FNA+SPACE(8-LEN(FNA))
  206. @ 3,10 CLEAR TO 6,60
  207. @ 3,10 TO 6,60 DOUB
  208. @ 4,12 SAY '╗π╫▄╬─╝■├√╬¬:' GET FNA
  209. @ 5,12 SAY '    ║║╙∩├√╬¬:' GET CFNA
  210. READ
  211. FNA=TRIM(FNA)
  212. SEEK FNA
  213. IF EOF()
  214. EXIT
  215. ENDIF
  216. @ 7,12 SAY ' **╬─╝■├√&FNA..DBF╥╤╩╣╙├!!!╟δ╓╪╨┬╩Σ╚δ . . . '
  217. ENDDO
  218. SELE 1
  219. USE FILE INDE FILE
  220. SEEK FN
  221. SCAT TO HZ11
  222. SET INDE TO
  223. GO TOP
  224. LOCA FOR VAL(F_NO)<>RECNO()
  225. HZNO=SUBS(STR(RECNO()+1000,4),2)
  226. INSE BEFO BLAN
  227. GATH FROM HZ11
  228. REPL F_NO WITH HZNO,C_FNAME WITH CFNA,F_NAME WITH FNA,F_DEC WITH CFN+'░┤&CFD.╗π╫▄',IDX_NUM WITH 0,F_FMT WITH FNA
  229. SET INDE TO FILE
  230. REIN
  231. USE
  232. USE DBD INDE DBD
  233. COPY TO HZ_1_1 FOR F_NO=FNO
  234. SELE 2
  235. USE HZ_1_1
  236. REPL ALL F_NO WITH HZNO
  237. USE
  238. SELE 1
  239. APPE FROM HZ_1_1
  240. USE
  241. ERAS HZ_1_1.DBF
  242. RENA  &FN..DBF TO &FNA..DBF
  243. RENA A_B_C.1 TO &FN..DBF
  244. IF FILE('A_B_C.IDX')
  245. ERAS A_B_C.IDX
  246. ENDIF
  247. RETU
  248. ** END OF DBFLHZ.PRG **
  249.  
  250.