| 12345678910111213141516171819202122232425262728293031 |
- MODULE IOChanFileProg;
- (* IOChan over files: write a channel to a file, close, reopen for
- reading, read the line and integer back. Exit 3. *)
- IMPORT IOChan, Strings;
- VAR ExitCode : INTEGER;
- VAR f : IOChan.ChanId;
- VAR name, line : ARRAY [0 .. 63] OF CHAR;
- BEGIN
- Strings.Assign("gen_ssa/_iochan_tmp.txt", name);
- f := IOChan.OpenWrite(name);
- IF IOChan.IsOpen(f) THEN
- IOChan.WriteString(f, "line one");
- IOChan.WriteLn(f);
- IOChan.WriteInt(f, -7);
- IOChan.WriteLn(f);
- IOChan.Close(f)
- END;
- f := IOChan.OpenRead(name);
- IF IOChan.IsOpen(f) THEN
- IOChan.ReadString(f, line);
- IF line = "line one" THEN
- ExitCode := ExitCode + 1
- ELSE ExitCode := 90 END;
- IF IOChan.ReadInt(f) = -7 THEN
- ExitCode := ExitCode + 2
- ELSE ExitCode := 91 END;
- IOChan.Close(f)
- END
- END IOChanFileProg.
|