******************************************************************************* * * * RAINBOW - CALC * * * ******************************************************************************* AN ELECTRONIC SPREADSHEET FOR YOUR COLOR COMPUTER BY FRED STRAUB WAUSAU, WISCONSIN ELECTRONIC SPREADSHEETS SUCH AS "VISICALC" AND "LOTUS 1-2-3" ARE SOME OF THE MOST USEFUL PROGRAMS AVAIABLE FOR PERSONAL COMPUTING. HERE IS A PROGRAM THAT GIVES YOU MANY OF THE FEATURES OF THESE MORE EXPENSIVE VERSIONS! FOR THOSE OF YOU UNFAMILIAR WITH AN ELECTRONIC SPREADSHEET, THESE PROGRAMS ALLOW YOU TO ENTER ANY WORKSHEET CONSITING OF COLUMNS AND ROWS. WORDS AND NUMBERS CAN BE PLACED ANYWHERE ON THE WORKSHEET BY MOVING THE POINTER AND TYPING AT THE DESIRED LOCATION ( CALLED A CELL). EACH CELL IS UNIQUELY IDENTIFIED - THE COLUMNS ARE LABELED WITH LETTERS AND THE ROWS WITH NUMBERS. THUS CELL "B4" IS THE FOURTH ROW DOWN IN THE SECOND COLUMN. THE REAL VALUE OF THESE ELECTRONIC SPREADSHEETS IS THE ABILITY TO INCLUDE FORMULAS WHICH CAN AU TOMATICALLY CALCULATE TOTALS AND OTHER ARITHMETIC FUNCTIONS. THE GENERAL LOGIC FOR THIS PROGRAM IS BASED ON "MOCALC" BY BARRY SPENCER WHICH APPEARED IN THE APRIL, 1984 ISSUE OF "RAINBOW". "MOCALC" WAS AN IMPROVED VERSION OF JIM EBBERT'S "MINICALC" FROM THE OCTOBER, 1982 ISSUE OF THAT SAME MAGAZINE. WORKSHEETS FR OM THESE PRIOR PROGRAMS CAN NOT BE READ INTO THIS PROGRAM. ENHANCEMENTS INCLUDED IN THIS SPREADSHEET ARE: > INCREASE IN WORKSHEET SIZE (DEPENDING ON AVAILABLE MEMORY). > INCREASED DISPLAY-SIZE OF CELL TO 10 CHARACTERS. > NON-DESTRUCTIVE MOVEMENT OF CELL-POINTER PLUS IMPROVED SCROLLING CAPABILITIES > LOCATION AND CONTENT OF EACH CELL IS DISPLAYED AT TOP OF SCREEN AS CELL POINTER IS MOVED. MENU FOR SELECTION COMMANDS: -BLANKING A CELL -COPYING A CELL -EDITIONG THE CONTENTS OF A CELL -FORMATING A CELL FOR DECIMAL PLACES (0-3) -GOTO ANY CELL LOCATION -LOADING/SAVING FROM TAPE/DISK -PRINTING ANY PORTION OF THE WORKSHEET -UPDATING (RECALCULATING THE ENTIRE WORKSHEET) -TITLES ON VERTICAL AND/OR HORIZONTAL -INSERT ROWS AND COLUMNS -DELETE ROWS AND COLUMNS -CLEAR ENTIRE WORKSHEET USE OF CLEAR KEY FOR ESCAPING FROM COMMANDS AUTOMATIC PROTECTION OF FORMULAS TO PREVENT ACCIDENTAL ERASURE DURING ENTRY MODE. ADDITIONAL FUNCTIONS OF SUM, COUNT, AVERAGE, MINIMUM, AND MAXIMUM FOR GROUPS OF CELLS. ALSO AVAILABLE ARE THE PREVIOUS MATHEMATICAL OPERATIONS OF ADD, SUBTRACT, MULTIPLY, DIVIDE AND EXPONENTIATION. THE ABSOLUTE VALUE AND INTEGER FUNCTIONS FOR CELLS ARE ALSO AVAILABLE. =============================================================================== USING "RAINBOW - CALC" WHEN YOU RUN RAINBOW-CALC, THE SCREEN WILL SHOW THREE COLUMNS (LABELED A, B, C) ACROSS THE TOP AND TWELVE ROWS (LABELED 1 THROUGH 12) DOWN THE LEFT SIDE. CELL A1 WILL BE IN REVERSE-VIDEO. THIS IS THE CELL POINTER AND CAN BE MOVED ANYWHERE ON THE WORKSH EET BY USING THE ARROW KEYS. THE SHIFT-ARROW KEYS ALLOW SCROLLING OF ENTIRE SCREENS (3 COLUMNS OR 10 ROWS) IN ANY DIRECTION. TO MAKE AN ENTRY ON THE WORKSHEET, MOVE THE CELL POINTER TO THE LOCATION. TYPE IN THE DESIRED WORDS, NUMBER OR FORMULA AND EITHER PRESS ENTER OR MOVE TO ANOTHER CELL. NOTICE THE VERY TOP LINE ON THE SCREEN. AS YOU MOVE AROUND THE WORKSHEET THIS LINE WILL DISPLAY THE LOCATION AND CONTENTS OF THE CELL POINTER. THE ACTUAL CONTENTS OF THE CELL MAY BE DIFFERENT THAN WHAT IS DISPLAYED AT THE CELL LOCATION. THIS IS ESPECI ALLY TRUE OF WORDS THAT ARE MORE THAN 10 CHARACTERS LONG, FORMULAS AND FORMATED NUMBERS. ALSO, ON THE TOP LINE IMMEDIATELY AFTER THE CELL'S LOCATION IS A SET OF PARANTHESES THAT WILL INDICATE THE CELL'S FORMAT (NUMBER OF DECIMAL PLACES FOR FORMULA OR NUMBERS). THE DEFAULT FORMAT IS ROUND WITH NO DECIMAL PLACES AND COMMAS BETWEEN THOUSANDS. UNLESS THE CELL WAS PREVIOUSLY FORMATED, THE FIRST CHARACTER ENTERED INTO THE CELL WILL DETERMINE ITS FORMAT. ANY NUMERAL, PLUS SIGN, OR MINUS SIGN WILL RESULT IN THE DEFAULT NUMERIC FORMAT OF 'N0'. ENTERING A LEFT PARENTHESES OR THE @ (FOR FUNCTION) W ILL GIVE THE FORMULA FORMAT OF 'F0'. A CELL THAT IS NOT FORMATED AS NUMERIC OR FORMULA IS CONSIDERED UNFORMATED AND THE FIRST TEN CHARACTERS WILL BE DISPLAYED. THE FORMAT OF A CELL CAN BE CHANGED AT ANY TIME. FORMULAS FORMULAS MUST BE ENCLOSED WITHIN PARENTHESES. THEY ARE EVALUATED FROM LEFT TO RIGHT ONLY! THE ORDER OF OPERATION IS NOT CHANGED BY PARENTHESES. MULTIPLICATION AND DIVISION DO NOT TAKE PRECEDENCE OVER ADDITION AND SUBTRACTION. NEGATIVE NUMBERS MUST BE ENCLOSED IN PARENTHESES. ALL OTHER PARENTHESES ARE IGNORED. THE USUAL SYMBOLS OF +, -, *, / ARE USED FOR ARITHMATIC OPERATIONS. EXPONENTIATION IS INDICATED BY **, THEREFORE 9**2=81 AND 9**.5=3. BOTH VARIABLES (CELL ADDRESSES) AND CONSTANTS ARE ALLOWED. THE @ FUNCTION OF SUM, CNT, AVG, MAX, MIN MAY ME USED WITHIN A FORMULA, ALSO. THE MAXIMUM LENGTH OF A FORMULA IS 250 CHARACTERS. EXAMPLES: (A5) = SAME VALUE AS CELL A5 (E5/8) = VALUE OF E5 DIVIDED BY 8 (A3*(-1)) = VALUE OF A3 TIMES NEGATIVE ONE (A3+B3/C2) = SUM OF A3 + B3 DIVIDED BY C2 (3*@SUM(B5..B15)) = 3 TIMES THE SUM OF THE VALUES IN COLUMN B, ROWS 5 THROUGH 15 FUNCTIONS THE FOLLOWING FUNCTIONS ARE AVAILABLE FOR USE WITH A GROUP OF CELLS. THE CAN BE USED EITHER IN A ROW, A COLUMN, OR ANY RECTANGULR AREA OF CELLS. THE AREA MUST BE INDICATED BY THE UPPER-LEFT CELL AND THE LOWER-RIGHT CELL SEPERATED BY TWO PERIODS AND ENCLO SED WITHIN PARENTHESES. @SUM(AREA OF CELLS) EXAMPLE: @SUM(B3..B10) GIVES THE SUM OF ALL NUMBERS IN ROWS 3 - 10 OF COLUMN B @CONT(ARE OF CELLS) GIVES THE COUNT OF THE NON-ZERO CELLS WITH IN THE AREA. @AVG(AREA OF CELLS) GIVES THE AVERAGE OF THE NON-ZERO CELLS WITH IN THE AREA. @MAX(AREA OF CELLS) GIVES THE MAXIMUM OF THE VALUES WITH IN THE AREA @MIN(AREA OF CELLS) GIVES THE MINIMUM OF THE NON-ZERO VALUES WITH IN THE AREA. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - THE FOLLOWING TWO SPECIAL FUNCTIONS CAN BE USED ONLY AS THE FIRST ENTRY IN A CELL. @ABS( FORMULA ) GIVES THE ABSOLUTE VALUE OF THE CELL. @INT( FORMULA ) GIVES THE INTEGER VALUE (NON-ROUNDED) OF THE CELL. COMMANDS THE COMMAND MENU IS DISPLAYED BY PRESSING THE SLASH (/) KEY. OPTIONS ARE SELECTED BY PRESSING THE FIRST LETTER OF THE COMMAND. THE CLEAR KEY CAN BE USED AT ANY TIME TO ESCAPE FROM THE CURRENT COMMAND AND RETURN EITHER TO THE PREVIOUS MENU OR TO THE ENTRY MODE. THE FOLLOWING COMMANDS ARE AVAILABLE: BLANK - USED TO BLANK OUT OR ERASE THE CONTENTS OF A CELL. THE CELL FORMAT DOES NOT CHANGE. COPY - USED TO COPY THE FORMAT AND CONTENTS OF ONE CELL TO EITHER ANOTHER CELL OR AN AREA OF CELLS. YOU WILL BE PROMPTED FOR THE CELL TO BE COPIED AND THE UPPER-LEFT AND LOWER-RIGHT CELLS OF THE AREA TO BE COPIED TO. IF THE TARGET AREA IS ONLY ONE CELL, THE LOWER-RIGHT CELL PROMPT MAY BE LEFT BLANK. NOTE - WHEN COPYING FORMULAS, VARIABLES (CELL COORDINATES) ARE NOT CHANGED. EDIT - USED TO EDIT OR CHANGE THE CONTENTS OF A CELL. THE FORMAT COMMAND MUST BE USED TO CHANGE THE FORMAT IF DESIRED. THE CONTENTS OF THE CURRENT CELL WILL BE DISPLAYED ON THE TWO TOP LINES OF THE SCREEN. THE LEFT AND RIGHT ARROW KEYS ARE USED FOR MOVEMENT. TO DELETE A CHARACTER, USE THE SHIFT-BACK SPACE KEY. TO INSERT, JUST TYPE IN A CHARACTER. PRESSING THE ENTER KEY WILL REPLACE CONTENTS OF THE CELL. FORMAT- USED TO INDICATE THAT A CELL CONTAINS A FORMULA OR A NUMBER WITH DECIMAL ALIGNMENT. EITHER 0, 1, 2, OR 3 DECIMAL PLACES MAY BE INDICATED. THE VALUES DISPLAYED AND PRINTED WILL BE ROUNDED. HOWEVER, THE UNROUNDED VALUE IS USED IN CALCULATIONS. THE FORMULA WILL BE RECALCULATED WHEN THE FORMAT IS CHANGED. WHEN A VALUE IS LARGER THAN CAN BE DISPLAYED WITH THE INDICATED FORMAT, THE CELL WILL BE FILLED WITH ASTERISKS (*********). A CELL WITHOUT A FORMAT HAS A VALUE OF ZERO AND IS NOT USED IN CALCULATIONS. THE FORMAT IS INDICATED BY A APOSTROPHE. FORMATS CAN BE CHANGED AT ANY TIME WITHOUT AFFECTING THE CALCULATED RESULTS HOME - USED TO RETURN THE CELL POINTER TO THE HOME POSITION, CELL A1. LOAD - USED TO LOAD SAVED WORKSHEETS FROM DISK OR TAPE. YOU WILL BE ASKED TO ENTER A FILE NAME. THE WORKSHEET WILL BE RECALCULATED AND UPDATED AFTER LOADING. TAPE INPUT/OUTPUT IS ASSUMED UNLESS THE DISK CONTROLLER IS CONNECTED. DISK FILES HAVE THE EXTENTION OF .CLC. SAVE - USED TO SAVE A WORKSHEET TO DISK OR TAPE. TAPE OUTPUT IS ASSUMED UNLESS THE DISK CONTROLLER IS CONNECTED. DISK USERS WILL BE ASKED TO INDICATE REPLACE USING SAME FILE NAME AS LOADED OR SAVE WITH A NEW FILENAME. PRINT - USED TO PRINT A WORKSHEET. THE UPPER LEFT HAND CORNER AND LOWER RIGHT CORNER OF THE AREA TO BE PRINTED MUST BE SPECIFIED. EIGHT COLUMNS CAN BE PRINTED ON NORMAL PAPER. AN OPTIONAL TITLE LINE MAY BE ENTERED. UPDATE- USED TO RECALCULATE ALL THE FORMULAS AND UPDATE THE VALUES IN THE WORKSHEET. THE ORDER OF CALCULATION IS FROM TOP TO BOTTOM STARTING AT A1. IN SOME INSTANCES WHERE A FORMULA IS REFERENCING A FORMULA IN A CELL THAT HAS NOT YET BEEN CALCULATED IT WILL BE NECESSARY TO UPDATE TWICE. IF AN ERROR IS DETECTED DURING CALCULATIONS, A MESSAGE WILL APPEAR INDICATING THE CELL LOCATION AND THE INVALID CHARACTER. YOU WILL BE GIVEN THE OPTION TO PRESS ANY KEY AND CONTINUE CALCULATING THE REMAINING CELLS OR PRESS CLEAR TO RETURN TO THE ENTRY MODE. WORKSHEET SIZE CONSIDERATIONS THE MAXIMUM SIZE OF YOUR WORKSHEET IS DEPENDENT ON BOTH THE AMOUNT OF MEMORY AND THE CONTENT OF THE WORKSHEET. LONG FORMULAS REQUIRE MORE STRING SPACE. THE DEFAULT SIZE IS 8 COLUMNS AND 60 ROWS. THIS IS EQUIVELENT TO ONE PRINTED PAGE. IF NECESSARY, CHANGE LINE 5010 TO REFLECT THE MAXIMUM ROWS (MX) AND COLUMNS (MY) DESIRED. ADJUST THE AMOUNT OF STRING SPACE CLEARED ACCORDINGLY. THE PROGRAM LOGIC CAN HANDLE UP TO 99 ROWS AND 26 COLUMNS. OTHER CONSIDERATIONS OCCASSIONALLY IT MAY APPEAR THAT THE PROGRAM IS HUNG UP AND NOT WORKING FOR ABOUT 30 SECONDS. THIS IS NORMAL AND IS DUE TO BASIC DOING ITS STRING SPACE HOUSEKEEPING. IF AN ERROR OCCURS OR IF THE BREAK KEY IS ACCIDENTLY PRESSED, THE PROGRAM CAN RESUMED BY ENTERING - GOTO 60 - ENTER. FRED STRAUB IS A SYSTEMS PROGRAMER FOR WAUSAU INSURANCE CO. IN WAUSAU, WISCONSIN. HE DOES NOT HAVE ACCESS TO DELPHI OR BULLETIN BOARDS BUT HAS GIVEN ME PERMISSION TO DISTRIBUTE THIS PROGRAM THROUGH THAT MEDIUM. IF YOU HAVE QUESTION OR COMMENT, YOU MAY CO NTACT ME TO BE OUT IN TOUCH WITH FRED. I WORK WITH FRED FROM TIME TO TIME AND HE HAS BEEN A GREAT HELP IN MY UNDERSTANDING OF ADVANCED BASIC PROGRAMING CONCEPTS AND MS-DOS PROGRAMING. TOM BEDWELL (DELPHI USER NAME - REBECCA) 7809 OPELIKA COURT INDIANAPOLIS, IN 46217-4351 DAY 317-846-6645 P.M. 317-882-4784