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

行业应用

开发平台:

VFP

  1. ********
  2. *define WINDOW   output FROM 0,0 TO 25,79 
  3. *ACTIVATE WINDOW output
  4. hide popup pop2
  5. hide popup pop2_4
  6. hide menu mainmenu
  7. set clock to 0,69 
  8. deactivate window win
  9. on key 
  10. set sysmenu off
  11. clos data
  12. set colo to w/n
  13. clea
  14. if file(wj)
  15.     use &wj
  16.   else
  17.    ! copy jqbbyjkb.dbf &wj >nul
  18.     use &wj
  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 xm
  72. @ 4+pd,36 say h
  73. if ncs<>0
  74. @ 4+pd,43 say ncs pict'999,999,999.99'
  75. endif
  76. if bns<>0
  77. @ 4+pd,63 say bns 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 xm
  93. @ 5,36 say h
  94. if ncs<>0
  95. @ 5,43 say ncs pict'999,999,999.99'
  96. else 
  97. @ 5,43 say '              '
  98. endif
  99. if bns<>0
  100. @ 5,63 say bns pict'999,999,999.99'
  101. else
  102. @ 5,63 say '              '
  103. endif
  104. pd=1
  105. zc1='XM'
  106. h='h'
  107. ncs1='ncs'
  108. nms1='bns'
  109. zy=0
  110. do whil .t.
  111. x=inkey(0)
  112. do case
  113. case x=1
  114. set colo to w/n
  115. @ 4+pd,2 say &zc1
  116. @ 4+pd,36 say &h
  117. if &ncs1<>0
  118. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  119. else
  120. @ 4+pd,42 say '               '
  121. endif
  122. if &nms1<>0
  123. @ 4+pd,62 say '              '
  124. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  125. else
  126. @ 4+pd,62 say '               '
  127. endif
  128. set colo to 2+/1
  129. 1
  130. pd=1
  131. @ 4+pd,2 say &zc1
  132. @ 4+pd,36 say &h
  133. if &ncs1<>0
  134. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  135. else
  136. @ 4+pd,43 say '              '
  137. endif
  138. if &nms1<>0
  139. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  140. else
  141. @ 4+pd,63 say '              '
  142. endif
  143. *endif
  144. case x=4
  145. * →
  146. if p<>2
  147. zy=1
  148. set colo to 2/
  149. @ 3,44 say '年初未交数'
  150. set colo to 6+/
  151. @ 3,63 say ' 本年应交数'
  152. else
  153. ?? chr(7)
  154. endif 
  155. case x=19
  156. *←
  157. if p<>2
  158. zy=0 
  159. set colo to 2/
  160. @ 3,63 say ' 本年应交数'
  161. set colo to 6+/
  162. @ 3,44 say '年初未交数'
  163. else
  164. ?? chr(7)
  165. endif
  166. case x=46 .or. x=45 .or. x>47 .and. x<58
  167. a1=.00
  168. if pp1<>' '   
  169. ?? chr(7)
  170. loop
  171. endif
  172. keyb chr(x)
  173. if zy=1
  174. @ 4+pd,62 say '' get a1 pict'@bz 9999999999.99' 
  175. read
  176. repl &nms1 with a1 
  177. else
  178. @ 4+pd,43 say '' get a1 pict'@bz 9999999999.99'
  179. read
  180. repl &ncs1 with a1
  181. endif
  182. xx=recn()
  183. pd2=pd
  184. *************************************
  185. sele 3
  186. use yjkbjs
  187. do jsgs
  188. sele 1
  189. ********************************************
  190. if ys1=ys
  191.     go (ys-1)*18
  192.   else
  193.     go (ys1)*18
  194.      skip -17
  195. endif
  196. pd=1 
  197. set colo to  w/n
  198. do whil .t.
  199. if pp1<>' ' .or. pp1=' ' 
  200. if &ncs1<>0
  201. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  202. else
  203. @ 4+pd,43 say '              '
  204. endif
  205. if &nms1<>0
  206. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  207. else
  208. @ 4+pd,63 say '              '
  209. endif
  210. endif
  211. if .not. eof()
  212. skip
  213. pd=pd+1
  214. else 
  215. exit
  216. endif
  217. if pd=19
  218. exit
  219. endif
  220. enddo
  221. go xx
  222. pd=pd2
  223. *****************
  224.  if pd=18 .or. eof()
  225.        ?? chr(7)
  226.      else
  227. set colo to w/n
  228. @ 4+pd,2 say &zc1
  229. @ 4+pd,36 say &h
  230. if &ncs1<>0
  231. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  232. else
  233. @ 4+pd,42 say '               '
  234. endif
  235. if &nms1<>0
  236. @ 4+pd,62 say '              '
  237. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  238. else
  239. @ 4+pd,62 say '               '
  240. endif
  241. set colo to 2+/1
  242.       skip 
  243.      pd=pd+1
  244. @ 4+pd,2 say &zc1
  245. @ 4+pd,36 say &h
  246. if &ncs1<>0
  247. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  248. else
  249. @ 4+pd,43 say '              '
  250. endif
  251. if &nms1<>0
  252. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  253. else
  254. @ 4+pd,63 say '              '
  255. endif
  256. endif
  257.   case x=5
  258.    if pd=1 .or. recn()=1
  259.      ?? chr(7)
  260.    else
  261. set colo to w/n
  262. @ 4+pd,2 say &zc1
  263. @ 4+pd,36 say &h
  264. if &ncs1<>0
  265. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  266. else
  267. @ 4+pd,43 say '              ' 
  268. endif
  269. if &nms1<>0
  270. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  271. else
  272. @ 4+pd,63 say '              '
  273. endif
  274. set colo to 2+/1
  275.    skip -1
  276.    pd=pd-1
  277. @ 4+pd,2 say &zc1
  278. @ 4+pd,36 say &h
  279. if &ncs1<>0
  280. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  281. else
  282. @ 4+pd,43 say '              '
  283. endif
  284. if &nms1<>0
  285. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  286. else
  287. @ 4+pd,63 say '              '
  288. endif
  289. endif
  290. case x=24 .or. x=13
  291.       if pd=18 .or. eof()
  292.        ?? chr(7)
  293.      else
  294. set colo to w/n
  295. @ 4+pd,2 say &zc1
  296. @ 4+pd,36 say &h
  297. if &ncs1<>0
  298. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  299. else
  300. @ 4+pd,43 say '              '
  301. endif
  302. if &nms1<>0
  303. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  304. else
  305. @ 4+pd,63 say '              '
  306. endif
  307. set colo to 2+/1
  308.       skip 
  309.      pd=pd+1
  310. @ 4+pd,2 say &zc1
  311. @ 4+pd,36 say &h
  312. if &ncs1<>0
  313. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  314. else
  315. @ 4+pd,43 say '              '
  316. endif
  317. if &nms1<>0
  318. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  319. else
  320. @ 4+pd,63 say '              '
  321. endif
  322. endif
  323. ****上页
  324. case x=18
  325. if ys1>1
  326. ys1=ys1-1
  327. go ys1*18
  328.  skip -17
  329. pd=1
  330. set colo to w/n
  331. @ 5,2 clea to 22,33
  332. @ 5,36 clea to 22,37
  333. @ 5,40 clea to 22,58
  334. @ 5,62 clea to 22,77
  335. do whil .t. 
  336. @ 4+pd,2 say &zc1
  337. @ 4+pd,36 say &h
  338. if &ncs1<>0
  339. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  340. else
  341. @ 4+pd,43 say '              '
  342. endif
  343. if &nms1<>0
  344. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  345. else
  346. @ 4+pd,63 say '              '
  347. endif
  348. if .not. eof()
  349. skip
  350. pd=pd+1
  351. else 
  352. exit
  353. endif
  354. if pd=19
  355. exit
  356. endif
  357. enddo
  358. skip -18
  359. set colo to 2+/1
  360. @ 5,2 say &zc1
  361. @ 5,36 say &h
  362. if &ncs1<>0
  363. @ 5,43 say &ncs1 pict'999,999,999.99'
  364. else
  365. @ 5,43 say '              '
  366. endif
  367. if &nms1<>0
  368. @ 5,63 say &nms1 pict'999,999,999.99'
  369. else 
  370. @ 5,63 say '              '
  371. endif
  372. pd=1
  373. else
  374. ?? chr(7)
  375. endif
  376. ***下页
  377. case x=3
  378. set colo to w/n
  379. if ys1<ys
  380.   ys1=ys1+1
  381.   go (ys1-1)*18+1
  382.   x=recn()
  383. pd=1
  384. set colo to w/n
  385. @ 5,2 clea to 22,33
  386. @ 5,36 clea to 22,37
  387. @ 5,40 clea to 22,58
  388. @ 5,62 clea to 22,77
  389. do whil .t. 
  390. @ 4+pd,2 say &zc1
  391. @ 4+pd,36 say &h
  392. if &ncs1<>0
  393. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  394. endif
  395. if &nms1<>0
  396. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  397. endif
  398. if .not. eof()
  399. skip
  400. pd=pd+1
  401. else 
  402. exit
  403. endif
  404. *pd=pd+1
  405. if pd=19
  406. exit
  407. endif
  408. enddo
  409. go x
  410. set colo to 2+/1
  411. @ 5,2 say &zc1
  412. @ 5,36 say &h
  413. if &ncs1<>0
  414. @ 5,43 say &ncs1 pict'999,999,999.99'
  415. else
  416. @ 5,43 say '              '
  417. endif
  418. if &nms1<>0
  419. @ 5,63 say &nms1 pict'999,999,999.99'
  420. else
  421. @ 5,63 say '              '
  422. endif
  423. pd=1
  424. else
  425. ?? chr(7)
  426. endif  
  427. ****左页
  428. case x=15
  429. if p=2
  430.  ncs1='ncs'
  431.  nms1='bns'
  432. set colo to w/n
  433.   go (ys1-1)*18+1
  434.   x=recn()
  435. pd=1
  436. set colo to 6+/
  437. @ 3,44 say  '年初未交数 '
  438. set colo to 2
  439. @ 3,63 say ' 本年应交数'
  440. set colo to w/n
  441. @ 5,2 clea to 22,33
  442. @ 5,36 clea to 22,37
  443. @ 5,40 clea to 22,58
  444. @ 5,62 clea to 22,77
  445. do whil .t. 
  446. @ 4+pd,2 say &zc1
  447. @ 4+pd,36 say &h
  448. if &ncs1<>0
  449. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  450. endif
  451. if &nms1<>0
  452. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  453. endif
  454. if .not. eof()
  455. skip
  456. pd=pd+1
  457. else 
  458. exit
  459. endif
  460. *pd=pd+1
  461. if pd=19
  462. exit
  463. endif
  464. enddo
  465. go x
  466. set colo to 2+/1
  467. @ 5,2 say &zc1
  468. @ 5,36 say &h
  469. if &ncs1<>0
  470. @ 5,43 say &ncs1 pict'999,999,999.99'
  471. else
  472. @ 5,43 say '              '
  473. endif
  474. if &nms1<>0
  475. @ 5,63 say &nms1 pict'999,999,999.99'
  476. else
  477. @ 5,63 say '              '
  478. endif
  479. pd=1
  480. p=1
  481. else
  482. ?? chr(7)
  483. endif
  484. ****右页
  485. case x=9
  486. if p=1
  487. set colo to w/n
  488.   go (ys1-1)*18+1
  489.   x=recn()
  490. pd=1
  491. zy=0
  492. ncs1='bnyj'
  493. nms1='nms'
  494. set colo to 6+/
  495. @ 3,44 say '本年已交数'
  496. set colo to 2
  497. @ 3,63 say ' 年末未交数 '
  498. set colo to  w/n
  499. @ 5,2 clea to 22,33
  500. @ 5,36 clea to 22,37
  501. @ 5,40 clea to 22,58
  502. @ 5,62 clea to 22,77
  503. do whil .t. 
  504. @ 4+pd,2 say &zc1
  505. @ 4+pd,36 say &h
  506. if &ncs1<>0
  507. @ 4+pd,43 say &ncs1 pict'999,999,999.99'
  508. endif
  509. if &nms1<>0
  510. @ 4+pd,63 say &nms1 pict'999,999,999.99'
  511. endif
  512. if .not. eof()
  513. skip
  514. pd=pd+1
  515. else 
  516. exit
  517. endif
  518. *pd=pd+1
  519. if pd=19
  520. exit
  521. endif
  522. enddo
  523. go x
  524. set colo to 2+/1
  525. @ 5,2 say &zc1
  526. @ 5,36 say &h
  527. if &ncs1<>0
  528. @ 5,43 say &ncs1 pict'999,999,999.99'
  529. else
  530. @ 5,43 say '              '
  531. endif
  532. if &nms1<>0
  533. @ 5,63 say &nms1 pict'999,999,999.99'
  534. else
  535. @ 5,63 say '              '
  536. endif
  537. pd=1
  538. p=2
  539. else
  540. ?? chr(7)
  541. endif  
  542. case x=27
  543. exit
  544. othe
  545. ?? chr(7)
  546. endcase
  547. enddo
  548. clos data
  549. set colo to w+/1
  550. *set colo of scheme 3 to w+/1
  551. @ 0,0,23,79 box '北北北北' colo scheme 3
  552. set colo to w+/n
  553. @ 1,1,22,78 box '鞍鞍鞍鞍鞍' colo scheme 1
  554. @ 23,28 say "当前数据的月份:"+str(Ryear,4,0)+"年"+str(Ryf,2,0)+"月" colo 1+/3
  555. @ 24,0 say ' JQ001汇总报表系统(Ver1.0)  黄朝生研制  版权所有  南宁市建政路51号  邮编:530023 ' colo 4/w  
  556. set clock to 23,69
  557. on key label Escape do Rquit
  558. retu