Text forms
Forms and their types are introduced in Form part. The current page outlines how to present text forms.
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 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 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 run-time 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 run time 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 sysLib.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.
Related concepts
Form part
Related reference
Form part in EGL source format
FormGroup part in EGL source format
sysLib.clearScreen