Forms and their types are introduced in Form part. The current
topic
focuses on presenting text forms, used to display formatted information
on
a screen.
The
converse statement is
sufficient for giving
the user access to a single, fixed text form. The logical flow of
your program
continues only after the user responds to the displayed form. You
can also
construct output from multiple forms, as in the following case:
- At
the top of the output, a fixed form identifies a purchasing company
and an order number
- In a subsequent floating area, a series
of identically formatted floating
forms identify each line item of the company's order
- At the
bottom of the output, a fixed form indicates the number of screens
needed to scroll through the list of line items
Two
steps are necessary:
- First, you construct the order-and-item
output by coding a series of display statements,
each of which adds a form to a runtime buffer but does not present
data to
the screen. Each display statement operates
on one
of the following forms:
- Top form
- Floating form, as
presented by a display statement
that is invoked repeatedly in a loop
- Bottom form
- Next, the EGL runtime presents all the buffered text forms to
the output
device in response to either of these situations:
- The program
runs a converse statement; or
- The
program ends.
In most cases, you present
the last form of your screen output by coding
a converse statement rather than a display statement.
The fixed forms each have an on-screen position, so the order in
which
you specify them, in relation to each other and in relation to the
repeated
display of floating forms, does not matter. The contents of the buffer
are
erased when output is sent to the screen.
If you overlay one
text form with another, no error occurs, but the following
statements apply:
- If a partial form overlays any lines in
another fixed form, EGL replaces
the existing form without clearing the rest of the output from the
buffer.
If you want to erase the existing output before displaying the new
form, invoke
the system function converseLib.clearScreen before issuing the display or converse statement
for the new form.
- If you use a display or converse statement
to place a floating map beyond the bottom of the floating area, all
the floating
forms in that floating area are erased, and the added form is placed
on the
first line of the same floating area.
- If a floating form overlays
a fixed form, these statements apply- -
- Only the fixed-form
lines that are in the floating area are overwritten
by the floating form
- The result is unpredictable if a fixed-form
line is overwritten by a floating-form
line that includes a variable field
Whether
you are presenting one form or many, the output destination is
the screen device at which the user began the run unit.