128 ÍODE ÂY ÍARK ÊORDAN ÔHE EASIEST OF ALL ÂASIC COMMANDS TO LEARN TO USE IS ÐRINT. ÉN FACT, IT'S SO EASY TO USE, EVEN SEASONED PROGRAMMERS MAY FORGET THAT IT HAS A SOPHISTICATED YOUNGER SIBLING: ÐRINT ÕSING. ÂUT, WHY BOTHER LEARNING A NEW COMMAND WHEN YOU'VE ALREADY GOT ONE THAT DOES ITS JOB QUITE WELL? É MEAN, WHAT CAN'T ÐRINT DO? ÂY ITSELF, LOTS. ×HEN YOU WANT TO FORMAT COLUMNS OF TEXT OR NUMBERS, ESPECIALLY NUMBERS, ÐRINT HAS TO LABOR. ÆOR INSTANCE, TO PRINT A NEAT COLUMN OF DOLLARS AND CENTS USING ÐRINT, YOU HAVE TO DO SOMETHING LIKE THIS: ÐÒÉÎÔ ÌÅÆÔ$(" "+ÓÔÒ$(ÁÂÓ(ÎÕÍÂÅÒ))) +"."+ÓÔÒ$(ÎÕÍÂÅÒ-ÁÂÓ (ÎÕÍÂÅÒ)) ×HEREAS ÐRINT ÕSING WOULD HANDLE THE SAME SITUATION LIKE THIS: ÐÒÉÎÔ ÕÓÉÎÇ "####.##";ÎÕÍÂÅÒ ÁLSO, ÐRINT ÕSING CAN FLOAT A DOLLAR SIGN ALONGSIDE THE NUMBER (OR MOVE IT TO THE LEFT POSITION), PLACE COMMAS IN SPECIFIED LOCATIONS, USE DOTS (PERIODS) AS COLUMN LEADERS (E.G., ÓMITH......$347.21), INCORPORATE STRINGS READILY (CENTERED, LEFT- OR RIGHT-JUSTIFIED) AND MORE. ÔHE MAIN REASON ÐRINT ÕSING GETS OVERLOOKED IS BECAUSE IT'S JUST ABOUT THE MOST POORLY DOCUMENTED COMMAND IN THE ÕSER'S ÇUIDE. ÉTS THREE-AND-A-HALF PAGES OF EXPLANATION DO LITTLE TO HELP, SO É'LL TRY TO REMEDY THAT RIGHT NOW. ÐUTTING ÐRINT ÕSING TO ×ORK ÔHE BIG DIFFERENCE BETWEEN ÐRINT AND ÐRINT ÕSING IS WHAT'S CALLED THE "FORMAT LIST." ÔHIS IS NOTHING MORE THAN THE PREDEFINED OUTPUT PATTERN YOU WANT. ÌET'S DISSECT THE FOLLOWING STATEMENT PIECE BY PIECE AND HAVE A LOOK. ÐÒÉÎÔ ÕÓÉÎÇ "#####" ; 135 1. ÔHE FIRST WORD, PRINT, IS THE SAME AS IN THE PLAIN OL' ÐRINT STATEMENT. 2. ÂETWEEN THE KEYWORDS PRINT AND USING YOU HAVE THE OPPORTUNITY TO DIRECT YOUR RESULTS TO A FILE IF YOU WANT TO, SUCH AS A PRINTER FILE OR DISK FILE. ÙOU DO THIS THE SAME WAY YOU DIRECT OUTPUT TO ANY DEVICE, WITH THE POUND SIGN AND A LOGICAL FILE NUMBER. ÔHUS, IN PRINT #2, USING THE OUTPUT IS SENT TO FILE 2. 3. ÎEXT COMES THE KEYWORD ÕÓÉÎÇ. 4. ÁN OPENING QUOTE AND THE FORMAT LIST COME NEXT. ÔHE LIST MUST BE WITHIN QUOTES UNLESS YOU PREDEFINE A STRING AS YOUR FORMAT LIST. ÉF YOU USE A STRING, YOUR FORMAT LIST MIGHT TAKE THE FORM: ÐÒÉÎÔ ÕÓÉÎÇ Æ$ ; 135. 5. ÎO MATTER WHETHER YOU ELECT TO PREDEFINE THE FORMAT LIST, OR DO IT WITHIN THE ÐRINT ÕSING STATEMENT, IT'S WHAT'S BETWEEN THE BUNS (I.E., QUOTES) THAT MATTERS. ÉN OUR MODEL, THE FORMAT LIST CONSISTS OF FIVE POUND SIGNS (#####). ÔHESE TELL THE COMPUTER THAT THE PRINTING COLUMN WIDTH IS FIVE CHARACTERS WIDE. ÉF YOU'RE PRINTING NUMBERS, ÐRINT ÕSING WILL RIGHT-JUSTIFY THE OUTPUT, PRINTING TWO SPACES THEN THE NUMBER 135. ÔHIS WAY NUMBERS ARE ALWAYS LINED UP ON THE RIGHT, MAKING THE CREATION OF COLUMNS A SNAP. ×E'LL DISCUSS THE FORMAT LIST MORE IN A MINUTE. 6. ÔHE END-QUOTE. ÎO SURPRISE; IT TERMINATES THE FORMAT LIST.7. ÔHE SEMICOLON IS NEEDED TO SEPARATE THE FORMAT LIST FROM THE PRINT LIST--A NECESSARY FORMALITY. 8. ÔHE PRINT LIST. ÔHIS IS WHAT YOU WANT PRINTED. ÔHE EXAMPLE ABOVE SHOWS A SINGLE ITEM, THE NUMBER 135; BUT THE PRINT LIST CAN BE AS MANY ITEMS AS YOU WISH, BOTH TEXT AND NUMERIC VALUES, CONSTANTS AND VARIABLES. ÙOUR ONLY GRAMMATICAL REQUIREMENT IS TO SEPARATE EACH WITH A COMMA, LIKE THIS: ÐÒÉÎÔ ÕÓÉÎÇ "#####" ; 135,ÎÍ ÅACH SUCCEEDING COLUMN BEGINS WHERE THE PRECEDING ONE ENDS. ÔHEREFORE, IF YOU SET YOUR FORMAT LIST FIVE PLACES WIDE (FIVE POUND SIGNS) YOUR OUTPUT COLUMNS WILL BEGIN EVERY FIVE SPACES. ÔHUS IF ÎÍ ABOVE EQUALED 15893, THE OUTPUT WOULD LOOK LIKE THIS: 13515893. ÔO CORRECT THIS PROBLEM AND KEEP COLUMNS SEPARATE, YOU SIMPLY WIDEN THE FORMAT LIST. ÄIGGING ÄEEPER ÔHAT'S A QUICK OVERVIEW. ÎOW LET'S DIG INTO THE DEPTHS OF THAT FORMAT LIST. ÂESIDES THE POUND SIGN, YOU HAVE EIGHT OTHER SYMBOLS AT YOUR DISPOSAL. ÅACH OF THESE TELLS ÐRINT ÕSING TO DO SOMETHING A LITTLE DIFFERENTLY WITH THE PRINT LIST. * ÐOUND (#) ÁS MENTIONED, THIS SIMPLY RESERVES A PLACE FOR OUTPUT. *ÐLUS (+) ÐLACING A PLUS SIGN AT THE BEGINNING OF YOUR FORMAT LIST WILL CAUSE ALL POSITIVE NUMBERS TO BE PRECEDED BY A PLUS (+). ÐLACING THE PLUS SIGN AT THE END OF THE FORMAT LIST WILL CAUSE A PLUS SIGN TO PRINT AFTER POSITIVE NUMBERS. *ÍINUS (-) ÔHIS WORKS LIKE THE ABOVE, ONLY IT ATTACHES MINUS SIGNS TO NEGATIVE NUMBERS. (×HEN THIS IS USED, POSITIVE NUMBERS DO NOT RECEIVE PLUS SIGNS.) *ÄECIMAL (.) ÐLACING A PERIOD IN YOUR FORMAT LIST EFFECTIVELY TELLS YOUR Ã-128 HOW MANY DIGITS TO THE RIGHT OF THE PERIOD YOU WANT DISPLAYED. ÆOR EXAMPLE, ÐÒÉÎÔ ÕÓÉÎÇ "####.##" ; ÍÏÎÅÙ WOULD PRODUCE 78.00 IF ÍÏÎÅÙ EQUALED 78. ÔHIS ARRANGEMENT IS HANDY FOR PRINTING A COLUMN OF FINANCIAL VALUES (DOLLARS AND CENTS). *ÄOLLAR ($) ÔHIS SYMBOL (THAT FAVORITE OF ÁMERICANS EVERYWHERE) WILL AUTOMATICALLY OUTPUT A DOLLAR SIGN WITH ALL NUMERIC VALUES. ÙOU CAN HAVE A FLOATING DOLLAR SIGN (ONE THAT ALWAYS APPEARS IMMEDIATELY TO THE LEFT OF THE NUMBER) BY PLACING IT IN THE SECOND PLACE (LIKE THIS: "#$####.##"). ÌOCATING IT ELSEWHERE WILL FORCE IT TO APPEAR WHERE YOU PLACE IT WITHIN THE FORMAT LIST. *ÃOMMA (,) ÔHE COMMA SIMPLY ALLOWS YOU TO FORCE A COMMA WHEREVER YOU WANT IN THE FORMAT FIELD. ÔHEREFORE, TO PUT IT BETWEEN THE HUNDREDS AND THOUSANDS PLACE, YOU'D PLACE IT BETWEEN THE THIRD AND FOURTH POUND SIGNS TO THE LEFT OF THE DECIMAL, AS IN "###,###.##".*ÕP ÁRROWS (^) ÆOUR UP-ARROWS IN THE FORMAT FIELD WILL CAUSE THE RESULT TO BE PRINTED IN SCIENTIFIC NOTATION. *ÅQUAL (=) ÔHIS SYMBOL PLUS THE NEXT ONE DEAL ONLY WITH STRING OUTPUT. ÔHE EQUAL SIGN (=) CAUSES THE TEXT TO BE CENTERED WITHIN THE FORMAT FIELD. *ÇREATER THAN (>) ÔHIS SYMBOL CAUSES TEXT TO BE RIGHT-JUSTIFIED RATHER THAN ITS DEFAULT OF LEFT-JUSTIFIED. ÓOME ÑUIRKS & PUDEFÁNY SYMBOLS PLACED BETWEEN THE QUOTES IN THE FORMAT LIST COUNT TOWARDS THE OUTPUT COLUMN WIDTH, NOT JUST THE POUND SIGNS. ÆRACTIONS ARE AUTOMATICALLY ROUNDED. ÙOU CANNOT USE THE SEMICOLON AFTER A ÐRINT ÕSING TO KEEP THE CURSOR IN PLACE LIKE YOU CAN WITH ÐRINT. ÉF YOUR OUTPUT EXCEEDS THE PLACES PRESERVED IN THE FORMAT LIST, YOU'LL SEE STARS (ASTERISKS, ACTUALLY). ×ITH TEXT STRINGS, THE STRING IS TRUNCATED--THAT IS, CHOPPED OFF--WHEN IT EXCEEDS THE COLUMN WIDTH. Á RELATED COMMAND, ÐÕÄÅÆ, ALLOWS YOU TO CHANGE THE FILLER CHARACTER (WHICH DEFAULTS TO A BLANK SPACE) TO WHATEVER YOU WANT. ÔHIS ALLOWS FOR NEAT LISTS THAT PRINT WITH PERIODS BETWEEN COLUMNS. ÈERE'S A SAMPLE: ÐÕÄÅÆ ".":ÐÒÉÎÔ ÕÓÉÎÇ "######.##"; ÎÁÍÅ$,ÁÍÏÕÎÔ ÉF NAME$ = "ÂOB" AND ÁÍÏÕÎÔ = 13.72 THE OUTPUT WOULD LOOK LIKE THIS: ÂOB....13.72 ÐÕÄÅÆ ALSO ALLOWS YOU TO CHANGE THE COMMA CHARACTER, THE DECIMAL POINT, AND THE DOLLAR SIGN. ÓEE THE PROGRAM BELOW (AND YOUR ÕSER'S ÇUIDE) FOR MORE DETAILS. ÉT'S TOUGH IN THIS LIMITED SPACE TO SAY ALL É'D LIKE TO ABOUT ÐRINT ÕSING. ÔHAT'S WHY É'VE INCLUDED THE SHORT PROGRAM, ÐÒÉÎÔ 128 ÍÏÄÅ. ÒUN IT AND YOU'LL GET A GOOD IDEA OF ÐRINT ÕSING'S VALUE.