|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5632 (0x1600) Types: TextFile Names: »SOTIN.PRG«
└─⟦71c82d5c0⟧ Bits:30004214 LISTAID - Partslist management system └─ ⟦this⟧ »SOTIN.PRG«
******************************************************************************* * DESIGN: NIF/ASD/SEPTEMBER 85 * ******************************************************************************* * * * PROCEDURE: 'SOTIN' CALLED FROM: TASK:'DSOT','USOT' * * THIS COMMANDFILE IS PART OF THE 'LISTAID' PARTSLIST MANAGEMENT SYSTEM * * IT PROVIDES USER INTERFACE FOR DEFINITION OF COMPONENTS IN SOT-KITS * ******************************************************************************* * * PARAMETERS:INITIALIZED VARIABLES:MTOL,MRATE,MVALIDSTAT,MCONTINUE,OPERDBF * MREFC SET CONFIRM OFF STORE NVALUE TO OLDVALUE STORE 'INIT' TO OLDREFC ERASE *ACCEPT USER-INPUT DO WHILE MVALIDSTAT<>'NO OBJECTION' @ 1,19 SAY ' ' @ 1,1 SAY 'VALIDATION STATE:' @ 1,19 SAY MVALIDSTAT @ 3,1 SAY OPERDBF @ 5,1 SAY 'ENTER COMMAND: ' @ 5,16 GET MCONTINUE PICTURE '!' DO CASE CASE MINTYPE='CREATION' @ 7,1 SAY 'C= CONTINUE, S= COMPLETE THIS ENTRY AND EXIT, D= EXIT' CASE MINTYPE='EDIT' @ 7,1 SAY 'A= ABORT CHANGE, M= MAKE CHANGE, D= DELETE, R= RECALL' @ 7,$+1 SAY ', F= FIND REF.CODE' IF * @ 5,20 SAY 'RECORD MARKED FOR DELETION' ELSE @ 5,20 SAY 'RECORD NOT MARKED FOR DELETION' ENDIF CASE MINTYPE='APPEND' @ 7,1 SAY 'C= CONTINUE, S= COMPLETE THIS ENTRY AND EXIT, D= EXIT' @ 7,$+1 SAY ', F= FIND REF.CODE' ENDCASE READ CLEAR GETS IF .NOT.(MCONTINUE$'DF'.OR.(MINTYPE='EDIT'.AND.MCONTINUE='A')) @ 10,22 SAY 'ENTER REFERENCE CODE:' @ 10,43 GET MREFC PICTURE '!!!###' READ CLEAR GETS IF MCONTINUE#'D'.AND.MCONTINUE<>'F' IF $(MREFC,1,3)#'SOT'.AND.$(MREFC,1,1)#'C'.AND.VAL($(MREFC,1,6))<100001; .AND.$(MREFC,1,3)#'DEL' IF ($(MREFC,1,1)='4'.OR.$(MREFC,1,1)='5') IF $(MREFC,2,1)#' ' STORE 'NO OBJECTION' TO MVALIDSTAT ENDIF ELSE STORE 'REFERENCE CODE SYNTAX ERROR' TO MVALIDSTAT ENDIF ELSE STORE 'NO OBJECTION' TO MVALIDSTAT ENDIF IF $(MREFC,1,3)='SOT' STORE 'MORE LEVELS OF SOT KITS ARE NOT ALLOWED' TO MVALIDSTAT ENDIF *MAKE SURE THAT COMPONENTTYPE HAS NOT BEEN CHANGED IF MREFC#OLDREFC.AND.OLDREFC#'INIT'.AND.MVALIDSTAT='NO OBJECTION' STORE 'REFERENCE CODE HAS BEEN CHANGED' TO MVALIDSTAT STORE 'INIT' TO OLDREFC ERASE ENDIF IF MVALIDSTAT='NO OBJECTION' STORE MREFC TO OLDREFC ENDIF *GET REST OF PARAMETERS IF MVALIDSTAT='NO OBJECTION' DO CASE *RESISTOR CASE $(MREFC,1,1)='4' @ 12,17 SAY "ENTER RESISTANCE IN OHM'S:" @ 12,43 GET NVALUE *CAPACITOR CASE $(MREFC,1,1)='5' @ 12,19 SAY 'ENTER CAPACITANCE IN nF:' @ 12,43 GET NVALUE @ 14,23 SAY 'ENTER RATED VOLTAGE: V' @ 14,43 GET MRATE PICTURE '####' ENDCASE IF $(MREFC,1,1)='4'.OR.$(MREFC,1,1)='5' @ $+2,9 SAY 'ENTER TOLERANCE <%=REL. , A=ABS.>:' @ $,43 GET MTOLV PICTURE '##.##' @ $,48 GET MTOLT PICTURE '!' ENDIF READ *RESISTOR + CAPACITOR SYNTAX CHECK IF ($(MREFC,1,1)='4'.OR.$(MREFC,1,1)='5').AND.MVALIDSTAT='NO OBJECTION' IF NVALUE=0 STORE 'VALUE MUST BE GREATER THAN ZERO' TO MVALIDSTAT ELSE IF MTOLT#'%'.AND.MTOLT#'A' STORE 'ILLEGAL TOLERANCE-TYPE' TO MVALIDSTAT ELSE IF MTOLV=0 STORE 'TOLERANCE EXCEEDING PHYSICAL CONSTRAINTS' TO MVALIDSTAT ELSE IF VAL(MRATE)<=0.AND.$(MREFC,1,1)='5' STORE "THIS CAPACITOR WOULDN'T STAND ANY VOLTAGE" TO MVALIDSTAT ELSE STORE STR(VAL(MRATE),4) TO MRATE STORE 'NO OBJECTION' TO VALIDSTATE ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF *OVERRULE SYNTAXCHECK STORE # TO MCURRENT GO BOTTOM DO CASE CASE MCONTINUE='D' IF (#=1) STORE 'MODULE_FILE DELETED: '+ OPERDBF TO STATUS STORE 'NO OBJECTION' TO MVALIDSTAT ELSE STORE 'NO OBJECTION' TO MVALIDSTAT ENDIF CASE MCONTINUE='F' STORE 'NO OBJECTION' TO MVALIDSTAT ENDCASE GO MCURRENT ENDDO *REPLACE RECORDS WITH MEMVARS IF MCONTINUE<>'F'.AND..NOT.(MINTYPE='EDIT'.AND.MCONTINUE='A') REPLACE REF:CODE WITH MREFC IF $(MREFC,1,1)='4'.OR.$(MREFC,1,1)='5' IF MTOLV>=1 STORE STR(MTOLV,3) TO MVAL ELSE STORE '.'-$(STR(MTOLV,5,2),4,2) TO MVAL ENDIF REPLACE TOLERANCE WITH MVAL-MTOLT IF $(MREFC,1,1)='5' REPLACE RATED:VOLT WITH MRATE ENDIF ENDIF ELSE REPLACE NVALUE WITH OLDVALUE ENDIF SET CONFIRM ON RELEASE OLDREFC,OLDVALUE ERASE RETURN *TO CALLING COMMANDFILE «eof»