mfeldman@seas.gwu.edu (Mike Feldman) (05/08/90)
WITH Text_IO; PROCEDURE Colors IS TYPE English_Colors IS (white, black, red, purple, blue, green, yellow, orange); TYPE French_Colors IS (blanc, noir, rouge, pourpre, bleu, vert, jaune, orange); PACKAGE English_Color_IO IS NEW Text_IO.Enumeration_IO (Enum => English_Colors); PACKAGE French_Color_IO IS NEW Text_IO.Enumeration_IO (Enum => French_Colors); Eng_Color : English_Colors; Fr_Color : French_Colors; Position : Natural; BEGIN Text_IO.Put (Item => "Please enter an English color >"); English_Color_IO.Get (Item => Eng_Color); Position := English_Colors'Pos(Eng_Color); Fr_Color := French_Colors'Val(Position); Text_IO.Put (Item => "The French color is "); -- the first line below will compile; -- will the second line? French_Color_IO.Put (Item => Fr_Color); French_Color_IO.Put (Item => Fr_Color, Set => Lower_Case); Text_IO.New_Line; END Colors;
stt@inmet.inmet.com (05/08/90)
Re: Use of "SET=>LOWER_CASE" in Enumeration_IO. LOWER_CASE is an enumeral from the type TEXT_IO.TYPE_SET. This means that the enumeral is declared "within" TEXT_IO, and you must either "use" TEXT_IO, or specify the value for the "SET" parameter as "TEXT_IO.LOWER_CASE. I.e., this should work: French_Color_IO.Put(Item => Fr_Color, Set => Text_IO.Lower_Case); S. Tucker Taft Intermetrics, Inc. Cambridge, MA 02138