home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / b / b077 / 1.img / SBGL.ZIP / JKZ1.PRG < prev    next >
Encoding:
Text File  |  1979-12-31  |  8.5 KB  |  510 lines

  1. set talk off
  2. set device to screen 
  3. clear
  4. STORE 'Y' TO C
  5. STORE '         ' TO SB1J
  6. STORE '        ' TO SB11R
  7. STORE '        ' TO SB12R
  8. STORE '        ' TO SB10R
  9. STORE '  ' TO SB24R
  10. STORE '  ' TO SB28R
  11. *USE SM
  12. *GOTO BOTT
  13. STORE '          ' TO SM2J
  14. STORE '          ' TO SM3J
  15. STORE '          ' TO SM4J
  16. STORE '          ' TO SM5J
  17. USE SB INDEX SB1
  18. DO WHILE .NOT. C='N'
  19. APPEND BLANK
  20. CLEAR
  21. STORE 'N' TO CD
  22. DO WHILE CD='N'
  23. CLEAR
  24. @ 0,8 SAY '╔Φ▒╕▒α║┼' GET SB1J
  25. @ 0,40 SAY '╣ñ╥╡╞╒▓Θ║┼' GET SB2
  26. @ 1,8  SAY '╔Φ▒╕├√│╞' GET SB3
  27. @ 1,40 SAY '╨═║┼' GET SB4
  28. @ 2,8  SAY '╣µ╕±' GET SB5
  29. @ 2,40 SAY '╓╪┴┐' GET SB6
  30. @ 3,8 SAY '═Γ╨╬│▀┤τ' GET SB7
  31. @ 3,40 SAY '╓╞╘∞│º' GET SB8
  32. @ 4,8  SAY '╓╞╘∞║┼' GET SB9
  33. @ 4,40 SAY '│÷│º╚╒╞┌' GET SB10R PICT '99.99.99'
  34. @ 5,8  SAY '╚δ┐Γ╚╒╞┌' GET SB11R PICT '99.99.99'
  35. @ 5,40 SAY '╞⌠╙├╚╒╞┌' GET SB12R PICT '99.99.99'
  36. @ 6,8  SAY '╗·F' GET SB13
  37. @ 6,40 SAY '╡τF' GET SB14
  38. @ 7,8  SAY '╡≈╤╨╖╤' GET SM2J PICT '#######.##'
  39. @ 7,40  SAY '╔Φ╝╞╖╤' GET SM3J PICT "#######.##"
  40. @ 8,8  SAY '╣║╓├(╓╞╘∞)╖╤' GET SM4J PICT "#######.##"
  41. @ 8,40 SAY '░▓╫░╡≈╩╘╖╤' GET SM5J PICT "#######.##"
  42. @ 9,8  SAY '╒█╛╔─Ω╧▐' GET SB16
  43. @ 9,40 SAY '╡τ╗·╩²┴┐' GET SB20
  44. READ
  45. CLEAR
  46. @ 0,8  SAY '╓≈╡τ╗·╚▌┴┐' GET SB21
  47. @ 0,40 SAY '╫▄╣ª┬╩' GET SB22
  48. @ 1,8  SAY '╓≈╢»┴ª╘┤' GET SB23
  49. @ 1,40 SAY '╛╗▓╨╓╡┬╩' GET SB26
  50. @ 2,8  SAY '░▓╫░╡╪╡π' GET SB29
  51. READ
  52. STORE SUBS(SB10R,4,2) TO SB10R1
  53. STORE SUBS(SB10R,7,2) TO SB10R2
  54. STORE SUBS(SB10R,1,2) TO SB10R3
  55. STORE SB10R1+'/'+SB10R2+'/'+SB10R3 TO SB10R4
  56. STORE CTOD(SB10R4) TO SB10R5
  57. REPL SB10 WITH SB10R5
  58. STORE SUBS(SB11R,1,2) TO BS1
  59. STORE SUBS(SB11R,4,2) TO BS2
  60. STORE SUBS(SB11R,7,2) TO BS3
  61. STORE BS2+'/'+BS3+'/'+BS1 TO BS4
  62. STORE CTOD(BS4) TO BS5
  63. REPL SB11 WITH BS5
  64. STORE SUBS(SB12R,1,2) TO BS6
  65. STORE SUBS(SB12R,4,2) TO BS7
  66. STORE SUBS(SB12R,7,2) TO BS8
  67. STORE BS7+'/'+BS8+'/'+BS6 TO BS9
  68. STORE CTOD(BS9) TO BS10
  69. REPL SB12 WITH BS10
  70. @ 9,30 SAY '╩Σ╚δ╒²╚╖┬≡?(Y/N)' GET CD
  71. READ
  72. ENDDO
  73. CLEAR
  74. STORE 'N' TO CD
  75. DO WHILE CD='N'
  76. @ 1,5 SAY '╔Φ▒╕└α╩⌠║┼' GET SB24
  77. READ
  78. IF SUBS(SB24,1,1)='H'
  79. USE LS
  80. @ 2,30 CLEAR
  81. STORE 'N' TO B
  82. STORE 1 TO M
  83. DO WHILE .NOT. EOF().AND.B='N'
  84. STORE 2 TO N
  85. STORE 1 TO P
  86. DO WHILE N<=6.AND.(.NOT.EOF())
  87. @ N,30 SAY '('+STR(P,1)+')'
  88. @ N,35 SAY '└α╩⌠┤·║┼  '+LS1
  89. @ N,50 SAY '└α╩⌠├√│╞  '+LS2
  90. STORE P+1 TO P
  91. @ N+1,30 CLEAR
  92. SKIP
  93. STORE N+1 TO N
  94. ENDDO
  95. SET CONS OFF
  96. WAIT ' ' TO B1
  97. SET CONS ON
  98. IF B1=','
  99. STORE M-1 TO M
  100. IF M>0
  101. SKIP -5*2
  102. ELSE
  103. SKIP -6
  104. STORE M+1 TO M
  105. ENDIF
  106. STORE 'N' TO B
  107. ELSE
  108. IF B1='1'
  109. SKIP -5
  110. STORE LS1 TO Q
  111. USE SB
  112. GOTO BOTT
  113. REPL SB24 WITH Q
  114. STORE 'Y' TO B
  115. ELSE
  116. IF B1='2'
  117. SKIP -4
  118. STORE LS1 TO Q
  119. USE SB index sb1
  120. GOTO BOTT
  121. REPL SB24 WITH Q
  122. STORE 'Y' TO B
  123. ELSE
  124. IF B1='3'
  125. SKIP -3
  126. STORE LS1 TO Q
  127. USE SB index sb1
  128. GO BOTT
  129. REPL SB24 WITH Q
  130. STORE 'Y' TO B
  131. ELSE 
  132. IF B1='4'
  133. SKIP -2
  134. STORE LS1 TO Q
  135. USE SB index sb1
  136. GO BOTT
  137. REPL SB24 WITH Q
  138. STORE 'Y' TO B
  139. ELSE
  140. IF B1='5'
  141. SKIP -1
  142. STORE LS1 TO Q
  143. USE SB index sb1
  144. GOTO BOTT
  145. REPL SB24 WITH Q
  146. STORE 'Y' TO B
  147. ELSE
  148. IF B1='.'
  149. IF EOF()
  150. SKIP -1
  151. ENDIF
  152. STORE 'N' TO B
  153. STORE M+1 TO M
  154. ELSE
  155. IF B1='R'
  156. STORE 'Y' TO B
  157. ELSE
  158. ? CHR(7)
  159. SKIP -5
  160. STORE 'N' TO B
  161. ENDIF
  162. ENDIF
  163. ENDIF
  164. ENDIF
  165. ENDIF
  166. ENDIF
  167. ENDIF
  168. ENDIF
  169. ENDDO
  170. @ 2,30 CLEAR
  171. USE SB index sb1
  172. GOTO BOTT
  173. @ 1,5 SAY '╔Φ▒╕└α╩⌠║┼' GET SB24
  174. ENDIF
  175. @ 2,5 SAY '╣▄╩⌠║┼' GET SB25
  176. READ
  177. IF SUBS(SB25,1,1)="H"
  178. USE GS
  179. @ 2,30 CLEAR
  180. STORE 'N' TO B
  181. STORE 1 TO M
  182. DO WHILE .NOT. EOF().AND.B='N'
  183. STORE 2 TO N
  184. STORE 1 TO P
  185. DO WHILE N<=6.AND.(.NOT.EOF())
  186. @ N,30 SAY '('+STR(P,1)+')'
  187. @ N,35 SAY '╣▄╩⌠┤·┬δ  '+GS1
  188. @ N,50 SAY '╣▄╩⌠├√│╞  '+GS2
  189. STORE P+1 TO P
  190. @ N+1,30 CLEAR
  191. SKIP
  192. STORE N+1 TO N
  193. ENDDO
  194. SET CONS OFF
  195. WAIT ' ' TO B1
  196. SET CONS ON
  197. IF B1=','
  198. STORE M-1 TO M
  199. IF M>0
  200. SKIP -5*2
  201. ELSE
  202. SKIP -6
  203. STORE M+1 TO M
  204. ENDIF
  205. STORE 'N' TO B
  206. ELSE
  207. IF B1='1'
  208. SKIP -5
  209. STORE GS1 TO Q
  210. USE SB index sb1
  211. GO BOTT
  212. REPL SB25 WITH Q
  213. STORE 'Y' TO B
  214. ELSE
  215. IF B1='2'
  216. SKIP -4
  217. STORE GS1 TO Q
  218. USE SB index sb1
  219. GOTO BOTT
  220. REPLA SB25 WITH Q
  221. STORE 'Y' TO B
  222. IF B1='3'
  223. SKIP -3
  224. STORE GS1 TO Q
  225. USE SB index sb1
  226. GOTO BOTT
  227. REPL SB25 WITH Q
  228. ELSE
  229. IF B1='4'
  230. SKIP -2
  231. STORE GS1 TO Q
  232. USE SB index sb1
  233. GOTO BOTT
  234. REPL SB25 WITH Q
  235. STORE 'Y' TO B
  236. ELSE
  237. IF B1='5'
  238. SKIP -1
  239. STORE GS1 TO Q
  240. USE SB index sb1
  241. GOTO BOTT
  242. REPL SB25 WITH Q
  243. STORE 'Y' TO B
  244. ELSE
  245. IF B1='.'
  246. IF EOF()
  247. SKIP -1
  248. ENDIF
  249. STORE 'N' TO B
  250. STORE M+1 TO M
  251. ELSE
  252. IF B1='R'
  253. STORE 'Y' TO B
  254. ELSE
  255. ? CHR(7)
  256. SKIP -5
  257. STORE 'N' TO B
  258. ENDIF
  259. ENDIF
  260. ENDIF
  261. ENDIF
  262. ENDIF
  263. ENDIF
  264. ENDIF 
  265. ENDIF
  266. ENDDO
  267. @ 3,30 CLEAR
  268. USE SB index sb1
  269. GOTO BOTT
  270. @ 3,5 SAY '╣▄╩⌠║┼' GET SB25
  271. ENDIF
  272. @ 3,5 SAY '╓╪╥¬│╠╢╚' GET SB27
  273. @ 4,5 SAY '╩╣╙├╡Ñ╬╗▒α║┼' GET SB28
  274. READ
  275. IF SUBS(SB28,1,1)='H'
  276. USE DW
  277. @ 2,30 CLEAR
  278. STORE 'N' TO B
  279. STORE 1 TO M
  280. DO WHILE .NOT. EOF().AND.B='N'
  281. STORE 2 TO N
  282. STORE 1 TO P
  283. DO WHILE N<=6.AND.(.NOT.EOF())
  284. @ N,30 SAY '('+STR(P,1)+')'
  285. @ N,36 SAY '╡Ñ╬╗┤·┬δ  '+DW1
  286. @ N,52 SAY '╡Ñ╬╗├√│╞  '+DW2
  287. STORE P+1 TO P
  288. @ N+1 ,30 CLEAR
  289. SKIP
  290. STORE N+1 TO N
  291. ENDDO
  292. SET CONS OFF
  293. WAIT ' ' TO B1
  294. SET CONS ON
  295. IF B1=','
  296. STORE M-1 TO M
  297. IF M>0
  298. SKIP -5*2
  299. ELSE
  300. SKIP -6
  301. STORE M+1 TO M
  302. ENDIF
  303. STORE 'N' TO B
  304. ELSE
  305. IF B1='1'
  306. SKIP -5
  307. STORE DW1 TO Q
  308. USE SB index sb1
  309. GO BOTT
  310. REPL SB28 WITH Q
  311. STORE 'Y' TO B
  312. ELSE
  313. IF B1='2'
  314. SKIP -4
  315. STORE DW1 TO Q
  316. USE SB index sb1
  317. GO BOTT
  318. REPL SB28 WITH Q
  319. STORE 'Y' TO B
  320. ELSE
  321. IF B1='3'
  322. SKIP -3
  323. STORE DW1 TO Q
  324. USE SB index sb1
  325. GO BOTT
  326. REPL SB28 WITH Q
  327. STORE 'Y' TO B
  328. ELSE
  329. IF B1='4'
  330. SKIP -2
  331. STORE DW1 TO Q
  332. USE SB index sb1
  333. GO BOTT
  334. REPL SB28 WITH Q
  335. STORE 'Y' TO B
  336. ELSE
  337. IF B1='5'
  338. SKIP -1
  339. STORE DW1 TO Q
  340. USE SB index sb1
  341. GOTO BOTT
  342. REPL SB28 WITH Q
  343. STORE 'Y' TO B
  344. ELSE
  345. IF B1='.'
  346. IF EOF()
  347. SKIP -1
  348. ENDIF
  349. STORE 'N' TO B
  350. STORE M+1 TO M
  351. ELSE
  352. IF B1='R'
  353. STORE 'Y' TO B
  354. ELSE
  355. ? CHR(7)
  356. SKIP -5
  357. STORE 'N' TO B
  358. ENDIF
  359. ENDIF
  360. ENDIF
  361. ENDIF
  362. ENDIF
  363. ENDIF
  364. ENDIF
  365. ENDIF
  366. ENDDO
  367. @ 1,30 CLEAR
  368. USE SB index sb1
  369. GOTO BOTT
  370. @ 4,5 SAY '╩╣╙├╡Ñ╬╗▒α║┼' GET SB28
  371. ENDIF
  372. @ 1,25 CLEAR
  373. @ 1,25 SAY '╛▓├▄╖Γ╡π╩²' GET SB35
  374. @ 1,50 SAY '╢»├▄╖Γ╡π╩²' GET SB36
  375. @ 2,25 SAY '╧╨╓├╖±(X)' GET SB31
  376. READ
  377. @ 7,25 SAY '╩Σ╚δ╒²╚╖┬≡?(Y/N)' GET CD
  378. READ
  379. STORE UPPE(CD) TO CD
  380. ENDDO
  381. STORE VAL(SM2J) TO SM2R
  382. STORE VAL(SM3J) TO SM3R
  383. SM4R=VAL(SM4J)
  384. STORE VAL(SM5J) TO SM5R
  385. STORE SM2R+SM3R+SM4R+SM5R TO SB15J
  386. REPL SB15 WITH SB15J
  387. REPL SB1 WITH SB1J
  388. STORE DTOC(SB12) TO SB12R1
  389. STORE SUBS(SB12R1,7,2) TO SB12R2
  390. STORE SUBS(SB12R1,1,2) TO SB12R3
  391. STORE 12-VAL(SB12R3) TO SB12R4
  392. IF VAL(SB12R2)<87
  393. STORE SB15*0.042*(86-VAL(SB12R2)+0.5)+SB15*0.5*(1-SB26)/SB16 TO SB18R1
  394. STORE SB15*0.042*SB12R4*1/12 TO SB18R2
  395. REPL SB18 WITH SB18R1+SB18R2
  396. REPL SB17 WITH (SB15-SB18)
  397. ENDIF
  398. IF VAL(SB12R2)=87
  399. IF SB12R4>6
  400. STORE SB15*0.042*(SB12R4-6)*1/12 TO SB18R1
  401. STORE SB15*(1-SB26)/SB16*6*1/12 TO SB18R2
  402. REPL SB18 WITH SB18R1+SB18R2
  403. REPL SB17 WITH SB15-SB18
  404. ELSE 
  405. STORE SB15*(1-SB26)/SB16*SB12R4*1/12 TO SB18R2
  406. REPL SB18 WITH SB18R2
  407. REPL SB17 WITH SB15-SB18
  408. ENDIF
  409. ENDIF
  410. IF VAL(SB12R2)>87
  411. REPL SB18 WITH 0
  412. REPL SB17 WITH SB15
  413. ENDIF
  414. STORE ' ' TO A
  415. @ 8,5 SAY '╩╟╖±╢╘┤╦╔Φ▒╕╜°╨╨╩┘├ⁿ╓▄╞┌╖╤╙├╖╓╬÷?(Y/N)' GET A
  416. READ
  417. STORE UPPE(A) TO A
  418. IF A='Y'
  419. USE SM
  420. APPEND BLANK
  421. REPL SM1 WITH SB1J
  422. REPL SM2 WITH SM2R
  423. REPL SM3 WITH SM3R
  424. REPL SM4 WITH SM4R
  425. REPL SM5 WITH SM5R
  426. ENDIF
  427. USE SB index sb1
  428. GOTO BOTT
  429. STORE SB24 TO SB24R
  430. STORE SB28 TO SB28R
  431. STORE SB4 TO SB4R
  432. USE TJ
  433. SET EXACT ON
  434. LOCAT FOR TJ1=SB28R .AND.TJ2=SB24R
  435. IF EOF()
  436. APPE BLANK
  437. REPL TJ1 WITH SB28R,TJ2 WITH SB24R
  438. REPL TJ3 WITH 1
  439. ELSE
  440. REPL TJ3 WITH TJ3+1
  441. ENDIF
  442. USE ZC
  443. CLEAR
  444. STORE 'Y' TO X
  445. @ 2,25 SAY '┤╦╠¿╔Φ▒╕╤Θ╩╒║≤╩╟╖±╥¬╢╘╔Φ▒╕╘▌┤µ┐Γ╜°╨╨╡≈╒√' GET X
  446. READ
  447. IF X='Y'
  448. STORE '         ' TO E
  449. @ 4,25 SAY '╟δ╩Σ╚δ╔Φ▒╕╢⌐╗⌡║╧═¼║┼' GET E
  450. READ
  451. SET EXACT ON
  452. LOCAT FOR ZC4=SB4R .AND. ZC1=E
  453. IF ZC4=SB4R .AND. ZC1=E
  454. REPL ZC6 WITH ZC6-1
  455. IF ZC6=0
  456. DELE 
  457. PACK
  458. ENDIF
  459. ENDIF
  460. ENDIF
  461. STORE '         ' TO SB1J
  462. STORE '        ' TO SB11R
  463. STORE '        ' TO SB12R
  464. USE SB index sb1
  465. @ 9,25 SAY '╗╣╝╠╨°╩Σ╚δ┬≡?' GET C
  466. READ
  467. STORE UPPE(C) TO C
  468. IF C='N'
  469. CLEAR
  470. STORE 'Y' TO F
  471. @ 3,25 SAY '╥¬┴⌠▒╕╖▌┬≡?(Y/N)' GET F
  472. READ
  473. STORE UPPE(F) TO F
  474. IF F='Y'
  475. GOTO BOTT
  476. IF RECNO()>950
  477. @ 4,25 SAY '╟δ╫╝▒╕║├┴╜╒┼╔Φ▒╕┐Γ╚φ┼╠'
  478. @ 5,25 SAY '╟δ▓σ╚δ╡┌╥╗╒┼╚φ┼╠'
  479. @ 6,25 SAY '╖┼║├║≤░┤╚╬║╬╝ⁿ╝┤┐╔'
  480. WAIT '   '
  481. COPY ALL FOR RECNO<=950 TO A:SB
  482. @ 7,25 SAY '╡┌╥╗╒┼┼╠┐╜▒┤═Ω▒╧'
  483. @ 8,25 SAY '╟δ▓σ╚δ╡┌╢■╒┼╚φ┼╠'
  484. @ 9,25 SAY '╖┼║├║≤╟δ░┤╚╬║╬╝ⁿ'
  485. SM4R=VAL(SM4J)
  486. WAIT '    '
  487. COPY ALL FOR RECNO>950 TO A:SB
  488. ELSE 
  489. @ 8,25 SAY '╟δ▓σ╚δ▒╕╖▌╚φ┼╠'
  490. @ 9,25 SAY '╖┼║├║≤░┤╚╬║╬╝ⁿ'
  491. WAIT '     '
  492. COPY ALL TO A:SB
  493. ENDIF
  494. USE TJ
  495. CLEAR
  496. @ 4,25 SAY '╟δ▓σ╚δ═│╝╞╚φ┼╠'
  497. @ 5,25 SAY '╫╝▒╕║├║≤╟δ░┤╚╬╥Γ╝ⁿ'
  498. WAIT '   '
  499. COPY ALL TO A:TJ
  500. USE SM
  501. CLEAR
  502. @ 4,25 SAY '╟δ▓σ╚δ╩┘├ⁿ╖╤╙├╖╓╬÷╚φ┼╠'
  503. @ 5,25 SAY '╫╝▒╕║├║≤╟δ░┤╚╬╥Γ╝ⁿ'
  504. WAIT '   '
  505. COPY ALL TO A:SM
  506. ENDIF
  507. ENDIF
  508. ENDDO
  509. RETURN
  510.