<head>
        <title></title>
</head>
<body>
<div class="userStyles" style=" font-family: Arial; font-size: 12pt; color: #000000;">There is another way to consider this.<br>
<br>
A Stream has certain semantics.  It sources data items and it sinks data items.  That's all.  It doesn't store, it doesn't reposition, it doesn't read back what was previously written.<br>
<br>
Those are not the semantics you want.<br>
<br>
You appear to want File-like semantics.  In Oberon, a File is a random-access memory-like object.  It stores data objects, it repositions, it allows previously-written data objects to be read back.  It may or may not persist across multiple power cycles, depending on whether its name was registered with the filesystem.  (If it wasn't so registered, it will be garbage-collected at some time in the future.)
<footer class="replyforwardcontainer"><br>
Where you are encountering difficulty is the conflict between Stream semantics and File-like semantics.<br>
<br>
--John<br>
<br>
<span>On Sat, 24 Apr 2021 11:30:50 -0700, peter@easthope.ca wrote:</span><br>
<br>
From: strohm@...mail.net<br>
Date: Sat, 24 Apr 2021 00:52:13 -0400<br>
> Assuming you're talking about Ulm's Streams module, described at<br>
> http://www.mathematik.uni-ulm.de/oberon/0.5/lib/man/Streams.html, it looks like<br>
> you want the third line to be something along the lines of:<br>
><br>
> =C2=A0 =C2=A0 Streams.Seek(strm, msgs[no].pos, Streams.fromStart);<br>
<br>
Thanks. That makes perfect sense.<br>
<br>
ETH Oberon and the A2O here. Streams lacks a Seek procedure.<br>
<br>
One further oddity: this Oberon has the procedure name OpenFileWriter<br>
but returns a stream rather than a FileStream.<br>
<br>
(** Opens a stream writing on file F starting at postion pos. *)<br>
PROCEDURE OpenFileWriter*(F: Files.File; pos: SIGNED32): Stream;<br>
<br>
Why not make it return a FileStream rather than a Stream? That would<br>
allow changing the rider.<br>
<br>
Thx, ... P. L.<br>
<br>
--<br>
VoIP: +1 604 670 0140 Bcc: peter at easthope. ca<br>
<br>
--<br>
Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems<br>
https://lists.inf.ethz.ch/mailman/listinfo/oberon<br>
 </footer>
</div>


</body>