10 IFFL=0THENFL=1:LOAD"DP] DOS5.1",8,1 11 IFFL=1THENFL=2:SYS52224:REM (C) BY COMMODORE 600 FORE=0TO24:POKE54272+E,0:NEXT:POKE54296,15:GOTO3000 602 POKE54277,58:POKE54278,16:POKE54273,35:POKE54272,134 604 POKE54276,33:FORE=1TO100:NEXT:POKE54276,16:RETURN 3000 REM DFCALC 1.5A PROGRAM FOR DATAFILE BY MIKE KONSHAK (C)1986 3004 POKE53281,0:POKE53280,0:PRINT"[158]":OPEN4,4:OPEN3,3: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"[153] PRESS C[153][146]ONT R[153][146]EDO S[153][146]TART J[153][146]UMP E[153][146]XIT[158]" 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" [153]PRESS ANY KEY[153][146] TO CONTINUE[158]" 3040 GOSUB3018:CLOSE5:CLOSE15:RETURN 3042 REM----STARTING MENU 3044 PRINT"[158][147]  CALCULATED REPORTS PROGRAM REV 1.5A " 3045 PRINT" [158] COPYRIGHT (C)1986 BY MIKE KONSHAK " 3046 PRINT"[153] USE O[153][146]LD PREDEFINED FORMAT" 3047 PRINT" OR N[153][146]EW FORMAT" 3048 PRINT" $[153][146] DISK DIRECTORY 4[153][146]" 3049 PRINT" Q[153][146]UIT PROGRAM" 3050 PRINT" TRANSFER TO:" 3051 PRINT" D[153][146] DATAFILE DBMS" 3052 PRINT" P[153][146] DFPRINT REPORTS-LISTS-LABELS" 3054 PRINT" [158] PRESS THE APPROPRIATE KEY [146]" 3056 GOSUB3018:IFA$="Q"THENCLOSE3:CLOSE4:PRINT"[147]":END 3058 IFA$="N"THENK=1:GOTO3068 3059 IFA$="D"THENPRINT"[147][144]LOAD"CHR$(34)"DATAFILE"CHR$(34)",8":GOTO3064 3060 IFA$="O"THENK=2:FL=0:GOTO3068 3061 IFA$="P"THENPRINT"[147][144]LOAD"CHR$(34)"DFPRINT"CHR$(34)",8":GOTO3064 3062 IFA$="$"ORA$="4"THENGOSUB3940:GOTO3044 3063 GOSUB602:GOTO3056 3064 PRINT:PRINT:PRINT:PRINT:PRINT"RUN[158]" 3065 POKE631,19:POKE632,13:POKE633,13:POKE634,13:POKE635,13:POKE636,13 3066 POKE198,6:NEW:END 3067 REM----OPEN DATAFILE, READ FILE STRUCTURE 3068 PRINT"[153][147] AVAILABLE DATAFILE RECORD FILES ARE:[158]":@"$0:DF]*" 3072 PRINT"[153] NAME OF DATAFILE RECORD FILE?[158]" 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"[158][147]  DEFINE REPORT HEADER FORMAT [146]" 3098 PRINT"[153] ENTER WIDTH OF REPORT (136 MAX)" 3100 PRINT"[158] ? 0[157][157]"PW:INPUT"[145] ";PW:IFPW>136THENPRINT"[145][145][145][145][145][145][145]":GOTO3098 3102 PRINT"[153] ENTER NUMBER OF TITLE LINES IN THE" 3104 PRINT" REPORT HEADER (4 LINES MAX)" 3106 PRINT"[158] "NL:INPUT"[145] ";NL:IFNL>4THENPRINT"[145][145][145][145][145][145][145]":GOTO3102 3108 IFNL=0THENTT$(1)="[153]NO TITLES":GOTO3118 3110 PRINT:FORJ=1TONL:PRINT"[153] TITLE #[158]"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"[153] FIELD NAME(LENGTH) DATA FOR [158]"NF$ 3130 OE=1:IF(F/2)=INT(F/2)THENOE=0:GOTO3132 3132 OF=INT(F/2):FORI=1TOOF+OE 3134 PRINT" "I"[146][153]"F$(I)L%(I); 3136 IFOE=1THEN3140 3138 PRINTTAB(19)""I+OF"[146][153]"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"[153] ENTER POSITION OF COLUMN [158]"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"[153] ENTER HEADING OF COLUMN [158]"I 3198 PRINT"[153] HEADING IS [158]";:IFI=NCTHENPRINTPW-PC(I);:GOTO3202 3200 PRINTPC(I+1)-2-PC(I); 3202 PRINT"[146] [153]CHARACTERS WIDE" 3204 PRINT"[158] ? >[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" [158] FORMAT INPUT ROUTINES FOR COLUMN"I 3220 GOSUB3030:PRINT"[153] ENTER CONTENTS OF COLUMN [158]"I 3222 PRINT"[153] CHOOSE F[153][146]IELD DATA IN RECORDS" 3224 PRINT" E[153][146]QUATION" 3225 PRINT" R[153][146]UNNING TOTAL (BALANCE)" 3226 PRINT" #[153][146] RECORD NUMBER" 3228 PRINT"[158] ? 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]":GOSUB602:GOTO3228 3238 PRINT"[153] WHICH FIELD # WILL BE IN COLUMN [158]"I:GOTO3241 3239 PRINT"[153] WHICH COLUMN # IS TO HAVE A RUNNING" 3240 PRINT" TOTAL IN COLUMN [158]"I"[146][157]? [153]ENTER 1[153][146] THRU "I-1:GOTO3245 3241 PRINT"[153] ENTER 1[153][146] THRU "F 3242 PRINT"[158] ? "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"[158] ? "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"[153] ENTER EQUATION [158]"OP"[153][146]FOR COLUMN [158]"I 3266 IFOP>1THENGOSUB3308 3268 PRINT" RES[158][146]="RS$(OP-1) 3270 PRINT"[153] OPERAND X[158]? .[157]"C$(I,EQ) 3272 PRINT"[153] OPERATOR [158]? .[157]"C$(I,EQ+1) 3274 PRINT"[153] OPERAND Y[158]? .[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][153] EXPAND EQUATION? Y[153][146] OR N[158][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"[153] SET END-OF-COLUMN OPERATION" 3330 PRINT" OPTIONS: T[153][146]OTAL SUM OF COLUMN" 3332 PRINT" A[153][146]VERAGE CONTENTS OF COLUMN" 3334 PRINT" N[153][146]O OPERATION TO COLUMN" 3336 PRINT"[158] ? 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"[153] SET COLUMN JUSTIFICATION 3346 [153]" OPTIONS: LPRINTWAITEFT" 3348 [153]" RPRINTWAITIGHT" 3350 [153]" CPRINTWAITURRENCY ($.00)" 3352 [153]" PPRINTWAITERCENT (%)" 3354 [153]" DPRINTWAITECIMALS TO RIGHT" 3356 [153]"SYS ? 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]"PRINT # OF PLACES TO THE RIGHT OF DECIMAL:" 3366 [153]"SYS ? 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 SYS CALCULATED REPORTS OPERATIONS MENU WAIT" 3388 [153]"PRINT CURRENT DATAFILE: SYS"NF$ 3390 [139]FL[178]1[167][153]" SPRINTWAITAVE REPORT FORMAT" 3392 [153]" LPRINTWAITOAD REPORT FORMAT" 3394 [139]FL[178]1[167][153]" CPRINTWAITHANGE REPORT FORMAT" 3396 [139]FL[178]1[167][153]" PPRINTWAITRINT RECORDS" 3397 [153]" RPRINTWAITECONFIGURE PRINTER, OPTIONSYS"P;:[139]P[178]4[167][153]"CMDCMDSCREENWAIT"; 3398 [153]:[153]" $PRINTWAIT DISK DIRECTORY 4WAIT" 3400 [153]" EWAITPRINTXIT THIS DATAFILE" 3402 [153]"SYS  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]"$"[176]A$[178]"4"[167][141]3940:[137]3386 3416 [139]A$[178]"E"[175]CK[178]1[167]3420 3417 [139]A$[178]"R"[167][141]4000:[137]3386 3418 [141]602:[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]"PRINT SAVE UNDER WHAT FILE NAME?" 3432 [153]"SYS ? "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]"LOADPRINT AVAILABLE CALC FORMAT FILES ARE:SYS":@"$0:CR]*" 3457 [153]"PRINT LOAD FORMAT FROM WHAT FILE?SYS" 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 PG[178]1:[153]"SYSLOAD  PRINT OPTIONS MENU WAIT" 3500 [153]" APRINTWAITLL RECORDS IN FILE" 3502 [153]" FPRINTWAITIND RECORDS WITH COMMON FIELDS" 3504 [153]" EPRINTWAITXIT BACK TO START" 3506 [153]" POSITION PAPER AT TOP OF PAGE" 3508 [153]" SYS 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 [141]602:[137]3510 3518 [143]----FIND RECORD (SEARCH) 3520 [153]"LOADSYS  FIND RECORDS WITH COMMON ITEMS " 3522 [141]3484 3524 [129]N[178]1[164]F:[153]" "N"WAITPRINT "F$(N):[130]N 3526 [133]"PRINT WHICH FIELD IS TO BE SEARCHEDSYS";SF 3528 [139]SF[179]0[176]SF[177]F[167][153]"ONONON":[137]3526 3530 [153]"PRINT ENTER COMMON ITEMWAIT":[153]" (THE ENTIRE STRING IS NOT REQUIRED)" 3532 [153]"PRINT "F$(SF)"WAITSYS ";:[133]T$ 3534 [153]"LOAD":[141]3568 3536 [129]I[178]1[164]XR:[139]P[179][177]4[167][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]PF,"FILE: "NF$","K"OF"XR"RECORDS REPORTED" 3545 [160]5:[160]15:[139]P[178]4[167]3565 3546 [129]I[178]1[164]60[171]PL:[141]4034:[130]I:[137]3496 3548 [143]----PRINT ALL RECORDS 3550 [153]"LOAD":[139]P[179][177]4[167][153]" PRINTING HEADING" 3552 [141]3568:[141]3484 3554 [153]"ON";:[129]I[178]1[164]XR:[139]P[179][177]4[167][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]PF,"FILE: "NF$","K"RECORDS REPORTED" 3563 [160]5:[160]15:[139]P[178]4[167]3565 3564 [129]I[178]1[164]60[171]PL:[141]4034:[130]I:[137]3496 3565 [153]"PRESS ANY KEYWAIT":[141]3018:[137]3496 3566 [143]----BEGIN REPORT/CENTER TITLE 3568 PL[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]PF,[200](S$,M)[170]TT$(J);B1$;:PL[178]PL[170]1:[142] 3580 [152]PF,[200](S$,M)[170]TT$(J);B1$:PL[178]PL[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]PF,CLM$;:[137]3598 3596 [152]PF,[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]PF,[200](S$,2)[170]CLM$; 3608 [130]J 3610 [141]4034 3612 [141]3618:PL[178]PL[170]3 3614 [142] 3616 [143]----PRINT DASHED LINE 3618 [129]J[178]1[164]PW:[152]PF,"-";:[130]J:[141]4034:[142] 3620 [143]----PRINT FILE DATA 3622 [129]J[178]1[164]NC:BUF(J)[178]0:[130]J: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]PF,CLM$; 3634 [137]3638 3636 [152]PF,[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]PF,[200](S$,2)[170]CLM$; 3648 [130]J 3650 [141]4034 3652 PL[178]PL[170]1 3654 [143]----CHECK # LINES ON PAGE 3656 [139]PL[178]60[167][129]J[178]1[164]5:[141]4034:[130]J:PL[178]0:[137]3659 3658 [142] 3659 PG[178]PG[170]1:[152]PF,"PAGE"PG:[141]3584:[137]3658 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]PF,CLM$; 3678 [137]3682 3680 [152]PF,[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]PF,[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 3753 [139]C$(J,EQ[170]1)[178]"++"[167] X[178][197]([202](C$(J,2),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 3767 [139]C$(J,EQ[171]1)[178]"++"[167] Y[178][197]([202](C$(J,4),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:Z[178]0:C$[178]C$(J,W) 3804 [139]C$(J,W)[178]"+"[167] Z[178]X[170]Y:[142] 3805 [139]C$(J,W)[178]"++"[167] Z[178]0:[129]H[178]X[164]Y:Z[178]Z[170]BUF(H):[130]H:[142] 3806 [139]C$(J,W)[178]"-"[167] Z[178]X[171]Y:[142] 3807 [139]C$(J,W)[178]"*"[167] Z[178]X[172]Y:[142] 3808 [139]C$(J,W)[178]"/"[175]Y[179][177]0[167] Z[178]X[173]Y:[142] 3809 [139]C$(J,W)[178]"^"[167] Z[178]X[174]Y:[142] 3810 [139]C$(J,W)[178]"SGN"[167] Z[178]Y[172]([171]1):[142] 3811 [143]----LOGICAL OPERATORS 3812 [139]C$(J,W)[178]"="[175]X[178]Y[167]Z[178]1:[142] 3813 [139]C$(J,W)[178]"<"[175]X[179]Y[167]Z[178]1:[142] 3814 [139]C$(J,W)[178]">"[175]X[177]Y[167]Z[178]1:[142] 3815 [139]C$(J,W)[178]"<>"[175]X[179][177]Y[167]Z[178]1:[142] 3816 [139]C$(J,W)[178]"OR"[175](X[177]1[176]Y[177]1)[167]Z[178]1:[142] 3817 [139]C$(J,W)[178]"AND"[175]X[177]1[175]Y[177]1[167]Z[178]1:[142] 3818 [139]C$[178]"="[176]C$[178]"<"[176]C$[178]">"[176]C$[178]"<>"[176]C$[178]"OR"[176]C$[178]"AND"[167]Z[178]0:[142] 3819 [143]----SCIENTIFIC OPERATORS 3820 [139]C$(J,W)[178]"SQR"[175]Y[177][178]0[167] Z[178][186](Y):[142] 3821 [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 [153]"LOADSYS";:@"$":[153][163]25)"PRINTPRESS ANY KEYWAITSYS":[141]3018:[142] 3998 [143]----SETUP FOR PRINTER 4000 [153]"LOADSYS  CALCULATED REPORTS PROGRAM " 4002 [153]"  PRINTER OR INTERFACE CONFIGURATION " 4003 [153]"PRINT CURRENT OPTION IS:SYS"P 4004 [153]"PRINT PRESS 1PRINTWAIT CARDCO A, 1525 4006 PRINT" 2[153][146] PRINTERS W/GRAPHIC INTERFACES" 4008 PRINT" 3[153][146] 1526, MPS801/802/803" 4009 PRINT" 4[153][146] PRINT TO SCREEN" 4010 IFP<>0THENPRINT" OR S[153][146]END PRINTER COMMANDS" 4012 IFP<>OTHENPRINT" E[153][146]XIT TO CONTINUE" 4014 PRINT"[158]  PRESS THE APPROPRIATE KEY " 4016 GETA$:IFA$=""THEN4016 4018 IFA$="E"THENPRINT"[147]CLEARING...":RETURN 4020 IFA$="S"THEN4044 4022 P=VAL(A$):PF=4 4024 IFP=1THENB1$=CHR$(10):GOTO4000 4026 IFP=2THENB1$=CHR$(0):GOTO4000 4028 IFP=3THENB1$=CHR$(0):GOTO4000 4029 IFP=4THENB1$=CHR$(0):PF=3:GOTO4000 4030 GOSUB602:GOTO4016 4032 REM----PRINT TERMINATOR 4034 ONPGOTO4036,4038,4040,4038 4036 PRINT#PF,B1$;:RETURN 4038 PRINT#PF,B1$:RETURN 4040 PRINT#PF:RETURN 4042 REM----PRINTER COMMANDS 4044 PRINT"[147] [158] PRINTER COMMAND [146]" 4046 PRINT"[153] 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"[158] ? 27[153] (ESCAPE CODE)" 4056 PRINT" [158]? 66[153] (PITCH CODE)" 4058 PRINT" [158]? 2[153] (COMPRESSED MODE)" 4060 PRINT" [158]? *[153] (END THE SEQUENCE)" 4062 PRINT" THIS WILL BE SENT TO THE PRINTER AS:" 4064 PRINT" [158]PRINT#4,CHR$(27)CHR$(66)CHR$(2)[153]" 4066 PRINT" UP TO FOUR(4) NUMBERS MAY BE SENT," 4068 PRINT" THE FIRST NORMALLY BEING [158]27[153][146], THE" 4070 PRINT" ESCAPE CHARACTER. END THE SEQUENCE" 4072 PRINT" BY PRESSING RETURN[153][146] WHEN THE ASTERISK" 4074 PRINT" IS SHOWING. PRINTERS WILL VARY, SO" 4076 PRINT" CHECK YOUR MANUAL FOR THE CODES." 4078 PRINT" ANY KEY[153][146] TO CONTINUE OR E[153][146]XIT?[158]" 4079 GETA$:IFA$=""THEN4079 4080 IFA$="E"THENRETURN 4082 PRINT"[147] [158] SEND PRINTER COMMAND [146]" 4084 PRINT" [153]ENTER CODE, THEN PRESS RETURN[146]" 4086 PRINT" RETURN[146] [153]ONLY TO QUIT" 4088 FORI=1TO4:PRINT"[153]CODE[158]";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[153][146]NOTHER CODE" 4106 PRINT" T[153][146]EST PRINTER" 4108 PRINT" E[153][146]XIT TO PRINT" 4110 PRINT" [158] PRESS THE APPROPRIATE KEY " 4112 GETA$:IFA$=""THEN4112 4113 IFA$="A"THEN4082 4114 IFA$="T"THENPRINT#4,"ABCDEFGHIJKLMNOPQRSTUVWXYZ":GOTO4112 4116 IFA$="E"THENRETURN 4118 GOSUB602:GOTO4112