<> <> DIRECTORY Commander USING [CommandProc, Register], Rope USING [ROPE], FS USING [StreamOpen], IO USING [card, Close, GetTokenRope, int, PutF, RIS, rope, STREAM]; Conn106: CEDAR PROGRAM IMPORTS IO, Commander, FS = BEGIN ROPE: TYPE = Rope.ROPE; Conn106Proc: Commander.CommandProc = BEGIN i: CARD; x, y: INT; stream: IO.STREAM _ IO.RIS[cmd.commandLine]; outputName: ROPE _ IO.GetTokenRope[stream].token; out: IO.STREAM _ FS.StreamOpen[outputName,$create]; IO.PutF[out, "4096 2048 -300 -375 200 5775 -100 -400 CON106 PARC-CON106 J\n"]; FOR i IN [1..53] DO x_ (i-1)*25; y _ -(((i-1) MOD 2)* 225); IO.PutF[out, "%g %g P%g 255 0 %g 0 22\n", IO.int[x], IO.int[y], IO.card[i], IO.card[i]]; ENDLOOP; FOR i IN [1..53] DO x_ (i-1)*25; y _ -(((i-1) MOD 2)* 225); IO.PutF[out, "%g %g P%g 255 0 %g 0 23\n", IO.int[x], IO.int[y], IO.card[i+53], IO.card[i+53]]; ENDLOOP; <> <> IO.Close[out]; IO.PutF[cmd.out, "File %g Written\n", IO.rope[outputName]]; END; Commander.Register[ key: "Conn106", proc: Conn106Proc, doc: "Generates a Conn106.part file\n"]; END.