3000 REM DFCALC 1.2 PROGRAM FOR DATAFILE BY MIKE KONSHAK (C)1985 3004 POKE53281,11:POKE53280,2:PRINT"[158]":OPEN4,4:GOSUB4000 3006 REM----DIM ARRAYS 3008 B$=CHR$(32):PI=3.14159265:CR$=CHR$(13) 3010 FORI=1TO100:S$=S$+CHR$(32):NEXTI 3012 DIM F$(31),T%(31),L%(31),REC$(31),SUM(17),BUF(17) 3014 DIM F(17),C$(17,15),PC(18),TT$(5),HC$(17):GOTO3044 3016 REM----GET 3018 GETA$:IFA$=""THEN3018 3020 RETURN 3022 REM----PROMPT 3024 PRINT" PRESS C[146]ONT R[146]EDO S[146]TART J[146]UMP E[146]XIT" 3026 GOSUB3018:RETURN 3028 REM----CLEAR TOP 13 ROWS OF SCREEN 3030 FORZ=1TO13:POKE781,Z:SYS59903:NEXTZ:RETURN 3032 REM----DISK ERROR 3034 INPUT#15,EN,EM$,ET,ES:IF(EN<20)OR(EN=62)THENET=0:RETURN 3036 PRINT" [150]DISK ERROR[146]"EN"[157], "EM$","ET"[157],"ES"[158]":ET=8 3038 PRINT" PRESS ANY KEY[146] TO CONTINUE" 3040 GOSUB3018:CLOSE5:CLOSE15:RETURN 3042 REM----STARTING MENU 3044 PRINT"[147]  CALCULATED REPORTS PROGRAM " 3046 PRINT" USE P[146]REDEFINED FORMAT" 3048 PRINT" OR D[146]EFINE NEW FORMAT" 3050 PRINT" $[146] DISK DIRECTORY" 3052 PRINT" Q[146]UIT PROGRAM" 3054 PRINT"  PRESS THE APPROPRIATE KEY [146]" 3056 GOSUB3018:IFA$="Q"THENCLOSE4:PRINT"[147]":END 3058 IFA$="D"THENK=1:GOTO3068 3060 IFA$="P"THENK=2:FL=0:GOTO3068 3062 IFA$="$"THENDIR=0:GOTO3940 3064 GOTO3056 3066 REM----OPEN DATAFILE, READ FILE STRUCTURE 3068 PRINT" INSERT DISK WITH THE DATAFILE TO BE" 3070 PRINT" USED FOR CALCULATED REPORTS." 3072 PRINT" ENTER THE NAME OF THE DATAFILE:" 3074 PRINT" ? "NF$:INPUT"[145] ";A$:IFA$=""THEN3044 3076 IFA$=NF$THEN3096 3078 NF$=A$ 3080 OPEN15,8,15:OPEN5,8,5,"0:DF] "+NF$+",S,R":GOSUB3034:IFET=8THEN3044 3082 IFEN=62THENGOSUB3036:GOTO3044 3084 INPUT#5,R,F,X:GOSUB3034:IFET=8THEN3044 3088 FORN=1TOF:INPUT#5,F$(N),L%(N):NEXTN:GOSUB3034:IFET=8THEN3044 3090 CLOSE5:CLOSE15 3092 IFK=2THEN3386 3094 REM----DEFINE NEW FORMAT 3096 CK=1:PRINT"[147]  DEFINE REPORT HEADER FORMAT [146]" 3098 PRINT" ENTER WIDTH OF REPORT (136 MAX)" 3100 PRINT" ? 0[157][157]"PW:INPUT"[145] ";PW:IFPW>136THENPRINT"[145][145][145][145][145][145][145]":GOTO3098 3102 PRINT" ENTER NUMBER OF TITLE LINES IN THE" 3104 PRINT" REPORT HEADER (4 LINES MAX)" 3106 PRINT" "NL:INPUT"[145] ";NL:IFNL>4THENPRINT"[145][145][145][145][145][145][145]":GOTO3102 3108 IFNL=0THENTT$(1)="NO TITLES":GOTO3118 3110 PRINT:FORJ=1TONL:PRINT" TITLE #"J:PRINT" ? >[157]"TT$(J) 3112 IFLEN(TT$(J))>37THENPRINT"[145]"; 3114 INPUT"[145] ";TT$(J):IFTT$(J)=""THENTT$(J)=">" 3116 NEXTJ 3118 GOSUB3024:IFA$="E"THEN3044 3120 IFA$="J"THEN3386 3122 IFA$="R"ORA$="S"THEN3096 3124 REM----PRINT FIELD INFO FOR REFERENCE 3126 PRINT"[147]":FORI=1TO(22-INT(F/2)):PRINTCHR$(17);:NEXTI 3128 PRINT" FIELD NAME(LENGTH) DATA FOR "+NF$+"[158]" 3130 OE=1:IF(F/2)=INT(F/2)THENOE=0:GOTO3132 3132 OF=INT(F/2):FORI=1TOOF+OE 3134 PRINT" "I"[146]"F$(I)L%(I); 3136 IFOE=1THEN3140 3138 PRINTTAB(19)""I+OF"[146]"F$(I+OF)L%(I+OF):GOTO3142 3140 IFI+OF16THEN3148 3164 GOSUB3024:IFA$="E"THEN3044 3166 IFA$="J"THEN3386 3168 IFA$="R"THEN3148 3170 IFA$="S"THEN3096 3172 REM----COLUMN POSITION 3174 FORI=1TONC:GOSUB3030 3176 PRINT" ENTER POSITION OF COLUMN "I"" 3178 PRINT" ? 0[157][157]"PC(I):INPUT"[145] ";PC(I):IFPC(I)=0THEN3174 3180 IFPC(I)>PWTHENPRINT"[145][145]":GOTO3178 3182 NEXTI 3184 GOSUB3024:IFA$="E"THEN3044 3186 IFA$="J"THEN3386 3188 IFA$="R"THEN3174 3190 IFA$="S"THEN3096 3192 FORI=1TONC:GOSUB3030 3194 REM----COLUMN HEADING 3196 PRINT" ENTER HEADING OF COLUMN "I 3198 PRINT" HEADING IS ";:IFI=NCTHENPRINTPW-PC(I);:GOTO3202 3200 PRINTPC(I+1)-2-PC(I); 3202 PRINT"[146] CHARACTERS WIDE" 3204 PRINT" ? >[157]"HC$(I):INPUT"[145] ";HC$(I):IFHC$(I)="R"THEN3192 3206 NEXTI 3208 GOSUB3024:IFA$="E"THEN3044 3210 IFA$="J"THEN3386 3212 IFA$="R"THEN3192 3214 IFA$="S"THEN3096 3216 REM----COLUMN CONTENTS DATA 3218 FORI=1TONC:PRINT"  FORMAT INPUT ROUTINES FOR COLUMN"I 3220 GOSUB3030:PRINT" ENTER CONTENTS OF COLUMN "I 3222 PRINT" CHOOSE F[146]IELD DATA" 3224 PRINT" E[146]QUATION" 3225 PRINT" R[146]UNNING TOTAL" 3226 PRINT" #[146] RECORD NUMBER" 3228 PRINT" ? F[157]"LEFT$(C$(I,1),1):INPUT"[145] ";C$:C$(I,1)=C$+MID$(C$(I,1),2) 3230 IFC$="#"THENC$(I,1)="#":C$(I,13)="N":GOTO3344 3232 IFC$="F"THEN3238 3234 IFC$="E"THEN3260 3235 IFC$="R"THEN3239 3236 PRINT"[145][145]":GOTO3228 3238 PRINT" WHICH FIELD # WILL BE IN COLUMN "I:GOTO3241 3239 PRINT" WHICH COLUMN # IS TO HAVE A RUNNING" 3240 PRINT" TOTAL IN COLUMN "I"[146][157]? ENTER 1[146] THRU "I-1:GOTO3245 3241 PRINT" ENTER 1[146] THRU "F 3242 PRINT" ? "MID$(C$(I,1),2,2):INPUT"[145] ";C$ 3243 IF(VAL(C$)>F)OR(VAL(C$)<=0)THENPRINT"[145][145]":GOTO3242 3244 GOTO3247 3245 PRINT" ? "MID$(C$(I,1),2,2):INPUT"[145] ";C$ 3246 IF(VAL(C$)>I-1)OR(VAL(C$)<=0)THENPRINT"[145][145]":GOTO3245 3247 C$(I,1)=LEFT$(C$(I,1),1)+C$ 3248 GOTO3328 3250 GOSUB3024:IFA$="E"THEN3044 3252 IFA$="J"THEN3386 3254 IFA$="R"THEN3220 3256 IFA$="S"THEN3096 3258 REM----COLUMN CONTENTS CALCULATION 3260 EQ=2:OP=1:FORJ=0TO3:RS$(J)="":NEXTJ:GOTO3264 3262 EQ=EQ+4:OP=OP+1 3264 GOSUB3030:PRINT" ENTER EQUATION "OP"[146]FOR COLUMN "I 3266 IFOP>1THENGOSUB3308 3268 PRINT" RES[146]="RS$(OP-1) 3270 PRINT" OPERAND X? .[157]"C$(I,EQ) 3272 PRINT" OPERATOR ? .[157]"C$(I,EQ+1) 3274 PRINT" OPERAND Y? .[157]"C$(I,EQ+2) 3276 PRINT""TAB(10):INPUTC$(I,EQ) 3278 PRINTTAB(10):INPUTC$(I,EQ+1) 3280 PRINTTAB(10):INPUTC$(I,EQ+2) 3282 GOSUB3308:PRINT" RES="RS$(OP)"[158]":C$(I,14)=RS$(OP) 3284 GOSUB3024:IFA$="E"THEN3044 3286 IFA$="J"THEN3386 3288 IFA$="R"THEN3220 3290 IFA$="S"THEN3096 3292 IFEQ=10THEN3328 3294 PRINT"[145] EXPAND EQUATION? Y[146] OR N[146] " 3296 PRINT" ? N[157]"C$(I,EQ+3):INPUT"[145] ";C$(I,EQ+3) 3298 IFC$(I,EQ+3)="Y"THEN3262 3300 : 3302 IFC$(I,EQ+3)="N"THENFORJ=EQ+4TO12:C$(I,J)=".":NEXTJ:GOTO3328 3304 PRINT"[145][145]":GOTO3294 3306 REM----COMBINE OPERATIONS 3308 ONOPGOTO3310,3312,3318 3310 RS$(1)=C$(I,2)+C$(I,3)+C$(I,4):GOTO3324 3312 IFC$(I,6)="RES"THEN3316 3314 RS$(2)=C$(I,6)+C$(I,7)+"("+RS$(1)+")":GOTO3324 3316 RS$(2)="("+RS$(1)+")"+C$(I,7)+C$(I,8):GOTO3324 3318 IFC$(I,10)="RES"THEN3322 3320 RS$(3)=C$(I,10)+C$(I,11)+"("+RS$(2)+")":GOTO3324 3322 RS$(3)="("+RS$(2)+")"+C$(I,11)+C$(I,12) 3324 RETURN 3326 REM----FIELD TOTALS 3328 GOSUB3030:PRINT" SET END-OF-COLUMN OPERATION" 3330 PRINT" OPTIONS: T[146]OTAL SUM OF COLUMN" 3332 PRINT" A[146]VERAGE CONTENTS OF COLUMN" 3334 PRINT" N[146]O OPERATION TO COLUMN" 3336 PRINT" ? N[157]"C$(I,13):INPUT"[145] ";C$(I,13) 3338 IF(C$(I,13)="T")OR(C$(I,13)="A")OR(C$(I,13)="N")THEN3344 3340 PRINT"[145][145]":GOTO3336 3342 REM----SET JUSTIFICATIONS 3344 GOSUB3030:PRINT" SET COLUMN JUSTIFICATION 3346 [153]" OPTIONS: LWAITEFT" 3348 [153]" RWAITIGHT" 3350 [153]" CWAITURRENCY ($.00)" 3352 [153]" PWAITERCENT (%)" 3354 [153]" DWAITECIMALS TO RIGHT" 3356 [153]" ? LCMD"[200](C$(I,0),1):[133]"ON ";C$:C$(I,0)[178]C$[170][202](C$(I,0),2) 3358 [139](C$[178]"L")[176](C$[178]"R")[176](C$[178]"C")[167]3370 3360 [139](C$[178]"P")[176](C$[178]"D")[167]3364 3362 [153]"ONON":[137]3356 3364 [153]" # OF PLACES TO THE RIGHT OF DECIMAL:" 3366 [153]" ? 1CMD"[202](C$(I,0),2,1):[133]"ON ";C$ 3368 C$(I,0)[178][200](C$(I,0),1)[170]C$ 3370 [141]3024:[139]A$[178]"E"[167]3044 3372 [139]A$[178]"J"[167]3386 3374 [139]A$[178]"R"[167]3220 3376 [139]A$[178]"S"[167]3096 3378 [129]J[178]0[164]14:[139]C$(I,J)[178]""[167]C$(I,J)[178]"." 3380 [130]J:[130]I 3382 FL[178]1 3384 [143]----OPERATIONS MENU 3386 [153]"LOAD  CALCULATED REPORTS OPERATIONS MENU WAIT" 3388 [153]" CURRENT DATAFILE: "NF$"SYS" 3390 [139]FL[178]1[167][153]" SWAITAVE REPORT FORMAT" 3392 [153]" LWAITOAD REPORT FORMAT" 3394 [139]FL[178]1[167][153]" CWAITHANGE REPORT FORMAT" 3396 [139]FL[178]1[167][153]" PWAITRINT RECORDS" 3397 [153]" RWAITECONFIGURE PRINTER" 3398 [153]" $WAIT DISK DIRECTORY" 3400 [153]" EWAITXIT THIS DATAFILE" 3402 [153]"  PRESS THE APPROPRIATE KEY WAIT" 3404 [141]3018:[139]A$[178]"E"[175]CK[178]0[167]3044 3406 [139]A$[178]"S"[167]3430 3408 [139]A$[178]"L"[167]3456 3410 [139]A$[178]"C"[167]3096 3412 [139]A$[178]"P"[167]3496 3414 [139]A$[178]"$"[167]DIR[178]1:[137]3940 3416 [139]A$[178]"E"[175]CK[178]1[167]3420 3417 [139]A$[178]"R"[167][141]4000:[137]3386 3418 [137]3404 3420 [153]"ON DEFYOU HAVE NOT SAVED YOUR NEW FORMAT!!!WAITSYS" 3422 [153]" DO YOU STILL WANT TO EXIT? YWAIT OR NWAIT? " 3424 [141]3018:[139]A$[178]"Y"[167]3044 3426 [137]3386 3428 [143]----SAVE REPORT FORMAT 3430 [153]" SAVE UNDER WHAT FILE NAME?" 3432 [153]" ? "NF$:[133]"ON ";CF$:[139]CF$[178]""[167]3386 3434 [153]" SAVING CALCULATED REPORT FORMAT" 3436 [159]15,8,15:[152]15,"S0:CR] "[170]CF$:[141]3034:[139]ET[178]8[167]3386 3438 [159]5,8,5,"0:CR] "[170]CF$[170]",S,W":[141]3034:[139]ET[178]8[167]3386 3440 [152]5,PW;CR$;NL;CR$;NC:[141]3034:[139]ET[178]8[167]3386 3442 [129]J[178]1[164]NL:[152]5,TT$(J):[130]J:[141]3034:[139]ET[178]8[167]3386 3444 [129]I[178]1[164]NC:[152]5,PC(I);CR$;HC$(I):[141]3034:[139]ET[178]8[167]3386 3446 [129]J[178]0[164]14:[152]5,C$(I,J):[130]J:[141]3034:[139]ET[178]8[167]3386 3448 [130]I 3450 [152]5,"EOF" 3452 [160]5:[160]15:CK[178]0:[137]3386 3454 [143]----LOAD REPORT FORMAT 3456 [153]" LOAD FORMAT FROM WHAT FILE?" 3458 [153]" ? "NF$:[133]"ON ";CF$:[139]CF$[178]""[167]3386 3460 [153]" LOADING CALCULATED REPORT FORMAT" 3462 [159]15,8,15:[159]5,8,5,"0:CR] "[170]CF$[170]",S,R":[141]3034:[139]ET[178]8[167]3386 3464 [139]EN[178]62[167][141]3036:[137]3386 3466 [132]5,PW,NL,NC:[141]3034:[139]ET[178]8[167]3386 3468 [129]J[178]1[164]NL:[132]5,TT$(J):[130]J:[141]3034:[139]ET[178]8[167]3386 3470 [129]I[178]1[164]NC:[132]5,PC(I),HC$(I):[141]3034:[139]ET[178]8[167]3386 3472 [129]J[178]0[164]14:[132]5,C$(I,J):[130]J:[141]3034:[139]ET[178]8[167]3386 3474 [130]I 3476 [160]5:[160]15 3478 FL[178]1:[137]3386 3480 [143]----START PRINT PROCESS 3482 [143]----OPEN DATAFILE CHANNEL AND POSITION TO RECORDS 3484 [159]15,8,15:[159]5,8,5,"0:DF] "[170]NF$[170]",S,R":[141]3034:[139]ET[178]8[167]3386 3486 [139]EN[178]62[167][141]3036:[137]3386 3488 [132]5,RR,F,XR:[141]3034:[139]ET[178]8[167]3386 3490 [129]N[178]1[164]F:[132]5,F$(N),L%(N):[130]N:[141]3034:[139]ET[178]8[167]3386 3492 [142] 3494 [143]----PRINT OPTIONS MENU 3496 [153]"LOAD  PRINT OPTIONS MENU WAIT" 3500 [153]" AWAITLL RECORDS IN FILE" 3502 [153]" FWAITIND RECORDS WITH COMMON FIELDS" 3504 [153]" EWAITXIT BACK TO START" 3506 [153]" POSITION PAPER AT TOP OF PAGE" 3508 [153]"  PRESS THE APPROPRIATE KEY " 3510 [141]3018:[139]A$[178]"E"[167]3386 3512 [139]A$[178]"A"[167]3550 3514 [139]A$[178]"F"[167]3520 3516 [137]3510 3518 [143]----FIND RECORD (SEARCH) 3520 [153]"LOAD  FIND RECORDS WITH COMMON ITEMS " 3522 [141]3484 3524 [129]N[178]1[164]F:[153]" "N"WAIT "F$(N):[130]N 3526 [133]" WHICH FIELD IS TO BE SEARCHED";SF 3528 [139]SF[179]0[176]SF[177]F[167][153]"ONONON":[137]3526 3530 [153]" ENTER COMMON ITEMWAIT":[153]" (THE ENTIRE STRING IS NOT REQUIRED)" 3532 [153]" "F$(SF)"WAIT ";:[133]T$ 3534 [141]3568 3536 [153]:[129]I[178]1[164]XR:[153]" SEARCHING RECORD"I"ON" 3538 [129]N[178]1[164]F:[132]5,REC$(N):[130]N:[141]3034:[139]ET[178]8[167]3386 3540 [139]T$[178][200](REC$(SF),[195](T$))[167][141]3622 3542 [130]I:[141]3662 3544 [152]4,"FILE: "NF$","K"OF"XR"RECORDS REPORTED" 3546 [160]5:[160]15:[129]I[178]1[164]60[171]PG:[141]4034:[130]I:[137]3496 3548 [143]----PRINT ALL RECORDS 3550 [153]"LOAD PRINTING HEADING":[141]3568 3552 [141]3484 3554 [153]"ON";:[129]I[178]1[164]XR:[153]" READING RECORD #"I"ON" 3556 [129]N[178]1[164]F:[132]5,REC$(N):[130]N:[141]3034:[139]ET[178]8[167]3386 3558 [141]3622 3560 [130]I:[141]3662 3562 [152]4,"FILE: "NF$","K"RECORDS REPORTED" 3564 [160]5:[160]15:[129]I[178]1[164]60[171]PG:[141]4034:[130]I:[137]3496 3566 [143]----BEGIN REPORT/CENTER TITLE 3568 PG[178]0:TA[178]0:K[178]0:[129]J[178]1[164]NC:SUM(J)[178]0:[130]J 3570 [129]J[178]1[164]NC:[139]C$(J,13)[179][177]"N"[167]TL[178]1 3572 [130]J:[129]J[178]1[164]NL:[139]TT$(J)[179][177]">"[167][141]3576 3574 [130]J:[137]3584 3576 M[178][181]((PW[171][195](TT$(J)))[173]2):[139]P[179][177]1[167]3580 3578 [152]4,[200](S$,M)[170]TT$(J);B1$;:PG[178]PG[170]1:[142] 3580 [152]4,[200](S$,M)[170]TT$(J);B1$:PG[178]PG[170]1:[142] 3582 [143]----POSITION HEADINGS 3584 [141]3618:J[178]1:PC(NC[170]1)[178]PW[170]3:CW[178]PC(2)[171]2[171]PC(1) 3586 CLM$[178]HC$(J) 3588 [139]C$(J,0)[178]"L"[167][141]3926:[137]3592 3590 [141]3918 3592 [139]PC(1)[177]1[167]3596 3594 [152]4,CLM$;:[137]3598 3596 [152]4,[200](S$,PC(1)[171]1)[170]CLM$; 3598 [129]J[178]2[164]NC 3600 CW[178]PC(J[170]1)[171]2[171]PC(J):CLM$[178]HC$(J) 3602 [139]C$(J,0)[178]"L"[167][141]3926:[137]3606 3604 [141]3918 3606 [152]4,[200](S$,2)[170]CLM$; 3608 [130]J 3610 [141]4034 3612 [141]3618:PG[178]PG[170]3 3614 [142] 3616 [143]----PRINT DASHED LINE 3618 [129]J[178]1[164]PW:[152]4,"-";:[130]J:[141]4034:[142] 3620 [143]----PRINT FILE DATA 3622 K[178]K[170]1:J[178]1 3624 PC(NC[170]1)[178]PW[170]3:CW[178]PC(2)[171]2[171]PC(1) 3626 [141]3740 3628 [141]3708 3630 [139]PC(1)[177]1[167]3636 3632 [152]4,CLM$; 3634 [137]3638 3636 [152]4,[200](S$,PC(1)[171]1)[170]CLM$; 3638 [129]J[178]2[164]NC 3640 CW[178]PC(J[170]1)[171]2[171]PC(J) 3642 [141]3740 3644 [141]3708 3646 [152]4,[200](S$,2)[170]CLM$; 3648 [130]J 3650 [141]4034 3652 PG[178]PG[170]1 3654 [143]----CHECK # LINES ON PAGE 3656 [139]PG[178]60[167][129]J[178]1[164]6:[141]4034:[130]J:PG[178]0:[141]3584 3658 [142] 3660 [143]----PRINT TOTALS/AVERAGES 3662 [141]3618:[139]TL[178]0[167][142] 3664 J[178]1:CW[178]PC(2)[171]2[171]PC(1) 3666 [139]TA[178]0[167][141]3722:[141]3918:[137]3674 3668 [141]3732 3670 [139]C$(J,13)[178]"N"[167][141]3918:[137]3674 3672 [141]3708 3674 [139]PC(1)[177]1[167]3680 3676 [152]4,CLM$; 3678 [137]3682 3680 [152]4,[200](S$,PC(1)[171]1)[170]CLM$; 3682 [129]J[178]2[164]NC 3684 CW[178]PC(J[170]1)[171]2[171]PC(J) 3686 [139]TA[178]0[167][141]3722:[141]3918:[137]3694 3688 [141]3732 3690 [139]C$(J,13)[178]"N"[167][141]3918:[137]3694 3692 [141]3708 3694 [152]4,[200](S$,2)[170]CLM$; 3696 [130]J 3698 [141]4034 3700 [139]TA[178]0[167]TA[178]1:[137]3662 3702 [141]3618 3704 [142] 3706 [143]---DETERMINE JUSTIFICATION 3708 [139][200](C$(J,0),1)[178]"L"[167][141]3926:[142] 3710 [139][200](C$(J,0),1)[178]"R"[167][141]3918:[142] 3712 [139]E[178]1[167][141]3918:[142] 3714 [139][200](C$(J,0),1)[178]"C"[167][141]3904:[142] 3716 [139][200](C$(J,0),1)[178]"D"[167][141]3906:[142] 3718 [141]3934:[142] 3720 [143]---DETERMINE TOTAL/AVG LABEL FOR COLUMN 3722 [139][200](C$(J,13),1)[178]"N"[167] CLM$[178]"":[142] 3724 [139][200](C$(J,13),1)[178]"T"[167] CLM$[178]"TOTAL":[142] 3726 [139]CW[179]7[167]CLM$[178]"AVG":[142] 3728 CLM$[178]"AVERAGE":[142] 3730 [143]---DETERMINE TOTAL/AVG VALUE FOR COLUMN 3732 [139][200](C$(J,13),1)[178]"N"[167] CLM$[178]"":[142] 3734 [139][200](C$(J,13),1)[178]"T"[167] CLM$[178][196](SUM(J)):[142] 3736 [139]K[179][177]0[167]CLM$[178][196](SUM(J)[173]K) 3737 [142] 3738 [143]---DETERMINE CONTENTS OF COLUMN 3740 [139][200](C$(J,1),1)[178]"#"[167] CLM$[178][196](I):[137]3792 3742 [139][200](C$(J,1),1)[178]"F"[167] CLM$[178]REC$([197]([202](C$(J,1),2,2))):[137]3792 3743 [139][200](C$(J,1),1)[178]"R"[167] CLM$[178][196](SUM([197]([202](C$(J,1),2,2)))):[137]3792 3744 [143]----CALCULATIONS ROUTINE 3746 RES[178]0:EQ[178]0 3748 EQ[178]EQ[170]2 3750 [143]----OPERAND X 3752 [139][200](C$(J,EQ),1)[178]"F"[167] X[178][197](REC$([197]([202](C$(J,EQ),2,2)))):[137]3762 3754 [139][200](C$(J,EQ),1)[178]"C"[167] X[178]BUF([197]([202](C$(J,EQ),2,2))):[137]3762 3756 [139][200](C$(J,EQ),3)[178]"RES"[167] X[178]RES:[137]3762 3758 [139][200](C$(J,EQ),2)[178]"PI"[167] X[178]PI:[137]3762 3760 [139][200](C$(J,EQ),1)[179][177]"."[167] X[178][197](C$(J,EQ)) 3762 EQ[178]EQ[170]2 3764 [143]----OPERAND Y 3766 [139][200](C$(J,EQ),1)[178]"F"[167] Y[178][197](REC$([197]([202](C$(J,EQ),2,2)))):[137]3776 3768 [139][200](C$(J,EQ),1)[178]"C"[167] Y[178]BUF([197]([202](C$(J,EQ),2,2))):[137]3776 3770 [139][200](C$(J,EQ),3)[178]"RES"[167] Y[178]RES:[137]3776 3772 [139][200](C$(J,EQ),2)[178]"PI"[167] Y[178]PI:[137]3776 3774 Y[178][197](C$(J,EQ)) 3776 [141]3800 3778 [139]C$(J,EQ[170]1)[179][177]"Y"[176]E[178]1[167]3788 3780 RES[178]Z 3782 [139]EQ[178]12[167]3788 3784 [137]3748 3786 [143]----SET VALUE OF COLUMN/BUFFERS 3788 [139]E[178]1[167]CLM$[178]"??ERROR??":[137]3792 3790 CLM$[178][196](Z) 3792 BUF(J)[178][197](CLM$) 3794 SUM(J)[178]SUM(J)[170][197](CLM$) 3796 [142] 3798 [143]----BASIC MATH OPERATORS 3800 W[178]EQ[171]1 3802 E[178]0 3804 [139]C$(J,W)[178]"+"[167] Z[178]X[170]Y:[142] 3806 [139]C$(J,W)[178]"-"[167] Z[178]X[171]Y:[142] 3808 [139]C$(J,W)[178]"*"[167] Z[178]X[172]Y:[142] 3810 [139]C$(J,W)[178]"/"[175]Y[179][177]0[167] Z[178]X[173]Y:[142] 3812 [139]C$(J,W)[178]"^"[167] Z[178]X[174]Y:[142] 3814 [139]C$(J,W)[178]"SGN"[167] Z[178]Y[172]([171]1):[142] 3816 [143]----SCIENTIFIC OPERATORS 3818 [139]C$(J,W)[178]"SQR"[175]Y[177][178]0[167] Z[178][186](Y):[142] 3820 [139]C$(J,W)[178]"SIN"[167] Z[178][191](Y):[142] 3822 [139]C$(J,W)[178]"COS"[167] Z[178][190](Y):[142] 3824 [139]C$(J,W)[178]"TAN"[175][190](Y)[179][177]0[167] Z[178][192](Y):[142] 3826 [139]C$(J,W)[178]"ATN"[167] Z[178][193](Y):[142] 3828 [139]C$(J,W)[178]"ABS"[167] Z[178][182](Y):[142] 3830 [139]C$(J,W)[178]"LOG"[175]Y[177]0[167] Z[178][188](Y):[142] 3832 [139]C$(J,W)[178]"EXP"[175][182](Y)[179]88[167] Z[178][189](Y):[142] 3834 [139]C$(J,W)[178]"INT"[167] Z[178][181](Y):[142] 3836 [139]C$(J,W)[178]"SEC"[175][190](Y)[179][177]0[167] Z[178]1[173][190](Y):[142] 3838 [139]C$(J,W)[178]"CSC"[175][191](Y)[179][177]0[167] Z[178]1[173][191](Y):[142] 3840 [139]C$(J,W)[178]"COT"[175][192](Y)[179][177]0[167] Z[178]1[173][192](Y):[142] 3842 [139]C$(J,W)[178]"ASN"[175]([171]Y[172]Y[170]1)[177]0[167] Z[178][193](Y[173][186]([171]Y[172]Y[170]1)):[142] 3844 [139]C$(J,W)[178]"ACO"[175]([171]Y[172]Y[170]1)[177]0[167] Z[178][171][193](Y[173][186]([171]Y[172]Y[170]1))[170]PI[173]2:[142] 3846 [139]C$(J,W)[178]"ASC"[175](Y[172]Y[171]1)[177]0[167] Z[178][193](Y[173][186](Y[172]Y[171]1)):[142] 3848 [139]C$(J,W)[178]"ACS"[175](Y[172]Y[171]1)[177]0[167] Z[178][193](Y[173][186](Y[172]Y[171]1))[170]([180](Y)[171]1[172]PI[173]2):[142] 3850 [139]C$(J,W)[178]"ACT"[167] Z[178][193](Y)[170]PI[173]2:[142] 3852 [139]C$(J,W)[178]"INV"[175]Y[179][177]0[167] Z[178]1[173]Y:[142] 3854 [143]----CONVERSIONS 3856 [139]C$(J,W)[178]"RAD"[167] Z[178]Y[172]PI[173]180:[142] 3858 [139]C$(J,W)[178]"DEG"[167] Z[178]Y[172]180[173]PI:[142] 3860 [139]C$(J,W)[178]"INS"[167] Z[178]Y[173]25.4:[142] 3862 [139]C$(J,W)[178]"MMS"[167] Z[178]Y[172]25.4:[142] 3864 [139]C$(J,W)[178]"DFR"[167] Z[178]Y[172]9[173]5[170]32:[142] 3866 [139]C$(J,W)[178]"DCG"[167] Z[178](Y[171]32)[172]5[173]9:[142] 3868 [139]C$(J,W)[178]"GMS"[167] Z[178]Y[173].03536:[142] 3870 [139]C$(J,W)[178]"OZS"[167] Z[178]Y[172].03536:[142] 3872 [139]C$(J,W)[178]"LBM"[167] Z[178]Y[172]2.21:[142] 3874 [139]C$(J,W)[178]"KGM"[167] Z[178]Y[173]2.21:[142] 3876 [139]C$(J,W)[178]"LBF"[167] Z[178]Y[172]4.448:[142] 3878 [139]C$(J,W)[178]"NWF"[167] Z[178]Y[172].2248:[142] 3880 [139]C$(J,W)[178]"MLS"[167] Z[178]Y[173]1.609344:[142] 3882 [139]C$(J,W)[178]"KMS"[167] Z[178]Y[172]1.609344:[142] 3884 [139]C$(J,W)[178]"FPS"[167] Z[178]Y[172].3048:[142] 3886 [139]C$(J,W)[178]"MPS"[167] Z[178]Y[173].3048:[142] 3888 [139]C$(J,W)[178]"PSI"[167] Z[178]Y[172]6.895[174]3:[142] 3890 [139]C$(J,W)[178]"NSM"[167] Z[178]Y[173]6.895[174]3:[142] 3892 [143] IFC$(J,W)="FN1"THEN Z=Y :RETURN:REM USER DEFINED FUNCTION 1 3894 [143] IFC$(J,W)="FN2"THEN Z=Y :RETURN:REM USER DEFINED FUNCTION 2 3896 [143] IFC$(J,W)="FN3"THEN Z=Y :RETURN:REM USER DEFINED FUNCTION 3 3898 [153]" DEFINVALID PARAMETERSYSON":Z[178]0:E[178]1 3900 [142] 3902 [143]----CURRENCY/DECIMAL/RIGHT JUSTIFICATION 3904 R[178]2:[137]3908 3906 R[178][197]([202](C$(J,0),2)) 3908 CLM$[178][196]([181]([197](CLM$)[172]10[174]R[170].5)) 3910 [139][200](CLM$,1)[178]" "[167]CLM$[178][202](CLM$,2) 3912 [139]R[177][195](CLM$)[167]CLM$[178][201]("00000000"[170]CLM$,R) 3914 [139]R[167]CLM$[178][200](CLM$,[195](CLM$)[171]R)[170]"."[170][201](CLM$,R) 3916 [143]----RIGHT JUSTIFY 3918 [139][195](CLM$)[179]CW[167]CLM$[178][201](S$[170]CLM$,CW) 3920 [139][195](CLM$)[177]CW[167]CLM$[178][200](CLM$,CW) 3922 [142] 3924 [143]----LEFT JUSTIFICATION 3926 [139][195](CLM$)[179]CW[167]CLM$[178]CLM$[170][200](S$,CW[171][195](CLM$)) 3928 [139][195](CLM$)[177]CW[167]CLM$[178][200](CLM$,CW) 3930 [142] 3932 [143]----PERCENT/RIGHT JUSTIFICATION 3934 CLM$[178][196]([197](CLM$)[172]100) 3936 [137]3906 3938 [143]----DIRECTORY 3940 [159]15,8,15:[159]5,8,0,"$0":[153]"LOAD":[141]3034:[139]ET[178]8[167]3978 3942 [161]#5,A1$,A2$ 3944 [161]#5,A1$,A2$ 3946 [161]#5,A1$,A2$ 3948 [139]A1$[179][177]""[167]A0[178][198](A1$) 3950 [139]A2$[179][177]""[167]A0[178]A0[170][198](A2$)[172]256 3952 [153][202]([196](A0),2);[163]3); 3954 [161]#5,A2$:[139]ST[179][177]0[167]3972 3956 [139]A2$[179][177][199](34)[167]3954 3958 [161]#5,A2$:[139]A2$[179][177][199](34)[167][153]""A2$"WAIT";:[137]3958 3960 [161]#5,A2$:[139]A2$[178][199](32)[167]3960 3962 [153][163]20);:A3$[178]"" 3964 A3$[178]A3$[170]A2$:[161]#5,A2$:[139]A2$[179][177]""[167]3964 3966 [153][200](A3$,3) 3968 [161]A$:[139]A$[179][177]""[167][141]3976 3970 [139]ST[178]0[167]3944 3972 [153]" BLOCKS FREE";:A0[178]0 3974 [160]5:[160]15:[153][163]25)"PRESS ANY KEYWAIT":[141]3018:[137]3978 3976 [141]3018:[142] 3978 [139]DIR[178]0[167]3044 3980 [137]3386 3998 [143]----SETUP FOR PRINTER 4000 [153]"LOAD  CALCULATED REPORTS PROGRAM " 4002 [153]"  PRINTER OR INTERFACE CONFIGURATION " 4004 [153]" PRESS 1WAIT CARD?A, 1525, MPS801 4006 PRINT" 2[146] CARD?B, MW350, CONNECTION" 4008 PRINT" 3[146] 1526" 4010 IFP<>0THENPRINT" OR S[146]END PRINTER COMMANDS" 4012 IFP<>OTHENPRINT" E[146]XIT TO START" 4014 PRINT"  PRESS THE APPROPRIATE KEY " 4016 GETA$:IFA$=""THEN4016 4018 IFA$="E"THENRETURN 4020 IFA$="S"THEN4044 4022 P=VAL(A$) 4024 IFP=1THENB1$=CHR$(10):GOTO4000 4026 IFP=2THENB1$=CHR$(0):GOTO4000 4028 IFP=3THENB1$=CHR$(0):GOTO4000 4030 GOTO4016 4032 REM----PRINT TERMINATOR 4034 ONPGOTO4036,4038,4040 4036 PRINT#4,B1$;:RETURN 4038 PRINT#4,B1$:RETURN 4040 PRINT#4:RETURN 4042 REM----PRINTER COMMANDS 4044 PRINT"[147]  PRINTER COMMAND [146]" 4046 PRINT" THIS ROUTINE WILL SEND CHARACTER" 4048 PRINT" STRING [CHR$()] COMMANDS TO AN ASCII" 4050 PRINT" PRINTER. COMMANDS MUST BE ENTERED IN" 4052 PRINT" THE FORM OF INTEGERS SUCH AS:" 4054 PRINT" ? 27 (ESCAPE CODE)" 4056 PRINT" ? 66 (PITCH CODE)" 4058 PRINT" ? 2 (COMPRESSED MODE)" 4060 PRINT" ? * (END THE SEQUENCE)" 4062 PRINT" THIS WILL BE SENT TO THE PRINTER AS:" 4064 PRINT" PRINT#4,CHR$(27)CHR$(66)CHR$(2)" 4066 PRINT" UP TO FOUR(4) NUMBERS MAY BE SENT," 4068 PRINT" THE FIRST NORMALLY BEING 27[146], THE" 4070 PRINT" ESCAPE CHARACTER. END THE SEQUENCE" 4072 PRINT" BY PRESSING RETURN[146] WHEN THE ASTERISK" 4074 PRINT" IS SHOWING. PRINTERS WILL VARY, SO" 4076 PRINT" CHECK YOUR MANUAL FOR THE CODES." 4078 PRINT" ANY KEY[146] TO CONTINUE OR E[146]XIT?" 4079 GETA$:IFA$=""THEN4079 4080 IFA$="E"THENRETURN 4082 PRINT"[147]  SEND PRINTER COMMAND [146]" 4084 PRINT" ENTER CODE, THEN PRESS RETURN[146]" 4086 PRINT" RETURN[146] ONLY TO QUIT" 4088 FORI=1TO4:PRINT"CODE";I;" ? * [157][157][157][157]";:INPUTI$(I) 4090 IFI$(I)="*"THEN4094 4092 NEXTI 4094 ON(I-1)GOTO4096,4098,4100,4102:GOTO4104 4096 PRINT#4,CHR$(VAL(I$(1))):GOTO4104 4098 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2))):GOTO4104 4100 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2)))CHR$(VAL(I$(3))):GOTO4104 4102 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2)))CHR$(VAL(I$(3)))CHR$(VAL(I$(4))) 4104 PRINT" A[146]NOTHER CODE" 4106 PRINT" T[146]EST PRINTER" 4108 PRINT" E[146]XIT TO PRINT" 4110 PRINT"  PRESS THE APPROPRIATE KEY " 4112 GETA$:IFA$=""THEN4112 4113 IFA$="A"THEN4082 4114 IFA$="T"THENPRINT#4,"ABCDEFGHIJKLMNOPQRSTUVWXYZ":GOTO4112 4116 IFA$="E"THENRETURN 4118 GOTO4112