BCBHZCX.PRG
上传用户:xue7720
上传日期:2013-01-31
资源大小:1240k
文件大小:8k
源码类别:

行业应用

开发平台:

VFP

  1. *define WINDOW   output FROM 0,0 TO 25,79 
  2. *ACTIVATE WINDOW output
  3. hide popup pop5
  4. hide popup pop2_3
  5. hide menu mainmenu
  6. set clock to 0,69 
  7. deactivate window win
  8. on key 
  9. set sysmenu off
  10. clos data
  11. *
  12. set colo to w/n
  13. clea
  14. if file('bcmxbhz.dbf')
  15.    use bcmxbhz
  16.   else
  17.    ! copy jqbbbcmxb.dbf bcmxbhz.dbf >nul
  18.     use bcmxbhz
  19.   endif
  20. p=1
  21. ********
  22. set colo to 6/
  23. @ 1,0 say '广西盐业公司'
  24. @ 1,67 say 'JQ财务系统'
  25. set colo to 2/
  26. ** 作为通用子程序时,下面应为@ 0,25 say &hh=' 科目汇总表等'
  27. @ 0,25 say '补 充 资 料 明 细 表'
  28. @ 2,0 say '┏━━━━━━━━━━━━━━━━┯━┯━━━━━━━━━━┯━━━━━━━━┓'
  29. @ 3,0 say '┃'
  30. @ 3,5 say '        项         目 '
  31. @ 3,34 say '│'          
  32. @ 3,36 say '行'
  33. @ 3,38 say '│'
  34. set colo to 6+/
  35. @ 3,44 say '本  月   数'
  36. set colo to 2/
  37. @ 3,60 say'│'
  38. @ 3,63 say ' 累  计   数'
  39. @ 3,78 say '┃'
  40. *
  41. @ 4,0 say '┠────────────────┼─┼──────────┼────────┨'
  42. pd=4
  43. do whil pd<23
  44. i=pd+1
  45. @ i,0 say '┃'
  46. @ i,34 say '│'
  47. @ i,38 say '│'
  48. @ i,60 say'│'
  49. @ i,78 say '┃'
  50. pd=pd+1
  51. enddo
  52. @ 23,0 say '┗━━━━━━━━━━━━━━━━┷━┷━━━━━━━━━━┷━━━━━━━━┛'
  53. set colo to 1/6
  54. @ 24,0 say '← 左栏:→右栏:|←左页:→|右页:↑上笔 :↓下笔 : PgUp 上页 : PgDn 下页 : Esc 退出'
  55. set colo to w/n
  56. ************
  57. go bott
  58. pd=recn()
  59. pd=pd/16
  60. pd1=int(pd)
  61. ys=pd-pd1
  62. if ys=0
  63.    ys=pd1
  64.   else
  65.   ys=pd1+1
  66. endif
  67. go top
  68. pd=1
  69. ys1=1
  70. do whil .t. 
  71. @ 4+pd,2 say xm1
  72. @ 4+pd,36 say h1
  73. if bys1<>0
  74. @ 4+pd,43 say bys1 pict'999,999,999.99'
  75. endif
  76. if ljs1<>0
  77. @ 4+pd,63 say ljs1 pict'999,999,999.99'
  78. endif
  79. if .not. eof()
  80. skip
  81. pd=pd+1
  82. else 
  83. exit
  84. endif
  85. *pd=pd+1
  86. if pd=19
  87. exit
  88. endif
  89. enddo
  90. 1
  91. set colo to 2+/1
  92. @5,2 say xm1
  93. @ 5,36 say h1
  94. if bys1<>0
  95. @ 5,43 say bys1 pict'999,999,999.99'
  96. else 
  97. @ 5,43 say '              '
  98. endif
  99. if ljs1<>0
  100. @ 5,63 say ljs1 pict'999,999,999.99'
  101. else
  102. @ 5,63 say '              '
  103. endif
  104. pd=1
  105. xm='xm1'
  106. h='h1'
  107. bys='bys1'
  108. ljs='ljs1'
  109. zy=0
  110. do whil .t.
  111. x=inkey(0)
  112. do case
  113. case x=4
  114. zy=1
  115. set colo to 2/
  116. @ 3,44 say '本  月   数'
  117. set colo to 6+/
  118. @ 3,63 say ' 累  计   数'
  119. case x=19
  120. zy=0
  121. set colo to 2/
  122. @ 3,63 say ' 累  计   数'
  123. set colo to  6+/
  124. @ 3,44 say '本  月   数'
  125. case x=46 .or. x=45 .or. x>47 .and. x<58
  126. a1=.00
  127. if pp1<>' ' .and. p=1 .or. p=2 .and. pp2<>' ' .or. eof() 
  128. ?? chr(7)
  129. loop
  130. endif
  131. keyb chr(x)
  132. set colo to 6+
  133. if zy=0
  134. @ 4+pd,43 say &bys pict'@bz 999,999,999.99'
  135. else
  136. @ 4+pd,63 say &ljs pict'@bz 999,999,999.99'
  137. endif
  138. @ 1,35 say '' get a1 pict'@bz 999,999,999.99' 
  139. read 
  140. @ 1,34 say '                 '
  141. if zy=0
  142. repl &bys with a1
  143. else
  144. repl &ljs with a1
  145. endif
  146. ***********
  147. pd3=recn()
  148. pd2=pd
  149. ***************
  150. sele 3
  151. use bcmxbjs
  152. do jsgs
  153. sele 1
  154. ***************
  155. if ys1=ys
  156.   go (ys1-1)*18+1
  157. else
  158. go ys1*18
  159.  skip -17
  160. endif
  161. pd=1
  162. set colo to w/n
  163. do whil .t. 
  164. *@ 4+pd,2 say &xm
  165. *@ 4+pd,36 say &h
  166. if &bys<>0
  167. @ 4+pd,43 say &bys pict'999,999,999.99'
  168. else
  169. @ 4+pd,43 say '              '
  170. endif
  171. if &ljs<>0
  172. @ 4+pd,63 say &ljs pict'999,999,999.99'
  173. else
  174. @ 4+pd,63 say '              '
  175. endif
  176. if .not. eof()
  177. skip
  178. pd=pd+1
  179. else 
  180. exit
  181. endif
  182. if pd=19
  183. exit
  184. endif
  185. enddo
  186. skip -18
  187. pd=pd2
  188. go pd3
  189.  if pd=18 .or. eof()
  190.        ?? chr(7)
  191.      else
  192. set colo to w/n
  193. @ 4+pd,2 say &xm
  194. @ 4+pd,36 say &h
  195. if &bys<>0
  196. @ 4+pd,43 say '               '
  197. @ 4+pd,43 say &bys pict'999,999,999.99'
  198. else
  199. @ 4+pd,43 say '               '
  200. endif
  201. if &ljs<>0
  202. @ 4+pd,63 say '               '
  203. @ 4+pd,63 say &ljs pict'999,999,999.99'
  204. else
  205. @ 4+pd,63 say '               '
  206. endif
  207. set colo to 2+/1
  208.       skip 
  209.      pd=pd+1
  210. @ 4+pd,2 say &xm
  211. @ 4+pd,36 say &h
  212. if &bys<>0
  213. @ 4+pd,43 say &bys pict'999,999,999.99'
  214. else
  215. @ 4+pd,43 say '            '
  216. endif
  217. if &ljs<>0
  218. @ 4+pd,63 say &ljs pict'999,999,999.99'
  219. else
  220. @ 4+pd,63 say '             '
  221. endif
  222. endif
  223.   case x=5
  224.    if pd=1 .or. recn()=1
  225.      ?? chr(7)
  226.    else
  227. set colo to w/n
  228. @ 4+pd,2 say &xm
  229. @ 4+pd,36 say &h
  230. if &bys<>0
  231. @ 4+pd,43 say &bys pict'999,999,999.99'
  232. else
  233. @ 4+pd,43 say '              ' 
  234. endif
  235. if &ljs<>0
  236. @ 4+pd,63 say &ljs pict'999,999,999.99'
  237. else
  238. @ 4+pd,63 say '              '
  239. endif
  240. set colo to 2+/1
  241.    skip -1
  242.    pd=pd-1
  243. @ 4+pd,2 say &xm
  244. @ 4+pd,36 say &h
  245. if &bys<>0
  246. @ 4+pd,43 say &bys pict'999,999,999.99'
  247. else
  248. @ 4+pd,43 say '              '
  249. endif
  250. if &ljs<>0
  251. @ 4+pd,63 say &ljs pict'999,999,999.99'
  252. else
  253. @ 4+pd,63 say '              '
  254. endif
  255. endif
  256. case x=24 .or. x=13
  257.       if pd=18 .or. eof()
  258.        ?? chr(7)
  259.      else
  260. set colo to w/n
  261. @ 4+pd,2 say &xm
  262. @ 4+pd,36 say &h
  263. if &bys<>0
  264. @ 4+pd,43 say &bys pict'999,999,999.99'
  265. else
  266. @ 4+pd,43 say '              '
  267. endif
  268. if &ljs<>0
  269. @ 4+pd,63 say &ljs pict'999,999,999.99'
  270. else
  271. @ 4+pd,63 say '              '
  272. endif
  273. set colo to 2+/1
  274.       skip 
  275.      pd=pd+1
  276. @ 4+pd,2 say &xm
  277. @ 4+pd,36 say &h
  278. if &bys<>0
  279. @ 4+pd,43 say &bys pict'999,999,999.99'
  280. else
  281. @ 4+pd,43 say '              '
  282. endif
  283. if &ljs<>0
  284. @ 4+pd,63 say &ljs pict'999,999,999.99'
  285. else
  286. @ 4+pd,63 say '              '
  287. endif
  288. endif
  289. ****上页
  290. case x=18
  291. if ys1>1
  292. ys1=ys1-1
  293. go ys1*18
  294.  skip -17
  295. pd=1
  296. set colo to w/n
  297. @ 5,2 clea to 22,33
  298. @ 5,36 clea to 22,37
  299. @ 5,40 clea to 22,58
  300. @ 5,63 clea to 22,77
  301. do whil .t. 
  302. @ 4+pd,2 say &xm
  303. @ 4+pd,36 say &h
  304. if &bys<>0
  305. @ 4+pd,43 say &bys pict'999,999,999.99'
  306. else
  307. @ 4+pd,43 say '              '
  308. endif
  309. if &ljs<>0
  310. @ 4+pd,63 say &ljs pict'999,999,999.99'
  311. else
  312. @ 4+pd,63 say '              '
  313. endif
  314. if .not. eof()
  315. skip
  316. pd=pd+1
  317. else 
  318. exit
  319. endif
  320. if pd=19
  321. exit
  322. endif
  323. enddo
  324. skip -18
  325. set colo to 2+/1
  326. @ 5,2 say &xm
  327. @ 5,36 say &h
  328. if &bys<>0
  329. @ 5,43 say &bys pict'999,999,999.99'
  330. else
  331. @ 5,43 say '              '
  332. endif
  333. if &ljs<>0
  334. @ 5,63 say &ljs pict'999,999,999.99'
  335. else 
  336. @ 5,63 say '              '
  337. endif
  338. pd=1
  339. else
  340. ?? chr(7)
  341. endif
  342. ***下页
  343. case x=3
  344. if ys1<ys
  345.   ys1=ys1+1
  346.   go (ys1-1)*18+1
  347.   x=recn()
  348. pd=1
  349. set colo to w/n
  350. @ 5,2 clea to 22,33
  351. @ 5,36 clea to 22,37
  352. @ 5,40 clea to 22,58
  353. @ 5,62 clea to 22,77
  354. do whil .t. 
  355. @ 4+pd,2 say &xm
  356. @ 4+pd,36 say &h
  357. if &bys<>0
  358. @ 4+pd,43 say &bys pict'999,999,999.99'
  359. endif
  360. if &ljs<>0
  361. @ 4+pd,63 say &ljs pict'999,999,999.99'
  362. endif
  363. if .not. eof()
  364. skip
  365. pd=pd+1
  366. else 
  367. exit
  368. endif
  369. *pd=pd+1
  370. if pd=19
  371. exit
  372. endif
  373. enddo
  374. go x
  375. set colo to 2+/1
  376. @ 5,2 say &xm
  377. @ 5,36 say &h
  378. if &bys<>0
  379. @ 5,43 say &bys pict'999,999,999.99'
  380. else
  381. @ 5,43 say '              '
  382. endif
  383. if &ljs<>0
  384. @ 5,63 say &ljs pict'999,999,999.99'
  385. else
  386. @ 5,63 say '              '
  387. endif
  388. pd=1
  389. else
  390. ?? chr(7)
  391. endif  
  392. ****左页
  393. case x=15
  394. if p=2
  395.  xm='xm1'
  396.  h='h1'
  397.  bys='bys1'
  398.  ljs='ljs1'
  399. set colo to w/n
  400.   go (ys1-1)*18+1
  401.   x=recn()
  402. pd=1
  403. set colo to 2
  404. *@ 3,5 say  '       资       产        '
  405. set colo to w/n
  406. @ 5,2 clea to 22,33
  407. @ 5,36 clea to 22,37
  408. @ 5,40 clea to 22,58
  409. @ 5,62 clea to 22,77
  410. do whil .t. 
  411. @ 4+pd,2 say &xm
  412. @ 4+pd,36 say &h
  413. if &bys<>0
  414. @ 4+pd,43 say &bys pict'999,999,999.99'
  415. endif
  416. if &ljs<>0
  417. @ 4+pd,63 say &ljs pict'999,999,999.99'
  418. endif
  419. if .not. eof()
  420. skip
  421. pd=pd+1
  422. else 
  423. exit
  424. endif
  425. *pd=pd+1
  426. if pd=19
  427. exit
  428. endif
  429. enddo
  430. go x
  431. set colo to 2+/1
  432. @ 5,2 say &xm
  433. @ 5,36 say &h
  434. if &bys<>0
  435. @ 5,43 say &bys pict'999,999,999.99'
  436. else
  437. @ 5,43 say '              '
  438. endif
  439. if &ljs<>0
  440. @ 5,63 say &ljs pict'999,999,999.99'
  441. else
  442. @ 5,63 say '              '
  443. endif
  444. pd=1
  445. p=1
  446. else
  447. ?? chr(7)
  448. endif
  449. ****右页
  450. case x=9
  451. if p=1
  452. set colo to w/n
  453.   go (ys1-1)*18+1
  454.   x=recn()
  455. pd=1
  456. xm='xm2'
  457. h='h2'
  458. bys='bys2'
  459. ljs='ljs2'
  460. *et colo to 2
  461. * 3,5 say '  负债及所有者权益   '
  462. set colo to w/n
  463. @ 5,2 clea to 22,33
  464. @ 5,36 clea to 22,37
  465. @ 5,40 clea to 22,58
  466. @ 5,62 clea to 22,77
  467. do whil .t. 
  468. @ 4+pd,2 say &xm
  469. @ 4+pd,36 say &h
  470. if &bys<>0
  471. @ 4+pd,43 say &bys pict'999,999,999.99'
  472. endif
  473. if &ljs<>0
  474. @ 4+pd,63 say &ljs pict'999,999,999.99'
  475. endif
  476. if .not. eof()
  477. skip
  478. pd=pd+1
  479. else 
  480. exit
  481. endif
  482. *pd=pd+1
  483. if pd=19
  484. exit
  485. endif
  486. enddo
  487. go x
  488. set colo to 2+/1
  489. @ 5,2 say &xm 
  490. @ 5,36 say &h
  491. if &bys<>0
  492. @ 5,43 say &bys pict'999,999,999.99'
  493. else
  494. @ 5,43 say '              '
  495. endif
  496. if &ljs<>0
  497. @ 5,63 say &ljs pict'999,999,999.99'
  498. else
  499. @ 5,63 say '              '
  500. endif
  501. pd=1
  502. p=2
  503. else
  504. ?? chr(7)
  505. endif  
  506. case x=27
  507. exit
  508. othe
  509. ?? chr(7)
  510. endcase
  511. enddo
  512. clos data
  513. set colo to w+/1
  514. *set colo of scheme 3 to w+/1
  515. @ 0,0,23,79 box '北北北北' colo scheme 3
  516. set colo to w+/n
  517. @ 1,1,22,78 box '鞍鞍鞍鞍鞍' colo scheme 1
  518. @ 23,28 say "当前数据的月份:"+str(Ryear,4,0)+"年"+str(Ryf,2,0)+"月" colo 1+/3
  519. @ 24,0 say ' JQ001汇总报表系统(Ver1.0)  黄朝生研制  版权所有  南宁市建政路51号  邮编:530023 ' colo 4/w  
  520. set clock to 23,69
  521. on key label Escape do Rquit
  522. retu