100 ! COUNTX -- NUMERIC-ONLY COLUMNAR FREQUENCY ! COUNTER FOR WCIS FILES. ONE OR TWO COLUMNS ! MAY BE COUNTED ('VAL' FUNCTION IS USED) 120 ! 01-DEC-73 J. WARDEN WABASH COLLEGE 140 DIM I$(20),C$(20),C1%(255%) 160 OPEN"KB:" AS FILE 3% 180 PRINT"NUMERIC FREQ CTR V02A" 200 DEF FNF$(X%)="<"+MID(NUM$(X%),2%,LEN(NUM$(X%))-2%)+">" 220 PRINT"#"; : INPUT LINE #3%,F$ 240 Q9%=0% : C1%(I%)=0% FOR I%=0% TO 255% 260 IF ASCII(F$)=13% THEN CLOSE 3% : GO TO 1260 280 F%=ASCII(RIGHT(F$,LEN(F$))) : IF F%=10% OR F%=13% OR F%=27% THEN F$=LEFT(F$,LEN(F$)-1%) : GO TO 280 300 IF LEFT(F$,3%)="/HE" THEN 1120 320 IF LEFT(F$,4%)="/CH:" THEN ON ERROR GO TO 740 : CHAIN RIGHT(F$,5%) 340 IF LEFT(F$,3%)="/EX" THEN CLOSE 3% : GO TO 1260 360 F%=INSTR(1%,F$,"/EX") : IF F% THEN Q9%=1% : F$=LEFT(F$,F%-1%)+RIGHT(F$,F%+3%) 380 F%=INSTR(1%,F$,"/C:") : IF F%=0% THEN PRINT"RETYPE PLEASE" : GO TO 220 400 Z=VAL(RIGHT(F$,F%+3%)) : F$=LEFT(F$,F%-1%) 405 Z%=Z : Z2%=(Z-Z%)*10% 410 IF (Z2%-1%)*(Z2%-2%) THEN PRINT "** 1 OR 2 COLUMNS ONLY **" : GO TO 220 420 F%=INSTR(1%,F$,"/") : IF F%=0% THEN PRINT"RETYPE PLEASE" : GO TO 220 440 N%=VAL(RIGHT(F$,F%+1%)) : F$=LEFT(F$,F%-1%) 460 N1%=510%/N% : N6%=N%-1% 480 C%=0% : Q%=0% 500 ON ERROR GO TO 680 520 L$="VALUE" 540 L%=10^Z2% 560 Q%=2% 580 OPEN F$ FOR INPUT AS FILE 2% 600 FIELD#2,N1%*R%ASZ$,6%ASI$(R%),Z%-7%ASY$,Z2%ASC$(R%)FORR%=0%TON6% 620 IF R%11% THEN 720 ELSE RESUME 700 700 CLOSE 2% : GO TO 920 720 IF ERR=52% THEN 820 740 IF ERR<>5% THEN ON ERROR GO TO 0 760 PRINT"** CAN'T FIND FILE "+F$+" **" 780 RESUME 220 800 ! ILLEGAL NUMBER CORRECTOR 820 IF Q%>0% THEN 880 840 PRINT"** INPUT ERROR - START OVER!!" 860 PRINT : RESUME 220 880 C1%(L%)=C1%(L%)+1% 900 RESUME 620 920 ! OUTPUT COUNT 940 PRINT : PRINT 960 PRINT L$,"NO. RECORDS" 980 PRINT"--------","-----------" 1000 FOR J%=0% TO L%-1% : IF C1%(J%)=0% THEN 1060 1020 PRINT J%,C1%(J%) 1060 NEXT J% 1070 IF C1%(L%) THEN PRINT : PRINT"ALPHA CHAR",C1%(L%) 1080 PRINT : PRINT"* TOTAL *",C% : IF Q9% THEN CLOSE 3% : GO TO 1260 1100 PRINT : GO TO 220 1120 PRINT : PRINT"COMMAND LINE MUST BE WRITTEN AS FOLLOWS:" 1140 &"DEV:FILE / (## REC/BLK) / C: [COL ##] . [1 OR 2 COL]" 1160 &:&" FOR EXAMPLE: DK1:FILE/4/C:7.2" 1164 &:&" COUNTS COL 7-8 OF FILE 'DK1:FILE' WHICH "; "IS WRITTEN 4 REC/BLOCK.":& 1180 &"IF COMMAND IS CORRECT A FREQUENCY TABLE WILL BE" : &"PRINTED." :&:&"ADDITIONAL COMMANDS:" 1200 &:&" /HELP PRINTS EXPLANATION" : &" /CH:PROG CHAINS TO PROGRAM 'PROG'" 1220 &" /EX (OR ) EXITS FROM PROGRAM":& 1240 GO TO 220 1260 END