Programming Guide



flush

Flushes buffered output to the display

Synopsis

flush

Description

The flush command performs delayed writes and flushes all buffered output to the display. Panther automatically performs this operation when the keyboard is open and the input queue is empty. This command calls the library function sm_flush.

Because Panther uses a delayed-write feature, Panther does not immediately display output from assignments and msg statements. Instead, it updates the screen image in memory. When the keyboard is opened or the flush command is called, Panther updates the display from this image.

Frequent calls to this command and its library equivalent sm_flush can significantly slow execution. Panther always calls sm_flush when the keyboard opens, so the display is always up to date before data entry occurs. Use this command when your procedure requires timed output or non-interactive display–for example, to update a time field.

Example

// If this procedure is called as a screen entry function,
// it prints text one character at a time in field
// banner when the screen is opened.
proc welcome
vars w, i
w = "-------Sam's Discount Rentals-------"
for i = 1 while w(i,1) != "" step 1
{
banner(i) = w(i,1)
flush
call delay
}
proc delay
// Lengthen the interval between flushes.
vars i
for i =1 while i < 5 step 1
{ }