home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / discs / shareware / share_36 / stock / !CASTOCK / CS1 (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1990-09-10  |  21KB  |  906 lines

  1.  >!CASTOCK.CS1
  2.  CAST SHEET 1
  3.  STOCK CONTROLLER
  4.  BY VINCE M HUDD
  5.  SHAREWARE VERSION
  6. STAGE=0
  7. K("/","7",2)
  8.  "/":
  9.  "0":
  10.  "1":
  11.  "2":
  12.  "3":
  13.  "4":
  14.  "5":
  15.  "6":
  16.  "7":
  17.  **ERROR HANDLER**
  18.  STAGE=0 
  19. 23,17,7,6,8;16;0;:
  20. 312,1023:
  21. "THE CAST STOCK PROGRAM: SHAREWARE VERSION":
  22. 27,31);"(c)1990 Soft Rock Software";:
  23. WIND(2)
  24.  8,48,1263,896:
  25.  10,48,1259,896:
  26.  8,880,1259,880
  27.  T(9),TT$(9)
  28.  SC 82943:SC$=
  29. H(SC,8):SE$=
  30. H(SC+82943,8)
  31. ("LOAD <CS1$P>.STOCK "+SC$)
  32.  TRY=1 
  33. P(1)=1 
  34.  OK=1:TRY=3:
  35.  OK=0
  36.  OK=0 
  37. TTL:STAGE=1
  38. H(V,L)=
  39. "00000000"+
  40. ~(V),L)
  41. $,5,2):D3$=
  42. $,14,2)
  43. tKD2$=
  44. "00"+
  45. "JanFebMarAprMayJunJulAugSepOctNovDec",
  46. $,8,3))+2)/3),2)
  47. ''"  ENTER PASSWORD: ";:
  48. /X$="":
  49.  A=SC+82176 
  50.  SC+82181:X$=X$+
  51. (?A):
  52. /P$="":
  53.  A=1 
  54.  6:P$=P$+
  55. K("A","Z",1):
  56. "*";:
  57.  P$=X$ 
  58. K(LL$,UL$,TP)
  59. >KEY$=
  60.  KEY$>="a" 
  61.  KEY$<="z" 
  62.  TP=1 
  63.  KEY$=
  64. (KEY$)-32)
  65.  KEY$>UL$ 
  66.  KEY$<LL$ 
  67.     =KEY$
  68. WIND(Z)
  69. 26,28,2,3,78,3
  70. 26,28,2,29,77,5
  71. WIND(1):
  72. " DATE: ";:
  73.  D1$;"/";D2$;"/";D3$;
  74. " NAME OF COMPANY: ";:
  75. 3:TI$=""
  76.  Z=SC+82144 
  77.  SC+82175:TI$=TI$+
  78. (?Z):
  79. TI$;:
  80. WIND(2):
  81. 5,23,17,7,6,8;16;0;:
  82.  568,839:
  83. "MAIN MENU":
  84. 24);"1";:
  85. "........Alter Stock Details"
  86. 24);"2";:
  87. "......Alter Quantities Held"
  88. 24);"3";:
  89. "..........Alter Stock Types"
  90. 24);"4";:
  91. ".........Alter Company Name"
  92. 24);"5";:
  93. ".....Alter Printer Settings"
  94. 24);"6";:
  95. "...........Print Stock List"
  96. 24);"7";:
  97. "................Information"
  98. 24);"0";:
  99. "...Save Data & Quit Program"
  100. 5,23,17,7,6,8;16;0;:
  101. 520,839:
  102. "CHANGE PASSWORD":
  103. ''''''''"OLD PASSWORD: ";
  104. /X$="":
  105.  A=SC+82176 
  106.  SC+82181:X$=X$+
  107. (?A):
  108. ''"NEW PASSWORD: ";
  109.  3:X$=""
  110.  X=0 
  111. 13,"Z",1):
  112.  A$<"A" 
  113. X$=X$+A$:
  114.  X$="":X=5
  115.  X$<>"" 
  116.  A=1 
  117. ?(SC+82175+A)=
  118. X$,A,1))
  119. 5,23,17,7,6,8;16;0;:
  120.  488,839:
  121. "ALTER STOCK DETAILS":
  122. '''''"        LINE NUMBER    : ";:
  123. "000"+
  124. (SN),3)
  125. "         STOCK CODE ";:
  126. "(A)";:
  127. ": ";:
  128.  A=SN*76+SC 
  129.  (SN*76+SC)+9:
  130. (?A);:
  131. "      DESCRIPTION 1 ";:
  132. "(B)";:
  133. ": ";:
  134.  A=(SN*76+SC)+10 
  135.  (SN*76+SC)+33:
  136. (?A);:
  137. "      DESCRIPTION 2 ";:
  138. "(C)";:
  139. ": ";:
  140.  A=(SN*76+SC)+34 
  141.  (SN*76+SC)+57:
  142. (?A);:
  143. "              PRICE ";:
  144. "(D)";:
  145. ": ";:
  146. RN(SC+58+SN*76)
  147. "                PER ";:
  148. "(E)";:
  149. ": ";:
  150. RV(SC+62+SN*76)
  151. "   UNIT DESCRIPTION ";:
  152. "(F)";:
  153. ": ";:
  154.  A=(SN*76+SC)+64 
  155.  (SN*76+SC)+71:
  156. (?A);:
  157. "         STOCK TYPE ";:
  158. "(G)";:
  159. ":-"'"        ";:
  160. :TY=?(SN*76+SC+72)
  161.  A=(SC+76000+128*TY) 
  162.  (SC+76000+128*TY)+63:
  163. (?A);:
  164. '"        ";:
  165.  A=(SC+76000+128*TY)+64 
  166.  (SC+76000+128*TY)+127:
  167. (?A);:
  168. ''" Select the letter corresponding to the item you wish to change ";:
  169. "(A to G)":
  170. " or ";:
  171. "N ";:
  172. "to see the next line, ";:
  173. "L ";:
  174. "to see the previous line,";
  175. " T";:
  176. " to go to a"'" particular line, or ";:
  177. "X ";:
  178. "to exit to the main menu."
  179. K("A","X",1):
  180.  A$>"G" 
  181.  A$<"L" 
  182.  A$>"L" 
  183.  A$<"N" 
  184.  A$>"N" 
  185.  A$<"T" 
  186.  A$>"T" 
  187.  A$<"X" 
  188.  A$="T" 
  189.  A$="L" 
  190.  SN>0 
  191.  SN=SN-1:
  192.  A$="L" 
  193.  SN=0 
  194.  SN=999:
  195.  A$="N" 
  196.  SN<999 
  197.  SN=SN+1:
  198.  A$="N" 
  199.  SN=999 
  200.  SN=0:
  201.  A$="X" 
  202. 240," ");
  203.  "A":
  204.  "B":
  205. DESC1
  206.  "C":
  207. DESC2
  208.  "D":
  209. PRICE
  210.  "E":
  211.  "F":
  212.  "G":
  213. ''"  ENTER YOUR NEW STOCK CODE ";:
  214. ".........."
  215. "                            ";
  216. ""DT$
  217.  DT$>10 
  218.  DT$="" 
  219.  DT$="/" 
  220.  DT$="          ":
  221. "          "+DT$,10)
  222.  AA=1 
  223.  10:?(SN*76+SC+AA-1)=
  224. DT$,AA,1)):
  225. DESC1
  226. ''"  ENTER YOUR FIRST DESCRIPTION ";:
  227. "........................"
  228. "                               ";
  229. ""DT$
  230.  DT$>24 
  231.  DT$="" 
  232.  DT$="/" 
  233.  DT$="                        ":
  234. \+DT$=
  235. DT$+"                        ",24)
  236.  AA=1 
  237.  24:?(SN*76+SC+AA+9)=
  238. DT$,AA,1)):
  239. DESC2
  240. ''"  ENTER YOUR SECOND DESCRIPTION ";:
  241. "........................"
  242. "                                ";
  243. ""DT$
  244.  DT$>24 
  245.  DT$="" 
  246.  DT$="/" 
  247.  DT$="                        ":
  248. +DT$=
  249. DT$+"                        ",24)
  250.  AA=1 
  251.  24:?(SN*76+SC+AA+33)=
  252. DT$,AA,1)):
  253. ''"  ENTER UNIT DESCRIPTION ";:
  254. "........"
  255. "                         ";
  256. ""DT$
  257.  DT$>8 
  258.  DT$="" 
  259.  DT$="/" 
  260.  DT$="        ":
  261. DT$+"        ",8)
  262.  AA=1 
  263.  8:?(SN*76+SC+AA+63)=
  264. DT$,AA,1)):
  265. UM(Z)
  266. Z$="":DG=1
  267.     B2X$=
  268. K(".","9",1):
  269.  X$>"." 
  270.  X$<"0" 
  271.     L2Z$=Z$+X$:
  272. X$;:DG=DG+1:
  273.  DG<=7 
  274.  X$<>"." 
  275.  X$="." 
  276. Z$=Z$+".":
  277.  DG=1 
  278.     t"X$=
  279. K("0","9",1):Z$=Z$+X$:
  280. "          "+Z$,10)
  281. PRICE
  282. ''"  ENTER NEW COST PRICE ";:
  283. UM(Z):IV=
  284. P$,7)):RV=
  285. P$,2))
  286. s?(SN*76+SC+58)=IV 
  287.  65536:IV=IV 
  288.  65536:?(SN*76+SC+59)=IV 
  289.  256:IV=IV 
  290.  256:?(SN*76+SC+60)=IV:?(SN*76+SC+61)=RV
  291. ''"  ENTER PRICING QUANTITY ";:
  292.  NUM$:
  293.  NUM$<1 
  294.  NUM$>10000 
  295. =?(SN*76+SC+62)=
  296. (NUM$) 
  297.  256:?(SN*76+SC+63)=
  298. (NUM$) 
  299. 240," ");
  300. "  LINE NUMBER ";:
  301. "(L)";:
  302. " OR STOCK CODE ";:
  303. "(S)"
  304. F2A$=
  305. K("L","S",1):
  306.  A$>"L" 
  307.  A$<"S" 
  308. 70," ");
  309.  A$="S" 
  310. LFSC(0)
  311.  A$="L" 
  312. LFSL(0)
  313. LFSL(Z)
  314. "  ENTER STOCK LINE NUMBER ";:
  315.  NUM$:
  316. (NUM$)<0 
  317.  NUM$>999 
  318.  7:=SN
  319. (NUM$)
  320. LFSC(Z)
  321. "  ENTER STOCK CODE ";:
  322. ".........."
  323. "                   ";
  324. ""SC$:
  325.  SC$>10 
  326. 7:=SN
  327. 9SC$=
  328. "          "+SC$,10):
  329.  SC$="          " 
  330. 7:=SN
  331.     NN=-1
  332.  NS=0 
  333.  999:SS$="":
  334.  A=0 
  335.  9:SS$=SS$+
  336. (?(SC+NS*76+A)):
  337.  SS$=SC$ 
  338.  NN=NS
  339.  NN=-1 
  340.  NN=SN:
  341. 5,23,17,7,6,8;16;0;:
  342. 496,839:
  343. "CHANGE STOCK TYPES":
  344. ''''" Select stock type (0-9) or (/) to return to the main menu .... ";:
  345. K("/","9",1):
  346.  A$="/" 
  347. '" CURRENT DESCRIPTION :-"'"     ";:
  348.  A=(SC+76000+
  349. (A$)*128) 
  350.  (SC+76063+
  351. (A$)*128):
  352. (?A);:
  353. '"     ";
  354.  A=(SC+76064+
  355. (A$)*128) 
  356.  (SC+76127+
  357. (A$)*128):
  358. (?A);:
  359. '" ENTER NEW FIRST LINE :-":
  360. "     ................................................................"'"     ";
  361. ""B$:
  362.  B$>64 
  363. 7,11,11,11:
  364. 240," "):
  365. 11,11,11,11:
  366.  B$="" 
  367.  B$="/" 
  368. 64," ")
  369. 64," "),64)
  370.  A=1 
  371.  64:?(SC+75999+
  372. (A$)*128+A)=
  373. B$,A,1)):
  374. '" ENTER NEW SECOND LINE :-":
  375. "     ................................................................"'"     ";
  376. ""B$:
  377.  B$>64 
  378. 7,11,11,11:
  379. 240," "):
  380. 11,11,11,11:
  381.  B$="" 
  382.  B$="/" 
  383. 64," ")
  384. 64," "),64)
  385.  A=1 
  386.  64:?(SC+76063+
  387. (A$)*128+A)=
  388. B$,A,1)):
  389. ''" SELECT YOUR NEW STOCK TYPE (0-9) .... ";:
  390. K("0","9",1):
  391.  A$:?(SC+SN*76+72)=
  392. (A$):
  393. 5,23,17,7,6,8;16;0;:
  394. 496,839:
  395. "ALTER COMPANY NAME":
  396. ''''" CURRENT NAME: ";:
  397.  A=SC+82144 
  398.  SC+82175:
  399. (?A);:
  400. ''"     NEW NAME: ";:
  401. "................................"
  402. "               ";
  403.  N$="" 
  404. v,SP=0:
  405.  A=1 
  406. N$,A,1)<>" " 
  407.  SP=1
  408.  SP=0 
  409.  N$>32 
  410. 32," "),32)
  411. N$,1)=" " 
  412. N$,31)+" ":
  413.  A=1 
  414.  32:?(SC+82143+A)=
  415. N$,A,1)):
  416. 5,23,17,7,6,8;16;0;:
  417. 464,839:
  418. "ALTER PRINTER SETTINGS":
  419. 27);"1";:
  420. "...........INITIALISE"
  421. 27);"2";:
  422. "............TERMINATE"
  423. 27);"3";:
  424. "............LINE FEED"
  425. 27);"4";:
  426. "..........PAGE LENGTH"
  427. 27);"5";:
  428. "..PUASE BETWEEN PAGES"
  429. 27);"0";:
  430. "....EXIT TO MAIN MENU"
  431. K("0","5",1):
  432.  A$="0" 
  433.  "1":
  434.  "2":
  435.  "3":
  436.  "4":
  437.  "5":
  438. 5,23,17,7,6,8;16;0;:
  439. 496,839:
  440. "PRINTER INITIALISE":
  441. '''"The printer initialisation sequence consists of eight numbers in the range  0 to 255. Each number must be entered separately, as follows:-"
  442. "Type in the number required (in the above range) and press RETURN. To leave a number unaltered just press RETURN. If an illegal value is entered you    will be asked to re-enter it."'
  443.  A=1 
  444. "Value ";A;" is: ";:
  445. ?(82181+A+SC);:
  446. " NEW VALUE: ";NV$
  447.  NV$="" 
  448. (NV$)<0 
  449. (NV$)>255 
  450. ?(SC+A+82181)=
  451. (NV$)
  452. 5,23,17,7,6,8;16;0;:
  453. 504,839:
  454. "PRINTER TERMINATE":
  455. '''"The printer termination sequence consists of eight numbers in the range 0 to255. Each number must be entered separately, as follows:-"
  456. "Type in the number required (in the above range) and press RETURN. To leave a number unaltered just press RETURN. If an illegal value is entered you    will be asked to re-enter it."'
  457.  A=1 
  458. "Value ";A;" is: ";:
  459. ?(82189+A+SC);:
  460. " NEW VALUE: ";NV$
  461.  NV$="" 
  462. (NV$)<0 
  463. (NV$)>255 
  464. ?(SC+A+82189)=
  465. (NV$)
  466. 5,23,17,7,6,8;16;0;:
  467. 504,839:
  468. "PRINTER LINE FEED":
  469. '''"The printer line feed sequence consists of four numbers in the range 0 to   255. Each number must be entered separately, as follows:-"
  470. "Type in the number required (in the above range) and press RETURN. To leave a number unaltered just press RETURN. If an illegal value is entered you    will be asked to re-enter it."'
  471.  A=1 
  472. "Value ";A;" is: ";:
  473. ?(82197+A+SC);:
  474. " NEW VALUE: ";NV$
  475.  NV$="" 
  476. (NV$)<0 
  477. (NV$)>255 
  478. ?(SC+A+82197)=
  479. (NV$)
  480. 5,23,17,7,6,8;16;0;:
  481. 488,839:
  482. "PRINTER PAGE LENGTH":
  483. '''"Enter your printer page length by typing in a number in the range 50 to 255 and pressing RETURN."
  484. "Merely pressing RETURN leaves the old value intact."
  485. ''"CURRENT PAGE LENGTH IS: ";:
  486.  SC?82202
  487. '"ENTER NEW PAGE LENGTH: "NV$:
  488.  NV$="" 
  489. (NV$)<50 
  490. (NV$)>255 
  491. SC?82202=
  492. (NV$)
  493. 5,23,17,7,6,8;16;0;:
  494. 480,839:
  495. "PRINTER PAGE PAUSING":
  496. ''''"WOULD YOU LIKE THE PRINTING OPERATIONS TO PAUSE BETWEEN PAGES (Y/N) ?"
  497. ''"CURRENT SETTING IS: ";:
  498.  SC?82203=0 
  499. "DON'T PAUSE" 
  500. "PAUSE"
  501. K("N","Y",1):
  502.  A$>"N" 
  503.  A$<"Y" 
  504.  A$="Y" 
  505.  SC?82203=1 
  506.  SC?82203=0
  507. AE=SC+76000+1280:
  508.  AE?3<>0 
  509.  AE=AE+8:
  510. 5,23,17,7,6,8;16;0;:
  511. 456,839:
  512. "ADJUST STOCK QUANTITIES":
  513. '''" BY LINE NUMBER ";:
  514. "(L)";:
  515. " BY STOCK CODE ";:
  516. "(C)";:
  517. " OR EXIT TO THE MAIN MENU ";:
  518. "(X)";:
  519. K("C","X",1):
  520.  (A$>"C" 
  521.  A$<"L") 
  522.  (A$>"L" 
  523.  A$<"X") 
  524.  A$="X" 
  525.  A$="C" 
  526. LFSC(0) 
  527. LFSL(0)
  528. 5,23,17,7,6,8;16;0;:
  529. 456,839:
  530. "ADJUST STOCK QUANTITIES":
  531. '''"        LINE: ";:
  532. "";SN
  533. '"  STOCK CODE: ";:
  534.  A=(SN*76)+SC 
  535.  (SN*76)+SC+9:
  536. (?A);:
  537. ''" DESCRIPTION: ";:
  538.  A=(SN*76)+SC+10 
  539.  (SN*76)+SC+33:
  540. (?A);:
  541. '"              ";:
  542.  A=(SN*76)+SC+34 
  543.  (SN*76)+SC+57:
  544. (?A);:
  545. ''"    QUANTITY: ";:
  546. "";?(SC+76*SN+73)*65536+?(SC+76*SN+74)*256+?(SC+76*SN+75)
  547. '" CONFIRM ADJUSTMENT TO THIS STOCK LINE - Y/N"
  548. K("N","Y",1):
  549.  A$="N" 
  550.  A$<>"Y" 
  551. 60," "):
  552. 11,11
  553. AE?4=SN 
  554.  256:AE?5=SN 
  555. '" ADJUSTER'S"'"    INITIALS: ";:
  556. 2:A$=
  557. K("A","Z",1):
  558.  A$;:AE?6=
  559. (A$):A$=
  560. K("A","Z",1):
  561.  A$:AE?7=
  562. '" SELECT ADJUSTMENT TYPE: 1= requesition, 2= stock received, 3= increase in  quantity, 4= reduction in quantity, 5= change quantity."
  563. F1A$=
  564. K("1","5",1):
  565. 140," ");
  566. '"        TYPE: ";:
  567. AE?3=
  568.  "1":
  569. "Stock requesition"
  570.  "2":
  571. "Stock received"
  572.  "3":
  573. "Quantity Increase"
  574.  "4":
  575. "Quantity Decrease"
  576.  "5":
  577. "Quantity change"
  578.  A$="5" 
  579. CQ(0)
  580.  A$="1" 
  581.  A$="4" 
  582. DQ(0)
  583.  A$="2" 
  584.  A$="3" 
  585. IQ(0)
  586. w?(SN*76+SC+73)=
  587. (NQ/65536):NQ=NQ-?(SN*76+SC+73)*65536:?(SN*76+SC+74)=
  588. (NQ/256):?(SN*76+SC+75)=NQ-?(SN*76+SC+74)*256
  589.  AE=AE+8:
  590.  AE<SC+82100 
  591. PADJ:
  592. CQ(Z)
  593. '"    QUANTITY: ";:
  594. (Q$)<0 
  595. (Q$)>9999999 
  596. 7,11:
  597. 60," ");
  598. =OQ=65536*?(SC+76*SN+73)+256*?(SC+76*SN+74)+?(SC+76*SN+75)
  599.  OQ>=NQ 
  600.  AE?3=4:DF=OQ-NQ
  601.  OQ<NQ 
  602.  AE?3=3:DF=NQ-OQ
  603. <?AE=DF 
  604.  65536:DF=DF 
  605.  65536:AE?1=DF 
  606.  256:AE?2=DF 
  607. DQ(Z)
  608. '" DECREASE BY: ";:
  609. (Q$)<0 
  610. (Q$)>9999999 
  611. 7,11:
  612. 60," ");
  613. =OQ=65536*?(SC+76*SN+73)+256*?(SC+76*SN+74)+?(SC+76*SN+75)
  614. (Q$):NQ=OQ-DF:
  615.  NQ<0 
  616. 7,11:
  617. 60," ");
  618. <?AE=DF 
  619.  65536:DF=DF 
  620.  65536:AE?1=DF 
  621.  256:AE?2=DF 
  622. IQ(Z)
  623. '"  INCREASE BY: ";:
  624. (Q$)<0 
  625. (Q$)>9999999 
  626. 7,11:
  627. 60," ");
  628. b=OQ=65536*?(SC+76*SN+73)+256*?(SC+76*SN+74)+?(SC+76*SN+75)
  629. (Q$):NQ=OQ+DF
  630. <?AE=DF 
  631.  65536:DF=DF 
  632.  65536:AE?1=DF 
  633.  256:AE?2=DF 
  634.  ?(SC+77283)=0 
  635. 5,23,17,7,6,8;16;0;:
  636. 432,839:
  637. "PRINTING STOCK ADJUSTMENTS":
  638. GT1$="STOCK ADJUSTMENTS MADE ON: "+D1$+"/"+D2$+"/"+D3$:T2$="":T3$=""
  639. GT4$="NO. LINE STOCK CODE DESCRIPTION............. TYPE ..AMOUNT BY"
  640. PRON:
  641. PTL(T1$,T2$,T3$,T4$):NO=0
  642. )EN=SC+77280+NO*8:
  643.  EN>SC+82100 
  644.  EN?3=0 
  645. "000"+
  646. (NO),3)+" "
  647. 4LI=(EN?4)*256+EN?5:P$=P$+" "+
  648. "000"+
  649. (LI),3)+" "
  650.  A=SC+LI*76 
  651.  SC+LI*76+9:P$=P$+
  652. (?A):
  653. :P$=P$+" "
  654.  A=SC+LI*76+10 
  655.  SC+LI*76+33:P$=P$+
  656. (?A):
  657. :P$=P$+"  "
  658.  EN?3 
  659.  1:P$=P$+"REQN "
  660.  2:P$=P$+"RECD "
  661.  3:P$=P$+"ADJ+ "
  662.  4:P$=P$+"ADJ- "
  663.  P$=P$+"ERR  "
  664. >$V=(EN?0)*65536+(EN?1)*256+(EN?2)
  665. H0P$=P$+
  666. "       "+
  667. (V),7)+" "+
  668. (EN?6)+
  669. (EN?7)
  670. PRIN(P$):NO=NO+1:
  671. PROF:
  672. ("SAVE <CS1$P>.STOCK "+SC$+" "+SE$):
  673. PRSL:
  674. 5,23,17,7,6,8;16;0;:
  675. 488,839:
  676. "PRINTING STOCK LIST":
  677. ''''" USE TODAY'S DATE - Y/N ?"
  678. K("N","Y",1):
  679. 50," ")
  680.  A$="N" 
  681.  T1$="STOCK VALUATION AS AT "+
  682. DATE(0):
  683.  A$<>"Y" 
  684. 4T1$="STOCK VALUATION AS AT "+D1$+"/"+D2$+"/"+D3$
  685. {T4$="NO. STOCK CODE DESCRIPTION............. ........................ UNIT SIZE..... .....PRICE QUANTITY ........VALUE"
  686.  A=0 
  687.  9:T(A)=0:
  688.  SN=0 
  689.  999:T(?(SN*76+SC+72))=T(?(SN*76+SC+72))+
  690. VAL(SN):
  691.  A=0 
  692.  9:T2$="STOCK TYPE: "+
  693. (A)+" : ":T3$=
  694. 16," ")
  695.  T(A)<>0 
  696.  Z=0 
  697.  63:T2$=T2$+
  698. (?(SC+76000+128*A+Z)):T3$=T3$+
  699. (?(SC+76000+128*A+Z+64)):
  700. PTL(T1$,T2$,T3$,T4$)
  701.  SN=0 
  702.  ?(SN*76+SC+72)=A 
  703. VAL(SN)<>0 
  704. "000"+
  705. (SN),3)+" ":SA=SN*76+SC
  706.  Z=0 
  707.  9:P$=P$+
  708. (?(SA+Z)):
  709. :P$=P$+" "
  710.  Z=0 
  711.  23:P$=P$+
  712. (?(SA+Z+10)):
  713. :P$=P$+" "
  714.  Z=0 
  715.  23:P$=P$+
  716. (?(SA+Z+34)):
  717. :P$=P$+" "
  718. .0P$=P$+
  719. "     "+
  720. (256*(SA?62)+(SA?63)),5)+" "
  721.  Z=0 
  722.  7:P$=P$+
  723. (?(SA+Z+64)):
  724. :P$=P$+" "
  725. RN(SA+58)
  726. G"P$=P$+
  727. "          "+V$,10)+" "
  728. L:Q$=
  729. "        "+
  730. (65536*(SA?73)+256*(SA?74)+(SA?75)),8)
  731. (Q$):P$=P$+Q$+" "
  732. VAL(SN)
  733. NT=NT+VV
  734. NS(VV,11)
  735. P$=P$+" "+VV$:
  736. PRIN(P$)
  737. 100," ")+"-------------":
  738. PRIN(P$)
  739. TT$(A)=
  740. NS(NT,13)
  741. T(A)=
  742. SN(TT$(A))
  743. 99," ")+TT$(A)
  744. PRIN(P$):
  745. PRIN(
  746. 100," ")+"============="):
  747. dvT2$="":T3$="STOCK SUMMARY":T4$="TYPE DESCRIPTION................................................... ........VALUE"
  748. PTL(T1$,T2$,T3$,T4$):TL=0
  749.  A=0 
  750.  T(A)<>0 
  751. "    "+
  752. (A),4)+" ":
  753.  Z=SC+76000+A*128 
  754.  SC+76063+A*128:P$=P$+
  755. (?Z):
  756. P$=P$+
  757. TT$(A),
  758. (TT$(A))-2)
  759. TL=TL+T(A)
  760. PRIN(P$)
  761. PRIN(
  762. 68," ")+"-------------")
  763. NS(TL,14)
  764. 66," ")+TL$:
  765. PRIN(P$)
  766. PRIN(
  767. 68," ")+"============="):
  768. PROF:
  769. RN(AD)
  770.  I,R,D$
  771. #<+I=65536*(?AD)+256*(AD?1)+(AD?2):I=I*100
  772. R=AD?3:I=I+R
  773. NS(I,12)
  774. RV(AD)=
  775. (256*(?AD)+(AD?1))
  776. PRON:
  777.  A:PG=0:
  778.  A=SC+82182 
  779.  SC+82189:
  780. 1,?A:
  781. PTL(P1$,P2$,P3$,P4$):L=1:PG=PG+1:
  782.  SC?82203=1 
  783. %0=CN$="":
  784.  Z=SC+82144 
  785.  SC+82175:CN$=CN$+
  786. (?Z):
  787. PRIN(CN$)
  788. PRIN("DATE: "+D1$+"/"+D2$+"/"+D3$):
  789. PRIN("")
  790. PRIN("PAGE: "+
  791. (PG)):
  792. PRIN(""):
  793. PRIN(P1$):
  794. PRIN(P2$):
  795. PRIN(P3$):
  796. PRIN("")
  797. PRIN(P4$):
  798. PRIN(""):
  799. PRIN(P$):
  800.  Z=1 
  801. 1,32:
  802.  P$="" 
  803.  Z=1 
  804. (P$):
  805. P$,Z,1)):
  806.  Z=SC+82198 
  807.  SC+82201:
  808. 1,?Z:
  809. %v7L=L+1:
  810.  L+10>=(SC?82202)
  811. PTL(T1$,T2$,T3$,T4$)
  812.  Z=L 
  813.  (SC?82202):
  814.  ZZ=SC+82198 
  815.  SC+82201:
  816. 1,?ZZ:
  817.  ZZ,Z:
  818. PROF:
  819.  A=SC+82190 
  820.  SC+82197:
  821. 1,?A:
  822. '''''"PRESS THE SPACE BAR TO PRINT THE NEXT PAGE......."
  823. =32:*FX15,1
  824. 60," "):
  825. 11,11,11,11,11,11
  826. VAL(ZZ)
  827. '$$PP$=
  828. RN(SC+76*ZZ+58):PP=
  829. SN(PP$)
  830. '.=QQ=65536*?(SC+76*ZZ+73)+256*?(SC+76*ZZ+74)+?(SC+76*ZZ+75)
  831. RV(SC+62+ZZ*76))
  832. (PP*100*QQ/PER)/100
  833.  A=SC+77280 
  834.  SC+82140:?A=0:
  835. NS(N%,L%)
  836. L%," ")+
  837. (N%),L%)
  838. A$,L%-2)+"."+
  839. A$,2)
  840.  N%<10 
  841. A$,"."))+"0"+
  842. A$,1)
  843.  N%<100 
  844. A$,".")-2)+"0"+
  845. A$,3)
  846. SN(A$)
  847. (A$)-3
  848. =100*
  849. A$,X%))+
  850. A$,2))
  851. DATE(ZX)
  852. 50," ");
  853. "   DATE:";:
  854. xUD1$="":Z$=
  855. K("0","3",2):
  856. Z$;:UD1$=UD1$+Z$:Z$=
  857. K("0","9",2):
  858. Z$;:UD1$=UD1$+Z$:
  859. (UD1$)<1 
  860. (UD1$)>31 
  861. "/";:UD2$="":Z$=
  862. K("0","1",2):
  863. Z$;:UD2$=UD2$+Z$:Z$=
  864. K("0","9",2):
  865. Z$;:UD2$=UD2$+Z$:
  866. (UD2$)<1 
  867. (UD2$)>12 
  868. "/";:UD3$="":Z$=
  869. K("0","9",2):
  870. Z$;:UD3$=UD3$+Z$:Z$=
  871. K("0","9",2):
  872. Z$;:UD3$=UD3$+Z$
  873. 50," ")
  874. =UD1$+"/"+UD2$+"/"+UD3$
  875. 5,23,17,7,6,8;16;0;:
  876.  552,839:
  877. "INFORMATION":
  878. '''"This program was originally to be released as a 'full price' CAST program,  but due to considerable changes planned for the Soft Rock Software series ofaccounting programs it is being re-released as shareware."
  879. '"You may have purchased this program directly from Soft Rock Software, in    which case, you need read no further - press <ESCAPE>."
  880. '"If you have acquired this program from another source, such as a shareware  or public domain library, then you may like to consider registering - thoughthere is no obligation to do so."
  881. '"Registration costs 
  882. 5.00 each for this and the other two CAST shareware     programs. Registering all three together (or registering this one and       purchasing the others - whatever) costs 
  883. 12.50."
  884. '"The other programs are:-"
  885. "   The CAST Cash Book (originally The CAST 1 Cash Book - full priced)"
  886. "   The CAST Nominal Ledger (specifically written as shareware)"
  887. 33);"PRESS  SPACE";
  888. (-99):
  889. (-99):*FX15,1
  890. 5,23,17,7,6,8;16;0;:
  891.  552,839:
  892. "INFORMATION":
  893. '''"For your registration fee you will receive the following:-"
  894. "   Instructions, in the form of several typed A4 pages"
  895. "   A disk containing the latest version of the software you have registered"
  896. "   Unregistered copies of the other programs (on the same disk)"
  897. "   Information regarding other Soft Rock Software products"
  898. "   You will be notified of any updates made to these programs (obtaining       these will require a small fee to cover the costs of disk, postage, etc"
  899. "   As the new full price CAST programs are written (they will probably be      given a new name to avoid confusion) you will be offered them at a          discounted price. Est: May/June 1990 for the first"
  900. '"Additionally, Soft Rock Software will be willing to answer any postal       queries regarding CAST programs from registered users."
  901. '"Make all cheques payable to Soft Rock Software and send to:-"
  902. '"                Soft Rock Software"'"                124 Marissal Road, Henbury"'"                Bristol, BS10 7NP"
  903. 33);"PRESS  SPACE";
  904. (-99):
  905. (-99):*FX15,1
  906.