2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3
<!-- Created on July, 24 2001 by texi2html 1.64 -->
5
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
6
Karl Berry <karl@freefriends.org>
7
Olaf Bachmann <obachman@mathematik.uni-kl.de>
9
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
10
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
14
<TITLE>BERKELEY LOGO: COMMUNICATION</TITLE>
16
<META NAME="description" CONTENT="BERKELEY LOGO: COMMUNICATION">
17
<META NAME="keywords" CONTENT="BERKELEY LOGO: COMMUNICATION">
18
<META NAME="resource-type" CONTENT="document">
19
<META NAME="distribution" CONTENT="global">
20
<META NAME="Generator" CONTENT="texi2html 1.64">
24
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
27
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
28
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_2.html#SEC65"> < </A>]</TD>
29
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> > </A>]</TD>
30
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_2.html#SEC6"> << </A>]</TD>
31
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top"> Up </A>]</TD>
32
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
33
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
34
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
35
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
36
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
38
<H1> 3. Communication </H1>
42
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
43
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC67">3.1 Transmitters</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
44
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC71">3.2 Receivers</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
45
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC78">3.3 File Access</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
46
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC101">3.4 Terminal Access</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
50
<A NAME="TRANSMITTERS"></A>
53
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
54
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> < </A>]</TD>
55
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC68"> > </A>]</TD>
56
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> << </A>]</TD>
57
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> Up </A>]</TD>
58
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> >> </A>]</TD>
59
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
60
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
61
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
62
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
64
<H2> 3.1 Transmitters </H2>
68
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
69
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC68">print</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
70
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC69">type</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
71
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC70">show</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
75
Note: If there is a variable named <VAR>PRINTDEPTHLIMIT</VAR> with a nonnegative
76
integer value, then complex list and array structures will be printed
77
only to the allowed depth. That is, members of members of... of members
78
will be allowed only so far. The members omitted because
79
they are just past the depth limit are indicated by an ellipsis for each
80
one, so a too-deep list of two members will print as [<small>...</small> <small>...</small>].
83
If there is a variable named <VAR>PRINTWIDTHLIMIT</VAR> with a nonnegative integer
84
value, then only the first so many members of any array or
85
list will be printed. A single ellipsis replaces all missing data
86
within the structure. The width limit also applies to the number of
87
characters printed in a word, except that a <VAR>PRINTWIDTHLIMIT</VAR> between 0 and 9
88
will be treated as if it were 10 when applied to words. This limit
89
applies not only to the top-level printed datum but to any substructures
93
See section <A HREF="usermanual_11.html#SEC349">printdepthlimit</A> ,
94
<A HREF="usermanual_11.html#SEC350">printwidthlimit</A>
97
If there is a variable named <VAR>FULLPRINTP</VAR> whose value is TRUE, then
98
words that were created using backslash or vertical bar (to include
99
characters that would otherwise not be treated as part of a word) are
100
printed with the backslashes or vertical bars shown, so that the printed
101
result could be re-read by Logo to produce the same value. If
102
FULLPRINTP is TRUE then the empty word (however it was created) prints
103
as ||. (Otherwise it prints as nothing at all.)
106
See section <A HREF="usermanual_11.html#SEC347">fullprintp</A> .
112
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
113
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> < </A>]</TD>
114
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC69"> > </A>]</TD>
115
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> << </A>]</TD>
116
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> Up </A>]</TD>
117
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> >> </A>]</TD>
118
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
119
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
120
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
121
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
124
<!--docid::SEC68::-->
127
<TABLE><tr><td> </td><td class=example><pre>PRINT thing
129
(PRINT thing1 thing2 ...)
130
(PR thing1 thing2 ...)
131
</pre></td></tr></table></P><P>
133
command. Prints the input or inputs to the current write stream
134
(initially the terminal). All the inputs are printed on a single line,
135
separated by spaces, ending with a newline. If an input is a list,
136
square brackets are not printed around it, but brackets are printed
137
around sublists. Braces are always printed around arrays.
143
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
144
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC68"> < </A>]</TD>
145
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC70"> > </A>]</TD>
146
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> << </A>]</TD>
147
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> Up </A>]</TD>
148
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> >> </A>]</TD>
149
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
150
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
151
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
152
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
155
<!--docid::SEC69::-->
158
<TABLE><tr><td> </td><td class=example><pre>TYPE thing
159
(TYPE thing1 thing2 ...)
160
</pre></td></tr></table></P><P>
162
command. Prints the input or inputs like PRINT, except that no newline
163
character is printed at the end and multiple inputs are not separated by
164
spaces. Note: printing to the terminal is ordinarily "line buffered";
165
that is, the characters you print using TYPE will not actually appear on
166
the screen until either a newline character is printed (for example, by
167
PRINT or SHOW) or Logo tries to read from the keyboard (either at the
168
request of your program or after an instruction prompt). This buffering
169
makes the program much faster than it would be if each character
170
appeared immediately, and in most cases the effect is not disconcerting.
171
To accommodate programs that do a lot of positioned text display using
172
TYPE, Logo will force printing whenever SETCURSOR is invoked. This
173
solves most buffering problems. Still, on occasion you may find it
174
necessary to force the buffered characters to be printed explicitly;
175
this can be done using the WAIT command. <TT>WAIT 0</TT> will force printing
176
without actually waiting.
179
See section <A HREF="usermanual_3.html#SEC104">setcursor</A> ,
180
<A HREF="usermanual_8.html#SEC311">wait</A>
186
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
187
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC69"> < </A>]</TD>
188
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> > </A>]</TD>
189
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> << </A>]</TD>
190
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> Up </A>]</TD>
191
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> >> </A>]</TD>
192
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
193
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
194
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
195
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
198
<!--docid::SEC70::-->
201
<TABLE><tr><td> </td><td class=example><pre>SHOW thing
202
(SHOW thing1 thing2 ...)
203
</pre></td></tr></table></P><P>
205
command. Prints the input or inputs like PRINT, except that if an input
206
is a list it is printed inside square brackets.
209
See section <A HREF="usermanual_3.html#SEC68">print</A> .
212
<A NAME="RECEIVERS"></A>
215
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
216
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC70"> < </A>]</TD>
217
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC72"> > </A>]</TD>
218
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
219
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> Up </A>]</TD>
220
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
221
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
222
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
223
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
224
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
226
<H2> 3.2 Receivers </H2>
227
<!--docid::SEC71::-->
230
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
231
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC72">readlist</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
232
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC73">readword</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
233
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC74">readrawline</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
234
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC75">readchar</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
235
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC76">readchars</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
236
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC77">shell</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
237
</TABLE></BLOCKQUOTE>
240
<A NAME="READLIST"></A>
243
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
244
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> < </A>]</TD>
245
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC73"> > </A>]</TD>
246
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
247
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> Up </A>]</TD>
248
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
249
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
250
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
251
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
252
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
255
<!--docid::SEC72::-->
258
<TABLE><tr><td> </td><td class=example><pre>READLIST
260
</pre></td></tr></table></P><P>
262
reads a line from the read stream (initially the terminal) and outputs
263
that line as a list. The line is separated into members as though it
264
were typed in square brackets in an instruction. If the read stream is
265
a file, and the end of file is reached, READLIST outputs the empty word
266
(not the empty list). READLIST processes backslash, vertical bar, and
267
tilde characters in the read stream; the output list will not contain
268
these characters but they will have had their usual effect. READLIST
269
does not, however, treat semicolon as a comment character.
272
<A NAME="READWORD"></A>
275
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
276
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC72"> < </A>]</TD>
277
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC74"> > </A>]</TD>
278
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
279
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> Up </A>]</TD>
280
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
281
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
282
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
283
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
284
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
287
<!--docid::SEC73::-->
290
<TABLE><tr><td> </td><td class=example><pre>READWORD
292
</pre></td></tr></table></P><P>
294
reads a line from the read stream and outputs that line as a word. The
295
output is a single word even if the line contains spaces, brackets, etc.
296
If the read stream is a file, and the end of file is reached, READWORD
297
outputs the empty list (not the empty word). READWORD processes
298
backslash, vertical bar, and tilde characters in the read stream. In
299
the case of a tilde used for line continuation, the output word DOES
300
include the tilde and the newline characters, so that the user program
301
can tell exactly what the user entered. Vertical bars in the line are
302
also preserved in the output. Backslash characters are not preserved in
303
the output, but the character following the backslash has 128 added to
304
its representation. Programs can use BACKSLASHEDP to check for this
305
code. (Backslashedness is preserved only for certain characters.)
308
See section <A HREF="usermanual_2.html#SEC54">backslashedp</A> .
311
<A NAME="READRAWLINE"></A>
314
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
315
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC73"> < </A>]</TD>
316
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC75"> > </A>]</TD>
317
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
318
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> Up </A>]</TD>
319
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
320
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
321
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
322
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
323
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
325
<H3> readrawline </H3>
326
<!--docid::SEC74::-->
329
<TABLE><tr><td> </td><td class=example><pre>READRAWLINE
330
</pre></td></tr></table></P><P>
332
reads a line from the read stream and outputs that line as a word. The
333
output is a single word even if the line contains spaces, brackets, etc.
334
If the read stream is a file, and the end of file is reached, READRAWLINE
335
outputs the empty list (not the empty word). READRAWLINE outputs the
336
exact string of characters as they appear in the line, with no special
337
meaning for backslash, vertical bar, tilde, or any other formatting
341
See section <A HREF="usermanual_3.html#SEC73">readword</A> .
344
<A NAME="READCHAR"></A>
347
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
348
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC74"> < </A>]</TD>
349
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC76"> > </A>]</TD>
350
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
351
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> Up </A>]</TD>
352
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
353
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
354
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
355
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
356
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
359
<!--docid::SEC75::-->
362
<TABLE><tr><td> </td><td class=example><pre>READCHAR
364
</pre></td></tr></table></P><P>
366
reads a single character from the read stream and outputs that character
367
as a word. If the read stream is a file, and the end of file is
368
reached, READCHAR outputs the empty list (not the empty word). If the
369
read stream is a terminal, echoing is turned off when READCHAR is
370
invoked, and remains off until READLIST or READWORD is invoked or a Logo
371
prompt is printed. Backslash, vertical bar, and tilde characters have
372
no special meaning in this context.
375
See section <A HREF="usermanual_3.html#SEC72">readlist</A> .
378
<A NAME="READCHARS"></A>
381
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
382
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC75"> < </A>]</TD>
383
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC77"> > </A>]</TD>
384
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
385
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> Up </A>]</TD>
386
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
387
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
388
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
389
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
390
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
393
<!--docid::SEC76::-->
396
<TABLE><tr><td> </td><td class=example><pre>READCHARS num
398
</pre></td></tr></table></P><P>
400
reads <CODE>num</CODE> characters from the read stream and outputs those characters
401
as a word. If the read stream is a file, and the end of file is
402
reached, READCHARS outputs the empty list (not the empty word). If the
403
read stream is a terminal, echoing is turned off when READCHARS is
404
invoked, and remains off until READLIST or READWORD is invoked or a Logo
405
prompt is printed. Backslash, vertical bar, and tilde characters have
406
no special meaning in this context.
409
See section <A HREF="usermanual_3.html#SEC72">readlist</A> ,
410
<A HREF="usermanual_3.html#SEC73">readword</A>
416
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
417
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC76"> < </A>]</TD>
418
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> > </A>]</TD>
419
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC67"> << </A>]</TD>
420
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> Up </A>]</TD>
421
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> >> </A>]</TD>
422
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
423
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
424
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
425
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
428
<!--docid::SEC77::-->
431
<TABLE><tr><td> </td><td class=example><pre>SHELL command
432
(SHELL command wordflag)
433
</pre></td></tr></table></P><P>
435
Under Unix, outputs the result of running <CODE>command</CODE> as a shell command.
436
(The command is sent to <SAMP>`/bin/sh'</SAMP>, not <SAMP>`csh'</SAMP> or other alternatives.) If the command is a literal list in the instruction line, and if you want a
437
backslash character sent to the shell, you must use \\ to get the
438
backslash through Logo's reader intact. The output is a list containing
439
one member for each line generated by the shell command. Ordinarily
440
each such line is represented by a list in the output, as though the
441
line were read using READLIST. If a second input is given, regardless
442
of the value of the input, each line is represented by a word in the
443
output as though it were read with READWORD. Example:
446
<TABLE><tr><td> </td><td class=example><pre>to dayofweek
447
output first first shell [date]
449
</pre></td></tr></table></P><P>
451
This is "first first" to extract the first word of the first (and only)
452
line of the shell output.
455
Under DOS, SHELL is a command, not an operation; it sends its input to a
456
DOS command processor but does not collect the result of the command.
459
The Macintosh, of course, is not programmable.
462
<A NAME="FILE ACCESS"></A>
465
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
466
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC77"> < </A>]</TD>
467
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC79"> > </A>]</TD>
468
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
469
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> Up </A>]</TD>
470
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
471
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
472
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
473
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
474
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
476
<H2> 3.3 File Access </H2>
477
<!--docid::SEC78::-->
480
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
481
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC79">setprefix</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
482
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC80">prefix</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
483
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC81">openread</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
484
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC82">openwrite</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
485
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC83">openappend</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
486
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC84">openupdate</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
487
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC85">close</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
488
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC86">allopen</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
489
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC87">closeall</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
490
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC88">erasefile</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
491
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC89">dribble</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
492
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC90">nodribble</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
493
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC91">setread</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
494
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC92">setwrite</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
495
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC93">reader</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
496
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC94">writer</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
497
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC95">setreadpos</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
498
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC96">setwritepos</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
499
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC97">readpos</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
500
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC98">writepos</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
501
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC99">eofp</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
502
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC100">filep</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
503
</TABLE></BLOCKQUOTE>
506
<A NAME="SETPREFIX"></A>
509
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
510
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> < </A>]</TD>
511
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC80"> > </A>]</TD>
512
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
513
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
514
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
515
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
516
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
517
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
518
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
521
<!--docid::SEC79::-->
524
<TABLE><tr><td> </td><td class=example><pre>SETPREFIX string
525
</pre></td></tr></table></P><P>
527
command. Sets a prefix that will be used as the implicit beginning of
528
filenames in OPENREAD, OPENWRITE, OPENAPPEND, OPENUPDATE, LOAD, and SAVE
529
commands. Logo will put the appropriate separator character (slash for
530
Unix, backslash for DOS/Windows, colon for MacOS) between the prefix and
531
the filename entered by the user. The input to SETPREFIX must be a
532
word, unless it is the empty list, to indicate that there should be no
536
See section <A HREF="usermanual_3.html#SEC81">openread</A> ,
537
See section <A HREF="usermanual_3.html#SEC82">openwrite</A> ,
538
See section <A HREF="usermanual_3.html#SEC83">openappend</A> ,
539
See section <A HREF="usermanual_3.html#SEC84">openupdate</A> ,
540
See section <A HREF="usermanual_7.html#SEC289">load</A> ,
541
See section <A HREF="usermanual_7.html#SEC287">save</A> .
544
<A NAME="PREFIX"></A>
547
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
548
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC79"> < </A>]</TD>
549
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC81"> > </A>]</TD>
550
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
551
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
552
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
553
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
554
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
555
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
556
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
559
<!--docid::SEC80::-->
562
<TABLE><tr><td> </td><td class=example><pre>PREFIX
563
</pre></td></tr></table></P><P>
565
outputs the current file prefix, or [] if there is no prefix.
568
See section <A HREF="usermanual_3.html#SEC79">setprefix</A> .
571
<A NAME="OPENREAD"></A>
574
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
575
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC80"> < </A>]</TD>
576
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC82"> > </A>]</TD>
577
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
578
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
579
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
580
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
581
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
582
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
583
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
586
<!--docid::SEC81::-->
589
<TABLE><tr><td> </td><td class=example><pre>OPENREAD filename
590
</pre></td></tr></table></P><P>
592
command. Opens the named file for reading. The read position is
593
initially at the beginning of the file.
596
<A NAME="OPENWRITE"></A>
599
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
600
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC81"> < </A>]</TD>
601
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC83"> > </A>]</TD>
602
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
603
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
604
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
605
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
606
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
607
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
608
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
611
<!--docid::SEC82::-->
614
<TABLE><tr><td> </td><td class=example><pre>OPENWRITE filename
615
</pre></td></tr></table></P><P>
617
command. Opens the named file for writing. If the file already
618
existed, the old version is deleted and a new, empty file created.
621
<A NAME="OPENAPPEND"></A>
624
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
625
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC82"> < </A>]</TD>
626
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC84"> > </A>]</TD>
627
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
628
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
629
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
630
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
631
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
632
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
633
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
635
<H3> openappend </H3>
636
<!--docid::SEC83::-->
639
<TABLE><tr><td> </td><td class=example><pre>OPENAPPEND filename
640
</pre></td></tr></table></P><P>
642
command. Opens the named file for writing. If the file already exists,
643
the write position is initially set to the end of the old file, so that
644
newly written data will be appended to it.
647
<A NAME="OPENUPDATE"></A>
650
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
651
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC83"> < </A>]</TD>
652
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC85"> > </A>]</TD>
653
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
654
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
655
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
656
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
657
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
658
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
659
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
661
<H3> openupdate </H3>
662
<!--docid::SEC84::-->
665
<TABLE><tr><td> </td><td class=example><pre>OPENUPDATE filename
666
</pre></td></tr></table></P><P>
668
command. Opens the named file for reading and writing. The read and
669
write position is initially set to the end of the old file, if any.
670
Note: each open file has only one position, for both reading and
671
writing. If a file opened for update is both READER and WRITER at the
672
same time, then SETREADPOS will also affect WRITEPOS and vice versa.
673
Also, if you alternate reading and writing the same file, you must
674
SETREADPOS between a write and a read, and SETWRITEPOS between a read
678
See section <A HREF="usermanual_3.html#SEC93">reader</A> ,
679
<A HREF="usermanual_3.html#SEC94">writer</A> ,
680
<A HREF="usermanual_3.html#SEC95">setreadpos</A> ,
681
<A HREF="usermanual_3.html#SEC96">setwritepos</A>
687
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
688
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC84"> < </A>]</TD>
689
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC86"> > </A>]</TD>
690
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
691
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
692
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
693
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
694
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
695
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
696
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
699
<!--docid::SEC85::-->
702
<TABLE><tr><td> </td><td class=example><pre>CLOSE filename
703
</pre></td></tr></table></P><P>
705
command. Closes the named file.
708
<A NAME="ALLOPEN"></A>
711
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
712
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC85"> < </A>]</TD>
713
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC87"> > </A>]</TD>
714
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
715
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
716
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
717
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
718
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
719
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
720
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
723
<!--docid::SEC86::-->
726
<TABLE><tr><td> </td><td class=example><pre>ALLOPEN
727
</pre></td></tr></table></P><P>
729
outputs a list whose members are the names of all files currently open.
730
This list does not include the dribble file, if any.
733
<A NAME="CLOSEALL"></A>
736
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
737
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC86"> < </A>]</TD>
738
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC88"> > </A>]</TD>
739
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
740
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
741
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
742
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
743
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
744
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
745
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
748
<!--docid::SEC87::-->
751
<TABLE><tr><td> </td><td class=example><pre>CLOSEALL (library procedure)
752
</pre></td></tr></table></P><P>
754
command. Closes all open files. Abbreviates <TT>FOREACH ALLOPEN [CLOSE ?]</TT>
757
See section <A HREF="usermanual_8.html#SEC326">foreach</A> ,
758
<A HREF="usermanual_3.html#SEC85">close</A>
761
<A NAME="ERASEFILE"></A>
764
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
765
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC87"> < </A>]</TD>
766
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC89"> > </A>]</TD>
767
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
768
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
769
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
770
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
771
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
772
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
773
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
776
<!--docid::SEC88::-->
779
<TABLE><tr><td> </td><td class=example><pre>ERASEFILE filename
781
</pre></td></tr></table></P><P>
783
command. Erases (deletes, removes) the named file, which should not
787
<A NAME="DRIBBLE"></A>
790
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
791
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC88"> < </A>]</TD>
792
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC90"> > </A>]</TD>
793
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
794
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
795
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
796
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
797
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
798
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
799
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
802
<!--docid::SEC89::-->
805
<TABLE><tr><td> </td><td class=example><pre>DRIBBLE filename
806
</pre></td></tr></table></P><P>
808
command. Creates a new file whose name is the input, like OPENWRITE,
809
and begins recording in that file everything that is read from the
810
keyboard or written to the terminal. That is, this writing is in
811
addition to the writing to WRITER. The intent is to create a transcript
812
of a Logo session, including things like prompt characters and
816
See section <A HREF="usermanual_3.html#SEC82">openwrite</A> ,
817
<A HREF="usermanual_3.html#SEC94">writer</A>
820
<A NAME="NODRIBBLE"></A>
823
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
824
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC89"> < </A>]</TD>
825
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC91"> > </A>]</TD>
826
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
827
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
828
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
829
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
830
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
831
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
832
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
835
<!--docid::SEC90::-->
838
<TABLE><tr><td> </td><td class=example><pre>NODRIBBLE
839
</pre></td></tr></table></P><P>
841
command. Stops copying information into the dribble file, and closes
845
<A NAME="SETREAD"></A>
848
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
849
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC90"> < </A>]</TD>
850
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC92"> > </A>]</TD>
851
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
852
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
853
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
854
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
855
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
856
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
857
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
860
<!--docid::SEC91::-->
863
<TABLE><tr><td> </td><td class=example><pre>SETREAD filename
864
</pre></td></tr></table></P><P>
866
command. Makes the named file the read stream, used for READLIST, etc.
867
The file must already be open with OPENREAD or OPENUPDATE. If the input
868
is the empty list, then the read stream becomes the terminal, as usual.
869
Changing the read stream does not close the file that was previously the
870
read stream, so it is possible to alternate between files.
873
See section <A HREF="usermanual_3.html#SEC72">readlist</A> ,
874
<A HREF="usermanual_3.html#SEC81">openread</A> ,
875
<A HREF="usermanual_3.html#SEC84">openupdate</A>
878
<A NAME="SETWRITE"></A>
881
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
882
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC91"> < </A>]</TD>
883
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC93"> > </A>]</TD>
884
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
885
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
886
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
887
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
888
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
889
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
890
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
893
<!--docid::SEC92::-->
896
<TABLE><tr><td> </td><td class=example><pre>SETWRITE filename
897
</pre></td></tr></table></P><P>
899
command. Makes the named file the write stream, used for PRINT, etc.
900
The file must already be open with OPENWRITE, OPENAPPEND, or OPENUPDATE.
901
If the input is the empty list, then the write stream becomes the
902
terminal, as usual. Changing the write stream does not close the file
903
that was previously the write stream, so it is possible to alternate
907
See section <A HREF="usermanual_3.html#SEC68">print</A> ,
908
<A HREF="usermanual_3.html#SEC82">openwrite</A> ;
909
<A HREF="usermanual_3.html#SEC83">openappend</A> ;
910
<A HREF="usermanual_3.html#SEC84">openupdate</A>
913
<A NAME="READER"></A>
916
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
917
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC92"> < </A>]</TD>
918
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC94"> > </A>]</TD>
919
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
920
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
921
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
922
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
923
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
924
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
925
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
928
<!--docid::SEC93::-->
931
<TABLE><tr><td> </td><td class=example><pre>READER
932
</pre></td></tr></table></P><P>
934
outputs the name of the current read stream file, or the empty list if
935
the read stream is the terminal.
938
<A NAME="WRITER"></A>
941
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
942
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC93"> < </A>]</TD>
943
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC95"> > </A>]</TD>
944
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
945
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
946
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
947
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
948
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
949
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
950
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
953
<!--docid::SEC94::-->
956
<TABLE><tr><td> </td><td class=example><pre>WRITER
957
</pre></td></tr></table></P><P>
959
outputs the name of the current write stream file, or the empty list if
960
the write stream is the terminal.
963
<A NAME="SETREADPOS"></A>
966
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
967
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC94"> < </A>]</TD>
968
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC96"> > </A>]</TD>
969
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
970
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
971
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
972
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
973
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
974
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
975
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
977
<H3> setreadpos </H3>
978
<!--docid::SEC95::-->
981
<TABLE><tr><td> </td><td class=example><pre>SETREADPOS charpos
982
</pre></td></tr></table></P><P>
984
command. Sets the file pointer of the read stream file so that the next
985
READLIST, etc., will begin reading at the <CODE>charpos</CODE>th character in the
986
file, counting from 0. (That is, <TT>SETREADPOS 0</TT> will start reading from
987
the beginning of the file.) Meaningless if the read stream is the
991
See section <A HREF="usermanual_3.html#SEC72">readlist</A> .
994
<A NAME="SETWRITEPOS"></A>
997
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
998
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC95"> < </A>]</TD>
999
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC97"> > </A>]</TD>
1000
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
1001
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
1002
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
1003
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1004
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1005
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1006
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1008
<H3> setwritepos </H3>
1009
<!--docid::SEC96::-->
1012
<TABLE><tr><td> </td><td class=example><pre>SETWRITEPOS charpos
1013
</pre></td></tr></table></P><P>
1015
command. Sets the file pointer of the write stream file so that the
1016
next PRINT, etc., will begin writing at the <CODE>charpos</CODE>th character in the
1017
file, counting from 0. (That is, <TT>SETWRITEPOS 0</TT> will start writing from
1018
the beginning of the file.) Meaningless if the write stream is the
1022
See section <A HREF="usermanual_3.html#SEC68">print</A> .
1025
<A NAME="READPOS"></A>
1027
<A NAME="SEC97"></A>
1028
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1029
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC96"> < </A>]</TD>
1030
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC98"> > </A>]</TD>
1031
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
1032
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
1033
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
1034
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1035
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1036
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1037
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1040
<!--docid::SEC97::-->
1043
<TABLE><tr><td> </td><td class=example><pre>READPOS
1044
</pre></td></tr></table></P><P>
1046
outputs the file position of the current read stream file.
1049
<A NAME="WRITEPOS"></A>
1051
<A NAME="SEC98"></A>
1052
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1053
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC97"> < </A>]</TD>
1054
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC99"> > </A>]</TD>
1055
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
1056
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
1057
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
1058
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1059
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1060
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1061
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1064
<!--docid::SEC98::-->
1067
<TABLE><tr><td> </td><td class=example><pre>WRITEPOS
1068
</pre></td></tr></table></P><P>
1070
outputs the file position of the current write stream file.
1075
<A NAME="SEC99"></A>
1076
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1077
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC98"> < </A>]</TD>
1078
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC100"> > </A>]</TD>
1079
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
1080
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
1081
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
1082
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1083
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1084
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1085
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1088
<!--docid::SEC99::-->
1091
<TABLE><tr><td> </td><td class=example><pre>EOFP
1093
</pre></td></tr></table></P><P>
1095
predicate, outputs TRUE if there are no more characters to be read in
1096
the read stream file, FALSE otherwise.
1099
<A NAME="FILEP"></A>
1101
<A NAME="SEC100"></A>
1102
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1103
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC99"> < </A>]</TD>
1104
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> > </A>]</TD>
1105
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC71"> << </A>]</TD>
1106
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> Up </A>]</TD>
1107
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> >> </A>]</TD>
1108
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1109
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1110
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1111
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1114
<!--docid::SEC100::-->
1117
<TABLE><tr><td> </td><td class=example><pre>FILEP filename
1118
FILE? filename (library procedure)
1119
</pre></td></tr></table></P><P>
1121
predicate, outputs TRUE if a file of the specified name exists and can
1122
be read, FALSE otherwise.
1125
<A NAME="TERMINAL ACCESS"></A>
1127
<A NAME="SEC101"></A>
1128
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1129
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC100"> < </A>]</TD>
1130
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC102"> > </A>]</TD>
1131
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1132
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC66"> Up </A>]</TD>
1133
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1134
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1135
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1136
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1137
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1139
<H2> 3.4 Terminal Access </H2>
1140
<!--docid::SEC101::-->
1143
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
1144
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC102">keyp</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
1145
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC103">cleartext</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
1146
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC104">setcursor</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
1147
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC105">cursor</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
1148
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC106">setmargins</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
1149
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="usermanual_3.html#SEC107">settextcolor</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
1150
</TABLE></BLOCKQUOTE>
1155
<A NAME="SEC102"></A>
1156
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1157
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> < </A>]</TD>
1158
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC103"> > </A>]</TD>
1159
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1160
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> Up </A>]</TD>
1161
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1162
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1163
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1164
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1165
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1168
<!--docid::SEC102::-->
1171
<TABLE><tr><td> </td><td class=example><pre>KEYP
1173
</pre></td></tr></table></P><P>
1175
predicate, outputs TRUE if there are characters waiting to be read from
1176
the read stream. If the read stream is a file, this is equivalent to
1177
<TT>NOT EOFP</TT>. If the read stream is the terminal, then echoing is turned
1178
off and the terminal is set to CBREAK (character at a time instead of
1179
line at a time) mode. It remains in this mode until some line-mode
1180
reading is requested (e.g., READLIST). The Unix operating system
1181
forgets about any pending characters when it switches modes, so the
1182
first KEYP invocation will always output FALSE.
1185
See section <A HREF="usermanual_3.html#SEC99">eofp</A> ,
1186
<A HREF="usermanual_3.html#SEC72">readlist</A>
1189
<A NAME="CLEARTEXT"></A>
1191
<A NAME="SEC103"></A>
1192
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1193
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC102"> < </A>]</TD>
1194
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC104"> > </A>]</TD>
1195
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1196
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> Up </A>]</TD>
1197
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1198
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1199
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1200
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1201
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1203
<H3> cleartext </H3>
1204
<!--docid::SEC103::-->
1207
<TABLE><tr><td> </td><td class=example><pre>CLEARTEXT
1209
</pre></td></tr></table></P><P>
1211
command. Clears the text screen of the terminal.
1214
<A NAME="SETCURSOR"></A>
1216
<A NAME="SEC104"></A>
1217
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1218
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC103"> < </A>]</TD>
1219
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC105"> > </A>]</TD>
1220
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1221
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> Up </A>]</TD>
1222
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1223
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1224
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1225
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1226
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1228
<H3> setcursor </H3>
1229
<!--docid::SEC104::-->
1232
<TABLE><tr><td> </td><td class=example><pre>SETCURSOR vector
1233
</pre></td></tr></table></P><P>
1235
command. The input is a list of two numbers, the x and y coordinates of
1236
a screen position (origin in the upper left corner, positive direction
1237
is southeast). The screen cursor is moved to the requested position.
1238
This command also forces the immediate printing of any buffered
1242
<A NAME="CURSOR"></A>
1244
<A NAME="SEC105"></A>
1245
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1246
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC104"> < </A>]</TD>
1247
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC106"> > </A>]</TD>
1248
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1249
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> Up </A>]</TD>
1250
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1251
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1252
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1253
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1254
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1257
<!--docid::SEC105::-->
1260
<TABLE><tr><td> </td><td class=example><pre>CURSOR
1261
</pre></td></tr></table></P><P>
1263
outputs a list containing the current x and y coordinates of the screen
1264
cursor. Logo may get confused about the current cursor position if,
1265
e.g., you type in a long line that wraps around or your program prints
1266
escape codes that affect the terminal strangely.
1269
<A NAME="SETMARGINS"></A>
1271
<A NAME="SEC106"></A>
1272
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1273
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC105"> < </A>]</TD>
1274
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC107"> > </A>]</TD>
1275
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1276
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> Up </A>]</TD>
1277
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1278
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1279
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1280
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1281
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1283
<H3> setmargins </H3>
1284
<!--docid::SEC106::-->
1287
<TABLE><tr><td> </td><td class=example><pre>SETMARGINS vector
1288
</pre></td></tr></table></P><P>
1290
command. The input must be a list of two numbers, as for SETCURSOR.
1291
The effect is to clear the screen and then arrange for all further
1292
printing to be shifted down and to the right according to the indicated
1293
margins. Specifically, every time a newline character is printed
1294
(explicitly or implicitly) Logo will type x_margin spaces, and on every
1295
invocation of SETCURSOR the margins will be added to the input x and y
1296
coordinates. (CURSOR will report the cursor position relative to the
1297
margins, so that this shift will be invisible to Logo programs.) The
1298
purpose of this command is to accommodate the display of terminal
1299
screens in lecture halls with inadequate TV monitors that miss the top
1300
and left edges of the screen.
1303
See section <A HREF="usermanual_3.html#SEC104">setcursor</A> .
1306
<A NAME="SETTEXTCOLOR"></A>
1308
<A NAME="SEC107"></A>
1309
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1310
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC106"> < </A>]</TD>
1311
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> > </A>]</TD>
1312
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1313
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC101"> Up </A>]</TD>
1314
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1315
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1316
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1317
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1318
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1320
<H3> settextcolor </H3>
1321
<!--docid::SEC107::-->
1324
<TABLE><tr><td> </td><td class=example><pre>SETTEXTCOLOR foreground background
1325
SETTC foreground background
1326
</pre></td></tr></table></P><P>
1328
Command (Windows and DOS extended only). The inputs are color numbers,
1329
as for turtle graphics. Future printing to the text window will use the
1330
specified colors for foreground (the characters printed) and background
1331
(the space under those characters). Using STANDOUT will revert to the
1332
default text window colors. In the DOS extended (ucblogo.exe) version,
1333
colors in textscreen mode are limited to numbers 0-7, and the coloring
1334
applies only to text printed by the program, not to the echoing of text
1335
typed by the user. Neither limitation applies to the text portion of
1336
splitscreen mode, which is actually drawn as graphics internally.
1339
See section <A HREF="usermanual_2.html#SEC63">standout</A> .
1342
<A NAME="ARITHMETIC"></A>
1344
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
1345
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_3.html#SEC78"> << </A>]</TD>
1346
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_4.html#SEC108"> >> </A>]</TD>
1347
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual.html#SEC_Top">Top</A>]</TD>
1348
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_toc.html#SEC_Contents">Contents</A>]</TD>
1349
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_12.html#SEC354">Index</A>]</TD>
1350
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="usermanual_abt.html#SEC_About"> ? </A>]</TD>
1354
This document was generated
1355
by <I>Brian Harvey</I> on <I>July, 24 2001</I>
1356
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
1357
"><I>texi2html</I></A>