'********************************** '* * '* Program MAKEMT * '* Creates new empty bank * '* * '********************************** '************************************* ' 'Module to read the file PROTOCOL 'File PROTOCOL contains path information and printer protocol information ' '************************************* DIM DSK$(15) 306 ON ERROR GOTO 310 OPEN "I", #1, "PROTOCOL" 308 FOR N = 1 TO 11 INPUT #1, A$ INDX = VAL(LEFT$(A$, 2)) DSK$(INDX) = RIGHT$(A$, LEN(A$) - 3) NEXT N LINE INPUT #1, A$ IFORM% = VAL(RIGHT$(A$, LEN(A$) - 3)) IFORM% = IFORM% * 2 LINE INPUT #1, A$ CR$ = CHR$(VAL(RIGHT$(A$, LEN(A$) - 3))) LINE INPUT #1, A$ LF$ = CHR$(VAL(RIGHT$(A$, LEN(A$) - 3))) LINE INPUT #1, A$ FOR M = 6 TO LEN(A$) IF ASC(MID$(A$, M, 1)) = 44 THEN 314 NEXT M GOTO 313 314 NC = VAL(MID$(A$, 5, M - 5)) IIS = M + 1 HLF$ = "" FOR N = 1 TO NC IF N = NC THEN 315 FOR M = IIS TO LEN(A$) IF ASC(MID$(A$, M, 1)) = 44 THEN 316 NEXT M FOR M = IIS TO LEN(A$) IF ASC(MID$(A$, M, 1)) = 44 THEN 316 NEXT M GOTO 313 316 HLF$ = HLF$ + CHR$(VAL(MID$(A$, IIS, M - IIS))) IIS = M + 1 NEXT N 315 HLF$ = HLF$ + CHR$(VAL(RIGHT$(A$, LEN(A$) - IIS + 1))) LINE INPUT #1, A$ FF$ = CHR$(VAL(RIGHT$(A$, LEN(A$) - 3))) CLOSE GOTO 150 310 RESUME 313 313 CLOSE CHAIN "START" '************************************** ' 'End PROTOCOL module ' '************************************** 150 COLOR 7, 0 160 CLS 170 LOCATE 11, 1, 1, 6, 7 180 PRINT "Type filename for this bank" PRINT "Bank will be created in subdirectory containing all of your banks." 185 PRINT STRING$(80, " "); LOCATE 14, 1, 1, 6, 7 PRINT "5-character filename"; 190 COLOR 0, 7 200 ON ERROR GOTO 340 210 INPUT F$ 220 COLOR 7, 0 IF LEN(F$) < 5 OR LEN(F$) > 5 THEN 221 ELSE 222 221 PRINT "BANK NAME MUST BE 5 NON-BLANK CHARACTERS A-->Z, 0-->9" PRINT "PLEASE TYPE AGAIN." GOSUB ALERT LOCATE 14, 1, 1, 6, 7 COLOR 7, 0 GOTO 185 222 FOR N = LEN(F$) TO LEN(F$) - 4 STEP -1 T = ASC(MID$(F$, N, 1)) IF T > 47 AND T < 58 OR T > 64 AND T < 91 OR T > 96 AND T < 123 THEN 225 ELSE 221 225 NEXT N 230 OPEN "I", #11, DSK$(11) + F$ 240 CLOSE 250 LOCATE 15, 1, 1, 6, 7 260 COLOR 0, 7 270 PRINT "file "; F$; " already exists. Choose another name " GOSUB ALERT 280 LOCATE 14, 1, 1, 6, 7 290 COLOR 7, 0 300 GOTO 185 COLOR 0, 7 320 LOCATE 14, 1, 1, 6, 7 330 GOTO 185 340 IF ERR = 64 OR ERR = 76 THEN 344 ELSE 346 344 PRINT "ILLEGAL FORM FOR FILENAME." GOSUB ALERT LOCATE 14, 1, 1, 6, 7 RESUME 185 346 IF ERR = 53 THEN RESUME 350 ELSE 348 348 PRINT "ERROR CODE = "; ERR PRINT "JOB TERMINATION BECAUSE OF ERROR CODE "; ERR CLOSE STOP 350 CLOSE 360 OPEN "R", #11, DSK$(11) + F$, 80 370 FIELD #11, 80 AS PKTXT$ 380 COLOR 7, 0 390 CLS 400 LOCATE 14, 1, 1, 6, 7 410 PRINT "Type a name for this question bank (80 characters or less)" 420 COLOR 0, 7 430 INPUT T$ 440 COLOR 7, 0 450 CLS 460 LOCATE 14, 1, 1, 6, 7 470 PRINT "How many items do you realistically plan to put into this bank?" 480 COLOR 0, 7 490 INPUT NI 500 COLOR 7, 0 510 CLS 520 COLOR 0, 7 530 LOCATE 14, 1, 1, 6, 7 540 PRINT "Bank being created. Please stand by." 550 LOCATE 16, 1, 1, 6, 7 560 LSET PKTXT$ = T$ 570 PUT #11, 1 580 NI = INT(1.1 * NI) 590 ON ERROR GOTO 800 600 CEREC = 2 610 CNREC = 0 620 IBREC = NI + 2 630 IEREC = NI + 1 640 DUM$ = STR$(CEREC) + STRING$(10 - LEN(STR$(CEREC)), 32) + STR$(CNREC) + STRING$(10 - LEN(STR$(CNREC)), 32) + STR$(IBREC) + STRING$(10 - LEN(STR$(IBREC)), 32) + STR$(IEREC) + STRING$(10 - LEN(STR$(IEREC)), 32) 650 LSET PKTXT$ = DUM$ 660 PUT #11, 2 670 LSET PKTXT$ = STRING$(80, " ") 680 FOR N = 1 TO NI 690 PUT #11, N + 2 700 NEXT N 710 PRINT "Bank "; F$; " created." 720 LOCATE 18, 1, 1, 6, 7 730 PRINT "Type any key to continue" 740 A$ = INKEY$ 750 IF LEN(A$) = 0 THEN 740 760 CLOSE #11 770 COLOR 7, 0 780 CLS 790 GOTO 820 800 PRINT "BANK CANNOT BE CREATED, PROBABLY BECAUSE OF LACK OF SPACE" 810 PRINT "ERROR NUMBER IS "; ERR 820 CHAIN "MICROSOC" 830 END ALERT: FOR N = 1 TO 20 SOUND 900 - N * 10, .1 NEXT N FOR N = 1 TO 20 SOUND 700 + N * 10, .1 NEXT N RETURN