// If this entire file is MSGCOMP compiled (producing EXAMPLES.MSG) and then // the MSGTEST.EXE utility is used to just throw each message up on the, // screen, you will be able to quickly see what these messages look like via // the MSGCOMP system. // PLEASE READ THE MSGCOMP USERS GUIDE BEFORE YOU TRY TO INTERPRET WHAT YOU // SEE HERE. IF YOU MSGCOMP COMPILE THIS FILE AND USE THE MSGTEST PROGRAM // TO START DISPLAYING THINGS AS MENTIONED ABOVE, BUT YOU HAVEN'T READ THE // SECTIONS IN THE USERS GUIDE THAT DEAL WITH TOPICS THAT THESE MESSAGES ARE // DESIGNED TO DEMONSTRATE, THEN THE SIGNIFICANCE OF THIS DEMONSTRATION WILL // PROBABLY NOT MAKE ITS FULL IMPACT. WORSE YET, YOU MAY THINK THAT THE // DEMONSTARTION IS FLAWED, OR JUST WIERD. PLEASE TAKE SOME TIME TO READ THE // SECTIONS IN THE USERS GUIDE TO GAIN SOME PERSPECTIVE ON WHAT THE MSGCOMP // SYSTEM CAN DO, AND FOR IDEAS ON HOW IT CAN BE USED FOR YOUR SOFTWARE // PRODUCTS. // Note that any examples below that contained %s %c or %i place holders // in the documentation, have been slightly modified to put real sample data // where the place holders were. This was done to avoid producing trash on // the screen. MSGTEST.EXE calls printmsg, but does not supply any optional // parameters. When printmsg attempts to replace a % item with a passed // parameter it will pick up trash in RAM, which produces trash on the screen. // It is to avoid this situation that the examples were slightly modified. // Also be aware that some messages contain //DELAY statements. Don't be // in too much of a hurry to hit a key. Wait a bit. It is best to have a // hardcopy of this input file handy as messages are put up on the screen so // that you have some idea of what to expect, and also get a better handle on // what individual options do. // If you examine the EXAMPLES.HH file that is produced by MSGCOMPiling the // EXAMPLES.TXT file, you will see that there are many #define statements // that redefine each other. If you tried to #include this EXAMPLES.HH file // into a normal C language program, and attempted to compile it, the C // compiler would object to the redefinitions. It is for this reason that // when you would normally code //MESSAGE_NAME statements, you would not // use duplicate names. // EXAMPLE PLUMBER //MESSAGE_NAME=COPYRIGHT_MSG \nFANTASTIC INVENTORY SYSTEMS - COPYRIGHT 1992. \nALL RIGHTS RESERVED. \nCall (123) 456-7890 for licensing information. //MESSAGE_NAME=ERROR_MSG \nThe length of pipe specified is not a stock item. \nPlease consider using 6 sections of stock # A123XY. \n OR \nUse 12 sections of stock # B456QW. //MESSAGE_NAME=THANK_YOU_MSG \nThank You for using \"FANTASTIC PLUMBERS INVENTORY\". // EXAMPLE CARPENTER //MESSAGE_NAME=COPYRIGHT_MSG \nFANTASTIC INVENTORY SYSTEMS - COPYRIGHT 1992. \nALL RIGHTS RESERVED. \nCall (123) 456-7890 for licensing information. //MESSAGE_NAME=ERROR_MSG \nThe length of lumber specified is not a stock item. \nPlease consider using 4 2X4's - stock # C987YU. \n OR \nSplit 4 4X8's - stock # N12345. \n OR \nLay up 40 1X2's - stock # S123PO. //MESSAGE_NAME=THANK_YOU_MSG \nThank You for using \"CARPENTERS INVENTORY SYSTEM\". // EXAMPLE ROOFER //MESSAGE_NAME=COPYRIGHT_MSG \nFANTASTIC INVENTORY SYSTEMS - COPYRIGHT 1992. \nALL RIGHTS RESERVED. \nCall (123) 456-7890 for licensing information. //MESSAGE_NAME=ERROR_MSG \nThe shingle type specified is not a stock item. \nPlease consider using 9 pallet of stock # E987RT. \n OR \nUse 4 bundles of stock # Z87654. //MESSAGE_NAME=THANK_YOU_MSG \nThank You for using \"THE ROOFERS HELPER\". //MESSAGE_NAME=FLOWERS_MSG Roses are red and violets are blue. //MESSAGE_NAME=FLOWERS_MSG "//COLOR WHITE BLACK NORMAL_INTENSITY NON_BLINKING Roses~are~" "//COLOR RED WHITE NORMAL_INTENSITY NON_BLINKING red" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ~and~violets~are~" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK blue" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ." //MESSAGE_NAME=FLOWERS_MSG "\n//COLOR WHITE BLACK NORMAL_INTENSITY NON_BLINKING Roses are " "//COLOR RED WHITE NORMAL_INTENSITY NON_BLINKING red" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK and violets are " "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK blue" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ." //MESSAGE_NAME=FLOWERS_MSG "//COLOR WHITE BLACK NORMAL_INTENSITY NON_BLINKING" "//SCREEN 0 7 0 Roses are " "//COLOR RED WHITE NORMAL_INTENSITY NON_BLINKING red" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK and violets are " "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK blue" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ." //MESSAGE_NAME=FLOWERS_MSG "//ERASE 0 0 24 79" "//COLOR WHITE BLACK NORMAL_INTENSITY NON_BLINKING" "//SCREEN 0 7 O Roses are " "//COLOR RED WHITE NORMAL_INTENSITY NON_BLINKING red" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK and violets are " "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK blue" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ." //MESSAGE_NAME=FLOWERS_MSG "//ERASE 0 0 24 79" "//COLOR WHITE BLACK NORMAL_INTENSITY NON_BLINKING" "//SCREEN 0 7 O Roses are " "//COLOR RED WHITE NORMAL_INTENSITY NON_BLINKING red" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK and violets are " "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK blue" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ." "//DELAY 500 NO" //MESSAGE_NAME=FLOWERS_MSG "//ERASE 0 0 24 79" "//NOISE 100 200" "//COLOR WHITE BLACK NORMAL_INTENSITY NON_BLINKING" "//SCREEN 0 7 O Roses are " "//COLOR RED WHITE NORMAL_INTENSITY NON_BLINKING red" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK and violets are " "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK blue" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK ." "//DELAY 500 NO" "//NOISE 5000 300" //MESSAGE_NAME=MARY_MSG Mary had a little lamb //MESSAGE_NAME=MARY_MSG "Mary" "had" "a" "little" "lamb" //MESSAGE_NAME=ASTERISK_LINE "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" "//COLOR RED WHITE LOW_INTENSITY NO_BLINK *" "//COLOR BLUE WHITE LOW_INTENSITY NO_BLINK *" //MESSAGE_NAME=ASTERISK_LINE //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * //COLOR RED WHITE LOW_INTENSITY NO_BLINK * //COLOR BLUE WHITE LOW_INTENSITY NO_BLINK * // The last 2 messages each didn't reset the COLOR to a default value. // Lets do a color reset now. //MESSAGE_NAME=COLOR_RESET //COLOR WHITE BLACK LOW_INTENSITY NON_BLINKING //MESSAGE_NAME=POOR_DESIGN "//ERASE 0 0 24 79 //SCREEN 0 0 0 " "//COLOR RED WHITE LOW_INTENSITY NO_BLINK " "This is a relatively short line." "\n\nThis is a much longer line and highlights the problem." "\n\nVery short msg." "\nThis is a long message again, and the screen looks awful!" "\n\n\nSee the problem ?" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //MESSAGE_NAME=BETTER_DESIGN "//ERASE 0 0 24 79 //SCREEN 0 0 0 " "//COLOR RED WHITE LOW_INTENSITY NO_BLINK " "This is a relatively short line. " "\n\n" "This is a much longer line and highlights the problem. " "\n\n" "Very short msg. " "\n" "This is a long message again, and the screen looks better!" "\n\n\n" "See the solution to the problem ? " "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //MESSAGE_NAME=BETTER_STILL_DESIGN "//ERASE 0 0 24 79 //SCREEN 0 0 0 " "//COLOR RED WHITE LOW_INTENSITY NO_BLINK " "This is a relatively short line. " "\n" " " "\n" "This is a much longer line and highlights the problem. " "\n" " " "\n" "Very short msg. " "\n" "This is a long message again, and the screen looks better!" "\n" " " "\n" " " "\n" "See the solution to the problem ? " "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //MESSAGE_NAME=BEST_DESIGN "//COLOR RED WHITE LOW_INTENSITY NO_BLINK " "//ERASE 0 0 24 79 //SCREEN 0 0 0 " "This is a relatively short line." "\n\nThis is a much longer line and highlights the problem." "\n\nVery short msg." "\nThis is a long message again, and the screen looks awful!" "\n\n\nSee the problem ?" "//COLOR WHITE BLACK LOW_INTENSITY NO_BLINK" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //MESSAGE_NAME=BORDER_DEMO "//ERASE 0 0 24 79 //SCREEN 0 0 0 " // LETS PUT UP THE TOP BORDER OF TEXT This is the top border of the screen. It is 4 lines thick. This top border should not be disturbed by any other text for this message. Note that we are mixing lines that start and end with double quotes, with ones that don't. It's O.K. // NOW LETS PUT UP A LEFT EDGE BORDER This is the start of the left edge border for this demonstration. Note that it also does not change or get written over as messages are put into the area to the right. This shows how it is possible to control exactly where text is displayed with a fair degree of precision. This would be hard to do with ordinary C code.//DELAY 2500 YES // NOW WE WILL FILL IN THE LARGE OPEN AREA WITH SOME // TEXT AND THEN ALLOW NORMAL SCROLLING AND "MORE" // CONTROL TO DEMONSTRATE HOW THE BORDERS STAY IN // PLACE. "//COLOR MAGENTA BLACK HIGH_INTENSITY NO_BLINK" //SCREEN 0 4 20 11111111111111111111111111111111111111111 //SCREEN 0 5 20 222222222222222222222222222222222222222 //SCREEN 0 6 20 3333333333333333333333333333333333333 //SCREEN 0 7 20 44444444444444444444444444444444444 //SCREEN 0 8 20 555555555555555555555555555555555 //SCREEN 0 9 20 6666666666666666666666666666666 //SCREEN 0 10 20 77777777777777777777777777777 //SCREEN 0 11 20 888888888888888888888888888 //SCREEN 0 12 20 9999999999999999999999999 //SCREEN 0 13 20 00000000000000000000000 //SCREEN 0 14 20 111111111111111111111 //SCREEN 0 15 20 2222222222222222222 //SCREEN 0 16 20 33333333333333333 //SCREEN 0 17 20 444444444444444 //SCREEN 0 18 20 5555555555555 //SCREEN 0 19 20 66666666666 //SCREEN 0 20 20 777777777 //SCREEN 0 21 20 8888888 //SCREEN 0 22 20 99999 //SCREEN 0 23 20 000//DELAY 300 YES "//COLOR CYAN BLACK HIGH_INTENSITY NO_BLINK" //SCREEN 0 4 20 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA //SCREEN 0 5 20 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB //SCREEN 0 6 20 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC //SCREEN 0 7 20 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD //SCREEN 0 8 20 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE //SCREEN 0 9 20 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF //SCREEN 0 10 20 GGGGGGGGGGGGGGGGGGGGGGGGGGGGG //SCREEN 0 11 20 HHHHHHHHHHHHHHHHHHHHHHHHHHH //SCREEN 0 12 20 IIIIIIIIIIIIIIIIIIIIIIIII //SCREEN 0 13 20 JJJJJJJJJJJJJJJJJJJJJJJ //SCREEN 0 14 20 KKKKKKKKKKKKKKKKKKKKK //SCREEN 0 15 20 LLLLLLLLLLLLLLLLLLL //SCREEN 0 16 20 MMMMMMMMMMMMMMMMM //SCREEN 0 17 20 NNNNNNNNNNNNNNN //SCREEN 0 18 20 OOOOOOOOOOOOO //SCREEN 0 19 20 PPPPPPPPPPP //SCREEN 0 20 20 QQQQQQQQQ //SCREEN 0 21 20 RRRRRRR //SCREEN 0 22 20 SSSSS //SCREEN 0 23 20 TTT//DELAY 300 YES "//COLOR BROWN BLACK HIGH_INTENSITY BLINK" //SCREEN 0 7 20 WE CAN DEMONSTRATE HOW WE CAN WRITE //SCREEN 0 13 20 ANYWHERE ON THE SCREEN. //SCREEN 0 19 20 EVEN OVER EXISTING MESSAGES //SCREEN 0 20 20 THAT WERE //SCREEN 0 21 20 WRITTEN //SCREEN 0 22 20 THERE //SCREEN 0 23 20 EARLIER//DELAY 800 YES //COLOR WHITE BLACK LOW_INTENSITY NON_BLINKING \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // The following message is really inappropriate for the screen since // it contains hex characters specifically designed for a printer. // When you see lots of strange symbols, you will know why. //MESSAGE_NAME=LEGAL_FORM // THE NEXT LINE RESETS THE PRINTER. "\x1b@" // THE NEXT ITEM SETS THE FORMS LENGTH TO 14 INCHES // BY MULTIPLYING THE CURRENT LPI * 14 AND SPECIFYING // THE RESULT IN HEX. 6LPI * 14 = 84 = HEX 54 "\x1bC\x54" // NOW LETS TOGGLE EMPHASIZED AND DOUBLE STRIKE "\x1bE\x1bG" // GET 12 LPI BY SPECIFYING 6/72 LINE SPACING "\x1bA\x06" // FINALLY, GET UNIDIRECTIONAL PRINT FOR QUALITY "\x1bU1" // NOW LETS FILL IN THE FORM \n\n\n\n\nHello, this is where the form gets filled in. \n\n\n\n\nLets assume this is the last fill in field // NOW LETS FORCE A CARRIAGE RETURN AND EJECT THE FORM "\n\x0c" // FINALLY, LETS RESET THE PRINTER. "\x1b@" // NOTE THAT THE LINE ABOVE IS IN QUOTES SO THAT WE // DON'T SEND A NEWLINE AFTER WE DO A PRINTER RESET. //MESSAGE_NAME=FIRST //ERASE 0 0 24 79 //SCREEN 0 0 0 LINE 1 - STARTING AT 0,0 LINE 2 - STARTING AT 1,0 LINE 3 - STARTING AT 2,0 LINE 4 - STARTING AT 3,0 LINE 5 - STARTING AT 4,0 LINE 6 - STARTING AT 5,0 LINE 7 - STARTING AT 6,0 LINE 8 - STARTING AT 7,0 LINE 9 - STARTING AT 8,0 LINE 10 - STARTING AT 9,0 // AT THIS POINT, THE CURSOR IS NATURALLY AT 10,0 //MESSAGE_NAME=SECOND // EVEN THOUGH WE KNOW THE CURSOR IS AT 10 0, WE WILL FORCE // IT TO GO TO WHERE IT ALREADY IS JUST SO WE CAN AFFECT THE // LINE COUNT FOR THIS MESSAGE //SCREEN 0 10 0 LINE 11 1 STARTING AT 10,0 LINE 12 2 STARTING AT 11,0 LINE 13 3 STARTING AT 12,0 LINE 14 4 STARTING AT 13,0 LINE 15 5 STARTING AT 14,0 LINE 16 6 STARTING AT 15,0 LINE 17 7 STARTING AT 16,0 LINE 18 8 STARTING AT 17,0 LINE 19 9 STARTING AT 18,0 LINE 20 10 STARTING AT 19,0 LINE 21 11 STARTING AT 20,0 LINE 22 12 LINE 23 13 ETC. LINE 24 14 LINE 25 15 LINE 26 16 LINE 27 17 LINE 28 18 LINE 29 19 LINE 30 20