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

  1. ****** ═¿╙├╩²╛▌┐Γ╝╟┬╝╨▐╕─ DBR.PRG ******
  2. ****** DO DBR                     ******
  3. ****** ╚δ┐┌: FILE.DBF:╬─╝■┐Γ      ******
  4. ******       IDX.DBF :╦≈╥²┐Γ      ******
  5. SET TALK OFF
  6. CLEAR
  7. EXP=''
  8. IF TYPE('FN')='U' .OR. TYPE('FNO')='U'
  9. FN=''
  10. FNO=''
  11. CFN=''
  12. @ 0,0 SAY '<<╩²╛▌▒α╝⌐>>'
  13. DO SELEF
  14. IF LEN(FN)=0
  15. RETU
  16. ENDIF
  17. ENDIF
  18. USE IDX INDE IDX
  19. SET FILT TO F_NO=FNO
  20. GO TOP
  21. NDX=''
  22. DO WHILE .NOT.EOF()
  23. NDX=NDX+','+TRIM(IDX_NAME)
  24. SKIP
  25. ENDDO
  26. IF LEN(NDX)<>0
  27. NDX=SUBS(NDX,2)
  28. ENDIF
  29. DO WHILE .T.
  30. CLOS DATA
  31. DO CO
  32. CLEAR
  33. @  0,0 SAY '╡▒╟░╬─╝■:&FN..DBF &CFN'
  34. @  1,30 SAY '   ╩²╛▌┐Γ╝╟┬╝╨▐╕─   '
  35. @  3,20 PROM '1-------╓≡╠⌡╨▐╕─'
  36. @  4,20 PROM '2-------┤░┐┌╨▐╕─'
  37. @  3,44 PROM '3-------═│╥╗╨▐╕─'
  38. @  4,44 PROM '4-------╠⌡╝■╨▐╕─'
  39. @  5,20 PROM 'S-------╓╪╤í╬─╝■'
  40. @  5,44 PROM '0-------═╦│÷╨▐╕─'
  41. MENU TO GN
  42. DO CASE
  43. CASE GN=5
  44. @ 0,40 SAY '<<╩²╛▌▒α╝⌐>>'
  45. DO SELEF
  46. USE IDX INDE IDX
  47. SET FILT TO F_NO=FNO
  48. GO TOP
  49. NDX=''
  50. DO WHILE .NOT. EOF()
  51. NDX=NDX+','+TRIM(IDX_NAME)
  52. SKIP
  53. ENDDO
  54. IF LEN(NDX)<>0
  55. NDX=SUBS(NDX,2)
  56. ENDIF
  57. CASE GN=6
  58. RETURN
  59. CASE GN=1
  60. @ 0,20 SAY '***╔·│╔╜½╥¬╨▐╕─╡─╝╟┬╝╙ª┬·╫π╡─╠⌡╝■***'
  61. A=INKEY(5)
  62. DO DBFEXP
  63. USE &FN
  64. SET INDE TO &NDX
  65. SET FILT TO &EXP
  66. GO TOP
  67. CLEAR
  68. SET FORM TO &FN
  69. EDIT
  70. CASE GN=2
  71. USE &FN
  72. SET INDE TO &NDX
  73. SET MENU ON
  74. BROW
  75. SET MENU OFF
  76. COUNT ALL FOR DELETE() TO DEL
  77. IF DEL#0
  78. PACK
  79. ENDIF
  80. CASE GN=3.OR. GN=4
  81. IF GN=4
  82. EXP='.T.'
  83. DO DBFEXP
  84. ENDIF
  85. USE DBD INDE DBD
  86. SET FILT TO F_NO=FNO
  87. GO TOP
  88. STOR 'Y' TO AA
  89. STT=''
  90. DO WHIL UPPE(AA)='Y'
  91. GO TOP
  92. CLEAR
  93. @ 1,0 SAY STT
  94. J=3
  95. I=1
  96. DO WHIL .NOT. EOF()
  97. @ J,(I-1)*15 SAY STR((J-3)*5+I,2)+"."+ TRIM(C_NAME)
  98. SKIP
  99. IF I=5
  100. I=0
  101. J=J+1
  102. ENDIF
  103. I=I+1
  104. ENDDO
  105. ROW=ROW()+2
  106. NUM=(J-1)*5+I-1
  107. N=0
  108. @ ROW()+1,1 SAY '╟δ╤í╘±╥¬╨▐╕─╡─╩²╛▌╧ε║┼ ' GET N PICT '99' RANG 1,NUM
  109. READ
  110. GO TOP
  111. SKIP N-1
  112. NAME=TRIM(FIELD_NAME)
  113. ZY='╓╡╙≥╬¬:'+TRIM(NOTE)
  114. DO CASE
  115. CASE FIELD_TYPE='N'
  116. CLEAR
  117. @ 0,0 SAY '╡▒╟░╨▐╕─╫╓╢╬:'+TRIM(C_NAME)+'__└α╨═:╩²╫╓╨═__│ñ╢╚:'+STR(FIELD_LEN,2)+' ╨í╩²╬╗:'+STR(FIELD_DEC,2)
  118. IF LEN(TRIM(NOTE))<>0
  119. @ 1,0 SAY ZY
  120. ENDIF
  121. SELE DBD
  122. SET FILT TO F_NO=FNO.AND.FIELD_TYPE='N'
  123. GO TOP
  124. I=1
  125. J=1
  126. DO WHILE .NOT.EOF()
  127. @ I+1,(J-1)*20 SAY STR((I-1)*5+J,2)+'.'+TRIM(FIELD_NAME)+'('+TRIM(C_NAME)+')'
  128. IF J=4
  129. I=I+1
  130. J=0
  131. ENDIF
  132. J=J+1
  133. SKIP
  134. ENDDO
  135. SET FILT TO F_NO=FNO
  136. NV=SPACE(60)
  137. ROW=ROW()+1
  138. DO WHILE .T.
  139. @ ROW,0 SAY '╟δ╩Σ╚δ╨▐╕─▒φ┤∩╩╜:' GET NV
  140. READ
  141. SELE 0
  142. USE &FN
  143. IF TYPE('&NV.')<>'N'
  144. @ ROW+1,0 SAY '╖╟╩²╓╡└α╨═▒φ┤∩╩╜!!!'
  145. USE
  146. LOOP
  147. ENDIF
  148. USE
  149. EXIT
  150. ENDDO
  151. SELE DBD
  152. STOR STT+NAME+ ' WITH &NV.' TO STT
  153. CASE FIELD_TYPE='C'
  154. @ ROW+1,1 SAY TRIM(C_NAME)+' └α╨═:╫╓╖√╨═ │ñ╢╚:'+STR(FIELD_LEN,3)
  155. @ ROW()+1,1 SAY ZY
  156. NV=SPACE(FIELD_LEN)
  157. @ ROW()+1,1 SAY '╟δ╩Σ╚δ╨▐╕─╓╡  ' GET NV
  158. READ
  159. STOR STT+NAME+ ' WITH "'+TRIM(NV)+'" ' TO STT
  160. CASE FIELD_TYPE='D'
  161. @ ROW+1,1 SAY TRIM(C_NAME)+'╕├╩²╛▌╧ε╬¬╚╒╞┌╨═ ,╞Σ╕±╩╜╬¬ MM/DD/YY ─Ω/╘┬/╚╒'
  162. @ ROW()+1,1 SAY ZY
  163. NV=DATE()
  164. @ ROW()+1,1 SAY '╟δ╩Σ╚δ╨▐╕─╓╡' GET NV
  165. READ
  166. STT=STT+NAME+' WITH CTOD("'+DTOC(NV)+'")'
  167. CASE FIELD_TYPE='L'
  168. @ ROW+1,1 SAY TRIM(C_NAME)+'╕├╩²╛▌╧ε╬¬┬▀╝¡╨═, ╞Σ╨╬╩╜╬¬ : .T. .F. '
  169. @ ROW()+1,1 SAY ZY
  170. NV=.T.
  171. @ ROW()+1,1 SAY '╟δ╩Σ╚δ╨▐╕─╓╡' GET NV
  172. READ
  173. IF NV
  174. STT=STT+NAME+' WITH .T.'
  175. ELSE
  176. STT=STT+NAME+' WITH .F.'
  177. ENDIF
  178. CASE FIELD_TYPE='M'
  179. ? '╕├╩²╛▌╧ε╬¬├≈╧╕╨═,╟δ╤í╘±╖╜╩╜(1)╨▐╕─'
  180. ? '╟├╚╬║╬╝ⁿ╘≥╝╠╨°'
  181. WAIT
  182. LOOP
  183. ENDCASE
  184. IF LEN(STT)>200
  185. ? '╠µ╗╗─┌╚▌╠½╢α!▒φ┤∩╩╜┐╔─▄│¼│ñ!!!'
  186. ENDIF
  187. YN=' '
  188. ACCE '╝╠╨°╤í╘±┬≡[Y/N]? ' TO AA
  189. IF UPPE(AA)='Y'
  190. STT=STT+','
  191. ENDIF
  192. ENDDO
  193. USE &FN
  194. SET INDE TO &NDX
  195. IF M->GN=3
  196. IF LEN(M->STT)+17>254
  197. WAIT '▒φ┤∩╩╜│¼│ñ! ┤╦┤╬╠µ╗╗╬▐╨º!!! ░┤╚╬╥Γ╝ⁿ╘≥╝╠╨°......'
  198. USE
  199. LOOP
  200. ENDIF
  201. REPL ALL &STT
  202. ELSE
  203. IF LEN(M->STT)+LEN(M->EXP)+22>254
  204. WAIT '▒φ┤∩╩╜│¼│ñ! ┤╦┤╬╠µ╗╗╬▐╨º!!! ░┤╚╬╥Γ╝ⁿ╘≥╝╠╨°......'
  205. USE
  206. LOOP
  207. ENDIF
  208. ? M->EXP
  209. REPL ALL FOR &EXP &STT
  210. ENDIF
  211. OTHE
  212. USE
  213. LOOP
  214. ENDC
  215. ENDD
  216. ** END OF DBR.PRG **
  217.