Compucolor.org – Virtual Media

Listing of file='ADDON.BAS;01' on disk='vmedia/chip_57-sector.ccvf'

100 REM ****************************************************
110 REM **                                                **
120 REM **  PROGRAM FOR THE ADDING (ONLY)                 **
130 REM **                                                **
140 REM **  OF DATA ON COMPONENTS HELD IN                 **
150 REM **                                                **
160 REM **  STOCK AS PARTS FOR EQUIPMENT.   D. MASON 1982 **
170 REM **                                                **
180 REM ****************************************************
190 CLEAR 750
200 PLOT 12,3,15,5,14,6,28
210 PRINT "  P A R T S   S T O C K S  "
220 PRINT :PLOT 15,3,15,8:PRINT "  FOR BULK ADDITION ONLY!  "
230 DIM IR(50),PI$(50),EI$(50):G= 0
240 PLOT 15,6,3,3,0,15
250 PRINT SPC( 14);:INPUT "INSERT DATA DISC - HIT 'RETURN : ";Z$
260 FILE "T",290
270 FILE "R",1,"STOCKS",1:FILE "R",2,"DATA",1:GET 2,1,1;DD:FILE "C",2
280 GOTO 300
290 PRINT :PRINT :PRINT SPC( 15)"FILE NOT ON DISC ":PRINT :PRINT :GOTO 250
300 IF XZ= 99THEN PLOT 3,0,14,11:GOTO 330
305 REM
306 REM  ** CLEAR PAGE AND SET UP FOR 'ADDING' OR 'ENDING' *
308 REM
310 PLOT 12,3,20,1,6,28
320 PRINT "  EDITING PARTS STOCKS  ":PLOT 6,3
330 PLOT 3,0,5:PRINT "SELECT FUNCTION :     << ADD, END >>"
340 PLOT 3,0,30,11,28,11:PRINT SPC( 10)"THIS IS DISC "DD
350 PLOT 3,18,5:INPUT "";FUN$
360 IF FUN$< > "A"AND FUN$< > "E"THEN PLOT 28,11:GOTO 330
370 IF FUN$= "E"THEN GOTO 810
380 FOR T= 8TO 29:PLOT 3,0,T,11:NEXT
390 PLOT 3,10,29:PRINT "(  EQUIPMENT NUMBER PREFIXES :  )":PLOT 11:PRINT SPC( 10)"(    AMP; ISI; SON; TEK; T/M    )
400 PLOT 3,10,10:PRINT SPC( 10)"THIS IS INSERTION "G+ 1" OF A MAX. OF 50
410 PLOT 3,20,8:PRINT "PART NUMBER ";:PLOT 6,38:FOR I= 1TO 16:PRINT " ";:NEXT :PLOT 3,32,8:INPUT "";PN$:PLOT 6,3
415 REM
416 REM  * SEARCH FOR FREE RECORD OR IF ENTRY ALREADY EXISTS *
417 REM
420 IF LEN (PN$)> 8THEN PN$= LEFT$ (PN$+ "        ",16):TE= 2:SZ= 16:BY= 34:GOTO 429:REM  * AN EQPT NUMBER *
425 PN$= LEFT$ (PN$+ "         ",8):TE= 1:SZ= 8:BY= 1:REM  * A 'PART NUMBER' *
429 IN= 421:REM  * 'IN' WILL MARK FIRST FREE RECORD *
431 FOR KI= 1TO 420:GET 1,KI,BY;HG$[SZ]
432 IF IN< KIGOTO 435
434 IF VAL (HG$)= - 99THEN IN= KI:XS= XS+ 1:GOTO 475:REM  * FIRST FREE RECORD NUMBER
435 IF VAL (HG$)= - 99THEN XS= XS+ 1:GOTO 475
437 IF HG$= PN$THEN PRINT :PRINT SPC( 20)"RECORD ALREADY EXISTS":GOTO 330
475 IF XS= > 20THEN XS= 0:GOTO 480
477 NEXT
479 PRINT :PRINT SPC( 20)"FILE IS FULL":GOTO 810
480 IR= ((DD- 1)* 420)+ IN:REM  * CALCULATES RECORD NO. ON INDEX FILE *
490 PLOT 3,0,29,11
500 PLOT 3,10,30:PRINT "( ** ALWAYS HIT 'E' AT END OF SESSION ** )"
510 PLOT 3,0,10,11,28,28,11
520 REM **************************************************
530 REM
540 REM            ** ENTER NEW DATA **
550 REM
560 GOSUB 940
570 IF TE= 1THEN PT$= PN$:PLOT 3,25,10,6,39:PRINT PN$
580 IF TE= 2THEN EN$= PN$:PLOT 3,25,13,6,39:PRINT PN$
590 IF TE= 1THEN K= 11:GOTO 620
600 K= 10
610 PLOT 3,25,K,6,39:INPUT "";PT$:K= K+ 1
620 PLOT 3,25,K,6,39:INPUT "";DE$:K= K+ 2
630 IF TE= 2THEN K= K+ 2:GOTO 670
640 PLOT 3,0,29,6,3,11:PRINT :PRINT SPC( 10)"( ** PREFIXES :  AMP; ISI; SON; TEK; T/M; ** )"
650 PLOT 3,25,K,6,39:INPUT "";EN$:K= K+ 2:PLOT 6,3
660 PLOT 3,0,30,6,3,11:PRINT SPC( 10)"( ** ALWAYS HIT 'E' AT END OF SESSION ** )"
670 PLOT 3,25,K,6,39:INPUT "";LO$:K= K+ 2
680 PLOT 3,25,K,6,39:INPUT "";QT:K= K+ 3
690 PLOT 3,25,K,6,39:INPUT "";CM$:K= K+ 3
700 PLOT 3,25,K,6,39:INPUT "";SM$:K= K+ 2
710 PLOT 3,25,K,6,39:INPUT "";AT$:K= K+ 2
720 PLOT 3,25,K,6,39:INPUT "";SA$:K= K+ 2:PLOT 6,3
730 PUT 1,IN,1;PT$[8],DE$[25],EN$[16],LO$[7],QT,CM$[16],SM$[16],AT$[8],SA$[8]
740 IR(G)= IR:PI$(G)= PT$:EI$(G)= EN$:G= G+ 1
750 FILE "C",1:FOR T= 8TO 28:PLOT 3,0,T,11:NEXT :PLOT 3,8,14
760 INPUT "INSERT A DATA DISC (IF A DIFFERENT ONE) - HIT RETURN : ";Z$:XZ= 99:GOTO 270
770 REM **************************************************
780 REM
790 REM            ** END EDITING SESSION **
800 REM
810 FILE "C",1:FOR T= 8TO 28:PLOT 3,0,T,11:NEXT :PLOT 3,15,14
820 INPUT "INSERT INDEX DISC - HIT 'RETURN' : ";Z$
830 FILE "R",1,"PARTS.INX",1:FILE "R",2,"EQPT.INX",1
840 FOR R= 0TO 50
845 IF IR(R)= 0GOTO 855
850 PUT 1,IR(R),1;PI$(R)[8]:PUT 2,IR(R),1;EI$(R)[16]
855 NEXT
860 FILE "C",1,2:FOR I= 8TO 28:PLOT 3,0,I,11:NEXT
870 PLOT 3,15,14:PRINT "EDITING COMPLETED":PRINT :PRINT
880 PRINT SPC( 15);:INPUT "DO YOU WANT ANOTHER EDIT SESSION ? : ";Y$
890 IF Y$< > "Y"AND Y$< > "N"THEN PLOT 28,11:GOTO 880
900 IF Y$= "Y"THEN GOTO 190
910 PRINT :PRINT SPC( 10);:INPUT "INSERT PROGRAM DISC - HIT 'RETURN' : ";Z$:PLOT 1
920 REM **************************************************
930 REM
940 REM            ** PAGE LAYOUT **
950 REM
960 PLOT 3,5,8,6,7:PRINT "COMPONENT :-":PLOT 6,3:PRINT
970 PRINT SPC( 10)"PART NUMBER";:PRINT SPC( 4);:PLOT 6,39:FOR T= 1TO 8:PRINT " ";:NEXT :PLOT 6,3:PRINT
980 PRINT SPC( 10)"DESCRIPTION";:PRINT SPC( 4);:PLOT 6,39:FOR T= 1TO 25:PRINT " ";:NEXT :PLOT 6,7:PRINT
990 PRINT :PRINT SPC( 5)"EQPT PART NO :    ";SPC( 2);:PLOT 6,39:FOR I= 1TO 15:PRINT " ";:NEXT
1000 PLOT 6,7
1010 PRINT :PRINT :PRINT SPC( 5)"LOCATION :";:PLOT 6,3:PRINT SPC( 4)"BIN # ";:PLOT 6,39:PRINT "       ":PRINT
1020 PLOT 6,7:PRINT SPC( 5)"QTY IN STOCK :      ";:PLOT 6,39:PRINT "    ":PRINT
1030 PLOT 6,7:PRINT SPC( 5)"COMPONENT":PLOT 6,3
1040 PLOT 6,7:PRINT SPC( 9)"MANUFACTURER :  ";:PLOT 6,39:FOR T= 1TO 16:PRINT " ";:NEXT :PRINT :PRINT
1050 PLOT 6,7:PRINT SPC( 5)"COMPONENT":PLOT 6,3
1060 PLOT 6,7:PRINT SPC( 9)"SUPPLIER :      ";:PLOT 6,39:FOR T= 1TO 16:PRINT " ";:NEXT :PLOT 6,3:PRINT :PRINT
1070 PLOT 6,7:PRINT SPC( 5)"ALTERNATIVE TYPES:  ";:PLOT 6,39:FOR T= 1TO 8:PRINT " ";:NEXT :PRINT :PRINT :PLOT 6,3
1080 PRINT SPC( 25);:PLOT 6,39:FOR T= 1TO 8:PRINT " ";:NEXT :PLOT 6,3
1090 RETURN