| 123456789101112131415161718192021222324252627282930313233 |
- IMPLEMENTATION MODULE Showcase15Lib;
- (* Signatures match the definition exactly (strict 235). *)
- IMPORT Conversions;
- PROCEDURE InitPoint (VAR p : Point; x, y : INTEGER);
- BEGIN
- p.x := x;
- p.y := y
- END InitPoint;
- PROCEDURE SumPoint (p : Point) : INTEGER;
- BEGIN
- RETURN p.x + p.y
- END SumPoint;
- PROCEDURE AppendInt (VAR s : ARRAY OF CHAR; n : INTEGER);
- VAR tmp : ARRAY [0 .. 31] OF CHAR;
- i, k : CARDINAL;
- BEGIN
- Conversions.IntToStr(n, tmp);
- (* find the end of s *)
- k := 0;
- WHILE (k <= HIGH(s)) AND (s[k] # CHR(0)) DO INC(k) END;
- i := 0;
- WHILE (k < HIGH(s)) AND (tmp[i] # CHR(0)) DO
- s[k] := tmp[i];
- INC(k); INC(i)
- END;
- IF k <= HIGH(s) THEN s[k] := CHR(0) END
- END AppendInt;
- END Showcase15Lib.
|