DispOutAt

DispOutAt

Displays a value on the screen

Syntax

      DispOutAt( <nRow>      , ;
                    <nCol>      , ;
                    <expression>, ;
                    [<cColor>]  , ;
                    [<lSetPos>]   ) --> NIL

Arguments

<nRow> : Row number of screen to <expression> write

<nCol> : Column number of screen to <expression> write

<expression> : Any expression to write to the screen.

<cColor> : Color string for display

<lSetPos> : Specifies whether or not to update the screen cursor positions ( Row(), Col() after writing

Return

DispOutAt() returns always NIL.

Description

This function write the value of <expression> at the specified cursor position on the screen, using the color <cColor>, if specified.

Note

DispOutAt() don’t obey SET DEVICE setting and write always to the screen

Example

      DispOutAt( 0, 0, "Here upper left corner of screen", "W+/R" )

         is equvalent to :

         @ 0,0  SAY ""Here upper left corner of screen" COLOR  "W+/G"

Seealso

@ … SAY, Col(), DevOut(), DispBegin(), DispCount(), DispEnd(), DispOutAt(), OutStd(), QOut() | QQOut(), Row(), SetPos()

DispOut

DispOut

Displays a value on the screen

Syntax

      DispOut( <expression>, [<cColor>] ) --> NIL

Arguments

<expression> : Any expression to write to the screen.

<cColor> : Color string for display

Return

DispOut() returns always NIL.

Description

This function write the value of <expression> at the current cursor position on the screen, using the color <cColor>, if specified.

Note

DispOut() don’t obey SET DEVICE setting and write always to the screen

Example

      SetPos( 0, 0 )
         DispOut( "Here upper left corner of screen", "W+/R" )

         is equvalent to :

          @ 0,0  SAY ""Here upper left corner of screen" COLOR  "W+/G"

Seealso

@ … SAY, Col(), DevOut(), DispBegin(), DispCount(), DispEnd(), DispOutAt(), OutStd(), QOut() | QQOut(), Row(), SetPos()

DispCount

DispCount

Return the number of pending DispEnd() requests

Syntax

      DispCount() --> nDispCount
     

Returns

DispCount() returns the number of DispEnd() calls required to restore the original display context.

Description

You can use DispCount() to determine the current display context. Harbour uses display contexts to buffer and to supervise screen output operations.

Each call to DispBegin() defines a new display context. Output to the display context is suppressed until a matching DispEnd() statement executes.

Since you may nest DispBegin() calls, use DispCount() to determine whether there are pending screen refresh requests.

Examples

      .  This example saves the setting of DispCount(), then releases
      all pending display contexts before writing to the screen:
      
      PROCEDURE ForceDisplay(cExp)
         LOCAL nSavCount
         
         nSavCount := DispCount()
         
         //  Discard pending display contexts
         DO WHILE ( DispCount() > 0)
            DispEnd()
         ENDDO
         
         DispOut(cExp)
         
         //  "Rewind" the current display context
         DO WHILE (DispCount() < nSavCount )
            DispBegin()
         ENDDO
      RETURN
     

Seealso

DispBegin(), DispEnd()

DispBegin

DispBegin

Begin buffering screen output

Syntax

      DispBegin() --> NIL

Returns

DispBegin() always returns NIL.

Description

DispBegin() is a screen function that informs the Harbour display output system that the application is about to perform a series of display operations.

Use DispBegin() with DispEnd() to allow the display output system to buffer display updates. Display output which occurs after DispBegin() but before DispEnd() is allowed to accumulate in internal buffers. When DispEnd() executes, any pending updates appear on the physical display. This is useful in applications where complex screen displays are slow and the appearance of performance is desired.

DispBegin() and DispEnd() calls are optional. They are not required for normal output.

Notes

. Nested calls: DispBegin() calls are nested internally. If several DispBegin() calls occur, buffering is allowed until a corresponding number of DispEnd() calls occur.

. Guaranteed operations: Display updates performed between DispBegin() and DispEnd() are not guaranteed to be buffered–some updates may become visible before DispEnd() is called. However, all updates are guaranteed to be visible after the closing call to DispEnd().

. Terminal operations: Terminal input operations such as INKEY() or READ should not be performed between DispBegin() and DispEnd(). Doing this may cause input or display output to be lost.

. Incompatible operations: Display output by other than the Harbour display functions (e.g., by add-on libraries or by DOS via OUTSTD(), etc.) may not be compatible with DispBegin() and DispEnd(). Output may be lost.

Examples

      .  This example buffers screen output, updates the screen, and
      then displays the buffered screen output:

      DispBegin()            // Start screen buffering
      //
      SETPOS(10, 10)
      DISPOUT("A display update")
      SETPOS(11, 10)
      DISPOUT("Another display update")
      //
      DispEnd()               // Display buffered screen data

Seealso

DispCount(), DispEnd()

C5_DISPEND

 DISPEND()
 Display buffered screen updates
------------------------------------------------------------------------------
 Syntax

     DISPEND() --> NIL

 Returns

     DISPEND() always returns NIL.

 Description

     DISPEND() is a screen function that informs the Clipper display
     output system that the application has finished performing a series of
     display operations.

     DISPEND() is used with DISPBEGIN() so the display output system can
     buffer display updates.  This can be important for applications in which
     complex screen displays are slow and the appearance of performance is
     desired.

 Examples

     .  This example buffers screen output, updates the screen, and
        then displays the buffered screen output:

        DISPBEGIN()            // Start screen buffering
        //
        SETPOS(10, 10)
        DISPOUT("A display update")
        SETPOS(11, 10)
        DISPOUT("Another display update")
        //
        DISPEND()               // Display buffered screen data

 Files   Library is CLIPPER.LIB.

See Also: DISPBEGIN()