| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- IMPLEMENTATION MODULE WholeStr;
- (* Delegates the numeric work to Conversions and maps its status onto
- ConvTypes' (identical literal order). *)
- IMPORT ConvTypes, Conversions;
- FROM ConvTypes IMPORT strAllRight, strOutOfRange, strWrongFormat,
- strEmpty;
- PROCEDURE Map (cr : Conversions.ConvResults) : ConvTypes.ConvResults;
- BEGIN
- IF ORD(cr) = 0 THEN RETURN strAllRight
- ELSIF ORD(cr) = 1 THEN RETURN strOutOfRange
- ELSIF ORD(cr) = 2 THEN RETURN strWrongFormat
- ELSE RETURN strEmpty
- END
- END Map;
- PROCEDURE StrToInt (str : ARRAY OF CHAR; VAR int : INTEGER;
- VAR res : ConvResults);
- BEGIN
- int := 0;
- res := Map(Conversions.StrToInt(str, int))
- END StrToInt;
- PROCEDURE IntToStr (int : INTEGER; VAR str : ARRAY OF CHAR);
- BEGIN
- Conversions.IntToStr(int, str)
- END IntToStr;
- PROCEDURE StrToCard (str : ARRAY OF CHAR; VAR card : CARDINAL;
- VAR res : ConvResults);
- BEGIN
- card := 0;
- res := Map(Conversions.StrToCard(str, card))
- END StrToCard;
- PROCEDURE CardToStr (card : CARDINAL; VAR str : ARRAY OF CHAR);
- BEGIN
- Conversions.CardToStr(card, str)
- END CardToStr;
- END WholeStr.
|