1 ! PROGRAM COSAP2, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM COSAP2 IS PART OF THE COSAP MAINLINE CHAIN. ! IT IS ONE OF THE SEVERAL PROGRAMS AND FILES WHICH COMPOSE COSAP, ! LAWRENCE UNIVERSITY'S CONVERSATIONALLY ORIENTED STATISTICAL 3 ! ANALYSIS PACKAGE. COSAP IS DISTRIBUTED FOR EDUCATIONAL USE, ON ! THE CONDITION THAT IT NOT BE SOLD, RENTED OR LEASED FOR PROFIT. ! 4 ! IF YOU DESIRE FURTHER INFORMATION ABOUT COSAP, PLEASE CONTACT THE ! LAWRENCE UNIVERSITY COMPUTER CENTER, APPLETON, WISCONSIN, 54911. ! 5 ! *********** IMPORTANT NOTE ON PROTECTION CODE FOR COSAP2 ********** ! COSAP2 MUST BE PROTECTION CODED <168>. TO ACCOMPLISH THIS, ! COMPILE COSAP2 IN ACCOUNT [100,250]; THEN LOG ON AS A 6 ! PRIVILEGED USER ([1,X]) AND COMMAND THE FOLLOWING: ! NAME "[100,250]COSAP2.BAC" AS "[100,250]COSAP2.BAC<168>" ! THIS IS ABSOLUTELY CRITICAL FOR THE PROPER RUNNING OF COSAP! 7 ! ******************************************************************* ! 25 DIM N%(30%) 40 DEF FNZ$ : IF N%(0%)=30% THEN 55 ELSE CHANGE SYS(CHR$(6%)+CHR$(9%)+CHR$(0%)) TO N% : Z8$=".J"+RIGHT(NUM$(N%(1%)/2%),2%) 55 FNZ$=Z8$ 70 FNEND 190 DIM #1%,X(200%,50%),H$(30%)=2%,C(50%,50%),M4(0),M5(0),M9(0), N(0),J9(0),I4(0),I7(0),N6(0),X2(50%),L1$(8%)=32% 1255 OPEN "DAT1"+FNZ$ AS FILE 1% : IF INSTR(1%,L1$(1%),"]") THEN 1270 ELSE PRINT : PRINT "DO YOU WANT TO SAVE DATABANK " LEFT(L1$(1%),10%) " *"; : INPUT N$ : C%=O% 1260 ON ERROR GOTO 1265 : IF ASCII(N$)=78% THEN KILL L1$(1%) ELSE IF ASCII(N$)=83% THEN 1280 ELSE PRINT"YOUR DATABANK WILL BE " "SAVED IN ACCOUNT [100,250] FOR 7 DAYS." 1265 RESUME 1270 1270 ON ERROR GOTO 32767 : KILL "DAT1"+FNZ$ : GOTO 32767 1280 PRINT : PRINT "PUT DATABANK IN ACCOUNT ([N,M] FORM)"; : INPUT LINE N$ : I%=INSTR(1%,N$,CHR$(13%)+CHR$(10%)) : GO TO 1280 UNLESS I% 1290 N$=LEFT(N$,I%-1%) : I%=INSTR(1%,N$,CHR$(91%)) : J%=INSTR(1%,N$,CHR$(93%)) : IF I% AND J% THEN IF I%91% THEN 1280 ELSE M%(I%)=0% FOR I%=1% TO 30% : CHANGE SYS(CHR$(6%)+CHR$(-10%)+N$) TO N% : M%(7%)=N%(5%) : M%(8%)=N%(6%) : M%(1%)=6% : M%(2%)=14% : M%(0%)=30% 1315 CHANGE M% TO A$ : CHANGE SYS(A$) TO M% 1320 A$=SYS(CHR$(6%)+CHR$(-7%)) : ON ERROR GOTO 1400 : PRINT "PASSWORD OF ";N$; : A$=SYS(CHR$(3%)) : INPUT P$ : A$=SYS(CHR$(2%)) : PRINT : CHANGE SYS(CHR$(6%)+CHR$(-10%)+P$) TO N% 1330 FOR I%=7% TO 10% : IF N%(I%)=M%(I%+2%) THEN 1334 ELSE C%=C%+1% : IF C%>5% THEN 1255 ELSE PRINT : PRINT "INVALID PASSWORD -- TRY AGAIN." : GOTO 1280 1334 NEXT I% 1340 P$=L1$(1%) : CLOSE 1% : OPEN P$ FOR INPUT AS FILE 1% : OPEN P$+N$ FOR OUTPUT AS FILE 2% : FIELD #1%, 512% AS I$ : FIELD #2%,512% AS O$ 1350 ON ERROR GO TO 1360 : GET #1% : LSET O$=I$ : PUT #2% : GO TO 1350 1360 IF ERR=13% THEN RESUME ELSE IF ERR=28% THEN 1400 1370 CLOSE 1%,2% : NAME P$+N$ AS P$+N$+"<0>" : PRINT "YOUR DATABANK " "HAS BEEN SAVED IN ACCOUNT ";N$:PRINT"WITH A PROTECTION CODE " "OF <0>." 1375 PRINT"THERE IS NO LONGER A COPY OF YOUR DATABANK IN ACCOUNT " "[100,250].":RESUME 1420 1400 IF ERR=10% THEN IF ERL=1340% THEN PRINT : PRINT "FILE EXISTS IN" " ACCOUNT ";N$ : GO TO 1255 1410 RESUME 1420 1420 ON ERROR GO TO 1430 : KILL "DAT1"+FNZ$ 1440 RESUME 1450 1450 ON ERROR GO TO 32767 : KILL P$ : GOTO 32767 32767 PRINT : PRINT"******* END OF COSAP RUN. ALL FILES USED ARE" " CLOSED *******" : END