========== PrintCASE ================================================= COPYRIGHT 1989 Robert A. Jenkins, Ph.D. 22901 Shagbark Lane Miller Woods, IL 60411 (708) 758-0344 All Rights Reserved Rick Stiles may distribute it as he pleases. ============================================================================= This command is for Modula-2 programming. Modula-2 gives us these handy enumeration variables, but the values are not available to the programmer so when an enumeration variable is being used as a control variable it is necessary to write a CASE statement in order to print out the value of the variable. One can introduce many confusing errors by not doing it right. So I wrote this command to construct the CASE statement directly from the enumeration declaration. ============================================================================= Make CASE statement for printing enumeration (put cursor on EnumType) Sunday 24-Feb-91 19:59:22 Test =============== TYPE MenuChoice = (loadAll, loadIncome, loadExpenses, loadLines, saveAll, saveIncome, saveExpenses, saveLines, doIncome, doExpenses, doUSTax, doILTax, printAll, printIncome, printExpenses, printUSTax, printILTax, printTaxSequence, doUSRate, doILRate, doKeoghPercent, quit, abortQuit, noChoice); CASE menuChoice OF | loadAll: WriteLine ('0 loadAll') | loadIncome: WriteLine ('1 loadIncome') | loadExpenses: WriteLine ('2 loadExpenses') | loadLines: WriteLine ('3 loadLines') | saveAll: WriteLine ('4 saveAll') | saveIncome: WriteLine ('5 saveIncome') | saveExpenses: WriteLine ('6 saveExpenses') | saveLines: WriteLine ('7 saveLines') | doIncome: WriteLine ('8 doIncome') | doExpenses: WriteLine ('9 doExpenses') | doUSTax: WriteLine ('10 doUSTax') | doILTax: WriteLine ('11 doILTax') | printAll: WriteLine ('12 printAll') | printIncome: WriteLine ('13 printIncome') | printExpenses: WriteLine ('14 printExpenses') | printUSTax: WriteLine ('15 printUSTax') | printILTax: WriteLine ('16 printILTax') | printTaxSequence: WriteLine ('17 printTaxSequence') | doUSRate: WriteLine ('18 doUSRate') | doILRate: WriteLine ('19 doILRate') | doKeoghPercent: WriteLine ('20 doKeoghPercent') | quit: WriteLine ('21 quit') | abortQuit: WriteLine ('22 abortQuit') | noChoice: WriteLine ('23 noChoice') | ELSE WriteLine ('ILLEGAL VALUE') END; PROCEDURE...