Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper 5.2 . The Guide To CA-Clippe - <b>set color*</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 SET COLOR*
 Define screen colors
------------------------------------------------------------------------------
 Syntax

     SET COLOR | COLOUR TO [[<standard>]
        [,<enhanced>] [,<border>] [,<background>]
        [,<unselected>]] | (<cColorString>)

 Arguments

     <standard> is the color that paints all console, full-screen, and
     interface commands and functions when displaying to the screen.  This
     includes commands such as @...PROMPT, @...SAY, and ?; and functions such
     as ACHOICE(), DBEDIT(), and MEMOEDIT().

     <enhanced> is the color that paints highlighted displays.  This
     includes GETs with INTENSITY ON, the MENU TO, DBEDIT(), and ACHOICE()
     selection highlight.

     <border> is the color that paints the area around the screen that
     cannot be written to.

     <background> is not currently supported by any machines for which
     Computer Associates provides drivers.  This setting is supplied for
     compatibility purposes only.

     <unselected> is a color pair that provides input focus by displaying
     the current GET in the enhanced color while other GETs are displayed in
     this color.

     <cColorString> is a character string enclosed in parentheses
     containing the color settings.  This facility lets you specify the color
     settings as an expression in place of a literal string or macro
     variable.

     SET COLOR TO with no argument restores the default colors to W/N, N/W,
     N, N, N/W.

 Description

     SET COLOR, a command synonym for the SETCOLOR() function, defines colors
     for subsequent screen painting activity.  Each SET COLOR command
     specifies a list of color settings for the five types of screen painting
     activity.  Each setting is a foreground and background color pair
     separated by the slash (/) character.  Foreground defines the color of
     characters displayed on the screen.  Background defines the color
     displayed behind the character.  Spaces and nondisplay characters
     display as background only.

     In addition to color, a foreground setting can have an attribute, high
     intensity or blinking.  With a monochrome display, high intensity
     enhances brightness of painted text.  With a color display, high
     intensity changes the hue of the specified color making it a different
     color.  For example, N displays foreground text as black where N+
     displays the same text as gray.  High intensity is denoted by +.  The
     blinking attribute causes the foreground text to flash on and off at a
     rapid interval.  Blinking is denoted with *.  An attribute character can
     occur anywhere in a setting, but is always applied to the foreground
     color regardless of where it occurs.

     Each color can be specified using either a letter or a number, but
     numbers and letters cannot be mixed within a setting.  Note that numbers
     are supplied for compatibility purposes and are not recommended.

     All settings are optional.  If a setting is skipped, its previous value
     is retained with only new values set.  Skipping a foreground or
     background color within a setting sets the color to black.

     The following colors are supported:

     Color Table
     ------------------------------------------------------------------------
     Color          Letter    Number   Monochrome
     ------------------------------------------------------------------------
     Black          N, Space  0        Black
     Blue           B         1        Underline
     Green          G         2        White
     Cyan           BG        3        White
     Red            R         4        White
     Magenta        RB        5        White
     Brown          GR        6        White
     White          W         7        White
     Gray           N+        8        Black
     Bright Blue    B+        9        Bright Underline
     Bright Green   G+        10       Bright White
     Bright Cyan    BG+       11       Bright White
     Bright Red     R+        12       Bright White
     Bright Magenta RB+       13       Bright White
     Yellow         GR+       14       Bright White
     Bright White   W+        15       Bright White
     Black          U                  Underline
     Inverse Video  I                  Inverse Video
     Blank          X                  Blank
     ------------------------------------------------------------------------

     SET COLOR is a compatibility command and not recommended.  It is
     superseded by the SETCOLOR() function which can return the current color
     as well as set a new color.

 Notes

     .  Monochrome monitors: On monochrome monitors, color is not
        supported.  CA-Clipper, however, supports the monochrome attributes
        inverse video (I) and underlining (U).

     .  Screen drivers: SET COLOR TO, using numbers, may not be
        supported by other than the default screen driver.

 Examples

     .  This example uses the unselected setting to make the current
        GET red on white while the rest are black on white:

        cColor:= "W/N,R/W,,,N/W"
        SET COLOR TO (cColor)
        cOne := cTwo := SPACE(10)

        @ 1, 1 SAY "Enter One: " GET cOne
        @ 2, 1 SAY "Enter Two: " GET cTwo
        READ

     .  In this example a user-defined function gets a password from
        the user using the blank (X) enhanced setting to hide the password as
        the user types:

        IF !DialogPassWord(12, 13, "W+/N", "FUNSUN", 3)
           ? "Sorry, your password failed"
           QUIT
        ENDIF

        FUNCTION DialogPassWord( nRow, nCol, ;
               cStandard, cPassword, nTries )
           LOCAL nCount := 1, cColor := SETCOLOR()
           SET COLOR TO (cStandard + ", X")      // Blank input
           //
           DO WHILE nCount < nTries
              cUserEntry:= SPACE(6)
              @ nRow, nCol SAY  "Enter password: " GET ;
                       cUserEntry
              READ
              //
              IF LASTKEY() == 27
                 SET COLOR TO (cColor)
                 RETURN .F.
              ELSEIF cUserEntry == cPassword
                 SET COLOR TO (cColor)
                 RETURN .T.
              ELSE
                 nCount++
              ENDIF
           ENDDO
           //
           SET COLOR TO (cColor)
           RETURN .F.

 Files:  Library is CLIPPER.LIB.

See Also: @...GET @...SAY ISCOLOR() SETCOLOR() SETBLINK() Colors

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson