File: RM-A-10-5.html

package info (click to toggle)
ada-reference-manual 20021112web-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, sarge
  • size: 18,652 kB
  • ctags: 8,921
  • sloc: makefile: 52; sh: 20
file content (274 lines) | stat: -rw-r--r-- 20,529 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
    <TITLE>Ada95 - Operations on Columns, Lines, and Pages</TITLE>
    <META NAME="Author" CONTENT="JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor">
    <META NAME="GENERATOR" CONTENT="Arm_Form.Exe, Ada Reference Manual generator">
    <STYLE type="text/css">
    DIV.paranum {position: absolute; font-family: Arial, Helvetica, sans-serif; left: 0.5 em; top: auto}
    TT {font-family: "Courier New", monospace}
    DT {display: compact}
    DIV.Normal {font-family: "Times New Roman", Times, serif; margin-bottom: 0.6em}
    DIV.Wide {font-family: "Times New Roman", Times, serif; margin-top: 0.6em; margin-bottom: 0.6em}
    DIV.Annotations {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-bottom: 0.6em}
    DIV.WideAnnotations {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-top: 0.6em; margin-bottom: 0.6em}
    DIV.Index {font-family: "Times New Roman", Times, serif}
    DIV.SyntaxSummary {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-bottom: 0.4em}
    DIV.Notes {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-bottom: 0.6em}
    DIV.NotesHeader {font-family: "Times New Roman", Times, serif; margin-left: 2.0em}
    DIV.SyntaxIndented {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-bottom: 0.4em}
    DIV.Indented {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-bottom: 0.6em}
    DIV.CodeIndented {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-bottom: 0.6em}
    DIV.SmallIndented {font-family: "Times New Roman", Times, serif; margin-left:  10.0em; margin-bottom: 0.6em}
    DIV.SmallCodeIndented {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-bottom: 0.6em}
    DIV.Examples {font-family: "Courier New", monospace; margin-left: 2.0em; margin-bottom: 0.6em}
    DIV.SmallExamples {font-family: "Courier New", monospace; font-size: 80%; margin-left: 7.5em; margin-bottom: 0.6em}
    DIV.IndentedExamples {font-family: "Courier New", monospace; margin-left: 8.0em; margin-bottom: 0.6em}
    DIV.SmallIndentedExamples {font-family: "Courier New", monospace; font-size: 80%; margin-left:  15.0em; margin-bottom: 0.6em}
    UL.Bulleted {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-right: 2.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.SmallBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.NestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.SmallNestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-right: 8.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.IndentedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-right: 8.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.CodeIndentedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.CodeIndentedNestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-right: 8.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.SyntaxIndentedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.NotesBulleted {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
    UL.NotesNestedBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
    DL.Hanging {font-family: "Times New Roman", Times, serif; margin-top: 0em; margin-bottom: 0.6em}
    DD.Hanging {margin-left: 6.0em}
    DL.IndentedHanging {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-top: 0em; margin-bottom: 0.6em}
    DD.IndentedHanging {margin-left: 2.0em}
    DL.HangingInBulleted {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-right: 2.0em; margin-top: 0em; margin-bottom: 0.5em}
    DD.HangingInBulleted {margin-left: 4.0em}
    DL.SmallHanging {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-top: 0em; margin-bottom: 0.6em}
    DD.SmallHanging {margin-left: 7.5em}
    DL.SmallIndentedHanging {font-family: "Times New Roman", Times, serif; margin-left: 8.0em; margin-top: 0em; margin-bottom: 0.6em}
    DD.SmallIndentedHanging {margin-left: 2.0em}
    DL.SmallHangingInBulleted {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
    DD.SmallHangingInBulleted {margin-left: 5.0em}
    DL.Enumerated {font-family: "Times New Roman", Times, serif; margin-right: 0.0em; margin-top: 0em; margin-bottom: 0.5em}
    DD.Enumerated {margin-left: 2.0em}
    DL.SmallEnumerated {font-family: "Times New Roman", Times, serif; margin-left: 4.0em; margin-right: 4.0em; margin-top: 0em; margin-bottom: 0.5em}
    DD.SmallEnumerated {margin-left: 2.5em}
    DL.NestedEnumerated {font-family: "Times New Roman", Times, serif; margin-left: 2.0em; margin-right: 2.0em; margin-top: 0em; margin-bottom: 0.5em}
    DL.SmallNestedEnumerated {font-family: "Times New Roman", Times, serif; margin-left: 6.0em; margin-right: 6.0em; margin-top: 0em; margin-bottom: 0.5em}
    </STYLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFF0" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<P><A HREF="RM-TOC.html">Contents</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-0-29.html">Index</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-A-10-4.html">Previous</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-A-10-6.html">Next</A></P>
<HR>
<H1> A.10.5 Operations on Columns, Lines, and Pages</H1>

<H4 ALIGN=CENTER>Static Semantics</H4>
<DIV Class="Paranum"><FONT SIZE=-2>1</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;The subprograms described in this subclause provide
for explicit control of line and page structure; they operate either
on the file given as the first parameter, or, in the absence of such
a file parameter, on the appropriate (input or output) current default
file. The exception Status_Error is propagated by any of these subprograms
if the file to be used is not open. </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>2</FONT></DIV>
<DIV Class="Examples"><TT><B>procedure</B>&nbsp;New_Line(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type;&nbsp;Spacing&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count&nbsp;:=&nbsp;1);<BR>
<B>procedure</B>&nbsp;New_Line(Spacing&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count&nbsp;:=&nbsp;1);</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>3</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode Out_File or Append_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>4</FONT></DIV>
<DIV Class="CodeIndented">For a Spacing of one: Outputs a line terminator
and sets the current column number to one. Then increments the current
line number by one, except in the case that the current line number is
already greater than or equal to the maximum page length, for a bounded
page length; in that case a page terminator is output, the current page
number is incremented by one, and the current line number is set to one.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>5</FONT></DIV>
<DIV Class="CodeIndented">For a Spacing greater than one, the above actions
are performed Spacing times.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>6</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not Out_File or Append_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>7</FONT></DIV>
<DIV Class="Examples"><TT><B>procedure</B>&nbsp;Skip_Line(File&nbsp;&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type;&nbsp;Spacing&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count&nbsp;:=&nbsp;1);<BR>
<B>procedure</B>&nbsp;Skip_Line(Spacing&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count&nbsp;:=&nbsp;1);</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>8</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode In_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>9</FONT></DIV>
<DIV Class="CodeIndented">For a Spacing of one: Reads and discards all
characters until a line terminator has been read, and then sets the current
column number to one. If the line terminator is not immediately followed
by a page terminator, the current line number is incremented by one.
Otherwise, if the line terminator is immediately followed by a page terminator,
then the page terminator is skipped, the current page number is incremented
by one, and the current line number is set to one.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>10</FONT></DIV>
<DIV Class="CodeIndented">For a Spacing greater than one, the above actions
are performed Spacing times.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>11</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not In_File. The exception End_Error
is propagated if an attempt is made to read a file terminator.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>12</FONT></DIV>
<DIV Class="Examples"><TT><B>function</B>&nbsp;End_Of_Line(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type)&nbsp;<B>return</B>&nbsp;Boolean;<BR>
<B>function</B>&nbsp;End_Of_Line&nbsp;<B>return</B>&nbsp;Boolean;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>13</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode In_File. Returns
True if a line terminator or a file terminator is next; otherwise returns
False.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>14</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not In_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>15</FONT></DIV>
<DIV Class="Examples"><TT><B>procedure</B>&nbsp;New_Page(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type);<BR>
<B>procedure</B>&nbsp;New_Page;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>16</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode Out_File or Append_File.
Outputs a line terminator if the current line is not terminated, or if
the current page is empty (that is, if the current column and line numbers
are both equal to one). Then outputs a page terminator, which terminates
the current page. Adds one to the current page number and sets the current
column and line numbers to one.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>17</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not Out_File or Append_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>18</FONT></DIV>
<DIV Class="Examples"><TT><B>procedure</B>&nbsp;Skip_Page(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type);<BR>
<B>procedure</B>&nbsp;Skip_Page;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>19</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode In_File. Reads and
discards all characters and line terminators until a page terminator
has been read. Then adds one to the current page number, and sets the
current column and line numbers to one.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>20</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not In_File. The exception End_Error
is propagated if an attempt is made to read a file terminator.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>21</FONT></DIV>
<DIV Class="Examples"><TT><B>function</B>&nbsp;End_Of_Page(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type)&nbsp;<B>return</B>&nbsp;Boolean;<BR>
<B>function</B>&nbsp;End_Of_Page&nbsp;<B>return</B>&nbsp;Boolean;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>22</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode In_File. Returns
True if the combination of a line terminator and a page terminator is
next, or if a file terminator is next; otherwise returns False.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>23</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not In_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>24</FONT></DIV>
<DIV Class="Examples"><TT><B>function</B>&nbsp;End_Of_File(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type)&nbsp;<B>return</B>&nbsp;Boolean;<BR>
<B>function</B>&nbsp;End_Of_File&nbsp;<B>return</B>&nbsp;Boolean;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>25</FONT></DIV>
<DIV Class="CodeIndented">Operates on a file of mode In_File. Returns
True if a file terminator is next, or if the combination of a line, a
page, and a file terminator is next; otherwise returns False.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>26</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Mode_Error is propagated if the mode is not In_File.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>27</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;The following subprograms provide for the control
of the current position of reading or writing in a file. In all cases,
the default file is the current output file. </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>28</FONT></DIV>
<DIV Class="Examples"><TT><B>procedure</B>&nbsp;Set_Col(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type;&nbsp;To&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count);<BR>
<B>procedure</B>&nbsp;Set_Col(To&nbsp;&nbsp;&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count);</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>29</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.4em">If the file mode
is Out_File or Append_File: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>30</FONT></DIV>
<UL Class="CodeIndentedBulleted"><LI TYPE=DISC>If the value specified by To is greater than the current
column number, outputs spaces, adding one to the current column number
after each space, until the current column number equals the specified
value. If the value specified by To is equal to the current column number,
there is no effect. If the value specified by To is less than the current
column number, has the effect of calling New_Line (with a spacing of
one), then outputs (To - 1) spaces, and sets the current column number
to the specified value.</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>31</FONT></DIV>
<UL Class="CodeIndentedBulleted"><LI TYPE=DISC>The exception Layout_Error is propagated if the value specified
by To exceeds Line_Length when the line length is bounded (that is, when
it does not have the conventional value zero). </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>32</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.4em">If the file mode
is In_File: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>33</FONT></DIV>
<UL Class="CodeIndentedBulleted"><LI TYPE=DISC>Reads (and discards) individual characters, line terminators,
and page terminators, until the next character to be read has a column
number that equals the value specified by To; there is no effect if the
current column number already equals this value. Each transfer of a character
or terminator maintains the current column, line, and page numbers in
the same way as a Get procedure (see <A HREF="RM-A-10-6.html">A.10.6</A>).
(Short lines will be skipped until a line is reached that has a character
at the specified column position.)</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>34</FONT></DIV>
<UL Class="CodeIndentedBulleted" Style="margin-bottom: 0.7em"><LI TYPE=DISC>The exception End_Error is propagated if an attempt is
made to read a file terminator. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>35</FONT></DIV>
<DIV Class="Examples"><TT><B>procedure</B>&nbsp;Set_Line(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type;&nbsp;To&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count);<BR>
<B>procedure</B>&nbsp;Set_Line(To&nbsp;&nbsp;&nbsp;:&nbsp;<B>in</B>&nbsp;Positive_Count);</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>36</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.4em">If the file mode
is Out_File or Append_File: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>37</FONT></DIV>
<UL Class="CodeIndentedBulleted"><LI TYPE=DISC>If the value specified by To is greater than the current
line number, has the effect of repeatedly calling New_Line (with a spacing
of one), until the current line number equals the specified value. If
the value specified by To is equal to the current line number, there
is no effect. If the value specified by To is less than the current line
number, has the effect of calling New_Page followed by a call of New_Line
with a spacing equal to (To - 1).</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>38</FONT></DIV>
<UL Class="CodeIndentedBulleted"><LI TYPE=DISC>The exception Layout_Error is propagated if the value specified
by To exceeds Page_Length when the page length is bounded (that is, when
it does not have the conventional value zero). </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>39</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.4em">If the mode is
In_File: </DIV>
<DIV Class="Paranum"><FONT SIZE=-2>40</FONT></DIV>
<UL Class="CodeIndentedBulleted"><LI TYPE=DISC>Has the effect of repeatedly calling Skip_Line (with a
spacing of one), until the current line number equals the value specified
by To; there is no effect if the current line number already equals this
value. (Short pages will be skipped until a page is reached that has
a line at the specified line position.)</LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>41</FONT></DIV>
<UL Class="CodeIndentedBulleted" Style="margin-bottom: 0.7em"><LI TYPE=DISC>The exception End_Error is propagated if an attempt is
made to read a file terminator. </LI></UL>
<DIV Class="Paranum"><FONT SIZE=-2>42</FONT></DIV>
<DIV Class="Examples"><TT><B>function</B>&nbsp;Col(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type)&nbsp;<B>return</B>&nbsp;Positive_Count;<BR>
<B>function</B>&nbsp;Col&nbsp;<B>return</B>&nbsp;Positive_Count;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>43</FONT></DIV>
<DIV Class="CodeIndented">Returns the current column number.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>44</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Layout_Error is propagated if this number exceeds Count'Last.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>45</FONT></DIV>
<DIV Class="Examples"><TT><B>function</B>&nbsp;Line(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type)&nbsp;<B>return</B>&nbsp;Positive_Count;<BR>
<B>function</B>&nbsp;Line&nbsp;<B>return</B>&nbsp;Positive_Count;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>46</FONT></DIV>
<DIV Class="CodeIndented">Returns the current line number.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>47</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Layout_Error is propagated if this number exceeds Count'Last.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>48</FONT></DIV>
<DIV Class="Examples"><TT><B>function</B>&nbsp;Page(File&nbsp;:&nbsp;<B>in</B>&nbsp;File_Type)&nbsp;<B>return</B>&nbsp;Positive_Count;<BR>
<B>function</B>&nbsp;Page&nbsp;<B>return</B>&nbsp;Positive_Count;</TT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>49</FONT></DIV>
<DIV Class="CodeIndented">Returns the current page number.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>50</FONT></DIV>
<DIV Class="CodeIndented" Style="margin-bottom: 0.9em">The exception
Layout_Error is propagated if this number exceeds Count'Last.</DIV>
<DIV Class="Paranum"><FONT SIZE=-2>51</FONT></DIV>
<DIV Class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;The column number, line number, or page number
are allowed to exceed Count'Last (as a consequence of the input or output
of sufficiently many characters, lines, or pages). These events do not
cause any exception to be propagated. However, a call of Col, Line, or
Page propagates the exception Layout_Error if the corresponding number
exceeds Count'Last. </DIV>
<DIV Class="NotesHeader"><FONT SIZE=-1>NOTES</FONT></DIV>
<DIV Class="Paranum"><FONT SIZE=-2>52</FONT></DIV>
<DIV Class="Notes"><FONT SIZE=-1>25&nbsp;&nbsp;A page terminator is always
skipped whenever the preceding line terminator is skipped. An implementation
may represent the combination of these terminators by a single character,
provided that it is properly recognized on input. </FONT></DIV>

<HR>
<P><A HREF="RM-TOC.html">Contents</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-0-29.html">Index</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-A-10-4.html">Previous</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-A-10-6.html">Next</A>&nbsp;&nbsp;&nbsp;<A HREF="RM-TTL.html">Legal</A></P>
</BODY>
</HTML>