SET COLOR*
 Define cores de tela
------------------------------------------------------------------------------

 Sintaxe

     SET COLOR | COLOUR TO [<padrao>
        [, <destaque>][, <borda>][, <fundo>]
        [, <naoselecionados>]] | (<cStringCor>)

 Argumentos

     <padrao> é a cor utilizada para escrever em toda a tela do vídeo,
     incluindo a utilizaçao de todos os comandos e funçoes quando exibidas
     na tela. Isto inclui comandos como @...PROMPT, @...SAY, e ?; e funçoes
     como ACHOICE(), DBEDIT(), e MEMOEDIT().

     <destaque> é a cor utilizada para configurar a exibiçao das barras
     luminosas. Este argumento influi sobre a barra luminosa de seleçao
     sobre os GETs com INTENSITY ON, o comando MENU TO, a funçao DBEDIT(), e
     ACHOICE().

     <borda> é a cor utilizada para configurar a cor que será colocada
     na área em torno da tela de vídeo, que é inacessível para a utilizaçao
     normal dos programas que escrevem algo na tela. Esta configuraçao
     somente funciona com adaptadores de vídeo do tipo CGA, mas nao com
     adaptadores EGA ou VGA.

     <fundo> atualmente nao é suportada por máquinas nas quais a
     Nantucket nao provê drivers apropriados. Esta configuraçao é suportada
     somente para propósitos de compatibilidade.

     <naoselecionados> é o par de cores utilizado para configurar uma
     determinada entrada de dados exibindo o GET corrente na cor de destaque
     definida, enquanto que os outros GETs sao mostrados nesta cor.

     <cStringCor> é uma cadeia de caracteres contendo a configuraçao de
     cores. Esta cadeia de caracteres pode ainda ser guardada em uma
     variável de memória, sendo utilizada no comando englobando-a com
     parênteses. Esta facilidade permite a você especificar a configuraçao
     de cores como sendo uma expressao, no lugar de utilizar um simples
     literal (cadeia de caracteres) ou mesmo uma macro-substituiçao de uma
     variável.

     SET COLOR TO sem argumentos restaura as cores padrao para
     W/N,N/W,N,N,N/W.

 Descriçao

     SET COLOR é um comando sinônimo para a funçao SETCOLOR() que define
     cores para as operaçoes subsequentes de escrita em tela. Cada comando
     SET COLOR especifica uma lista de argumentos para as cores utilizadas
     nos cinco tipos de operaçoes de escrita em tela. Cada configuraçao de
     argumento é um par de cores contendo a cor do caractere e a cor de
     fundo do caractere separados por uma barra (/). A cor do
     caractere define a cor dos caracteres que serao exibidos na tela. A cor
     de fundo do caractere define que cor será exibida atrás do caractere.
     Espaços e quaisquer caracteres que nao sejam exibíveis sao considerados
     somente como cor de fundo do caractere.

     Além das cores, uma configuraçao para a cor do caractere pode ter um
     atributo de alta intensidade ou piscante. Com um vídeo do tipo
     monocromático, a alta intensidade aumenta o brilho do texto escrito.
     Com um vídeo colorido, a Alta Intensidade altera a tonalidade da cor
     especificada tornando-a uma cor diferente. Por exemplo, a letra N exibe
     os caracteres de um texto com a cor preta, e utilizando-se o arqumento
     N+ mostrará o mesmo texto com a cor cinza. A Alta Intensidade é
     identificada pelo sinal +. O atributo de Piscante causa ao texto
     escrito em tela que pisque ou nao a intervalos regulares. O atributo de
     Piscante é identificado pelo sinal *. Um caractere de atributo pode
     estar colocado em qualquer lugar da configuraçao, mas é sempre aplicado
     à cor do caractere, portanto as cores de fundo dos caracteres nao
     possuem os atributos de Alta Intensidade e Piscante.

     Cada cor pode ser especificada utilizando uma letra ou número.
     Entretanto, a especificaçao de números é fornecida somente para
     propósitos de compatibilidade. Quando for especificado um argumento de
     configuraçao de cor, números e letras nao devem ser misturados.

     Todos os argumentos sao opcionais. Se um argumento for omitido, seu
     valor anterior é retido e somente os novos sao configurados. Dentro de
     uma configuraçao, a omissao da cor do caractere ou da cor de fundo do
     caractere torna esta cor com o padrao preto.

     Veja na página seguinte as cores suportadas.

     Tabela 4-13: Tabela de Cores
     ------------------------------------------------------------------------
     Cor                  Letra          Número      Monocromático
     ------------------------------------------------------------------------
     Preto                N,Espaço       0           Preto
     Azul                 B              1           Sublinhado
     Verde                G              2           Branco
     Ciano                BG             3           Branco
     Vermelho             R              4           Branco
     Magenta              RB             5           Branco
     Marrom               GR             6           Branco
     Branco               W              7           Branco
     Cinza                N+             8           Preto
     Azul Brilahnte       B+             9           Sublinhado Brilhante
     Verde Brilhante      G+             10          Branco Brilhante
     Ciano Brilhante      BG+            11          Branco Brilhante
     Verme lho Brilhante   R+             12          Branco Brilhante
     Magenta Brilhante    RB+            13          Branco Brilhante
     Amarelo              GR+            14          Branco Brilhante
     Branco Brilhante     W+             15          Branco Brilhante
     Preto                U                          Sublinhado
     Vídeo Inverso        I                          Vídeo Inverso
     Incolor              X                          Incolor
     ------------------------------------------------------------------------

     SET COLOR é um comando de compatibilidade e assim sendo nao é
     recomendado. Ele é superado pela funçao SETCOLOR(), que pode retornar
     tanto a cor corrente que está sendo utilizada no momento como também
     configurar uma nova cor.

 Notas

       Monitores monocromáticos: Nos monitores monocromáticos,
        as cores nao sao suportadas. O Clipper, contudo, suporta os
        atributos monocromáticos de vídeo reverso (I) e sublinhado (U).

       Drivers de tela:  O comando SET COLOR TO utilizando
        números nao é suportado caso seja linkado o ANSI.OBJ com o programa
        corrente.

 Exemplos

       O exemplo seguinte utiliza a configuraçao para os GETs nao
        selecionados, fazendo o GET corrente trabalhar com letras vermelhas
        (R) sobre um fundo branco (W), enquanto que os demais permanecem com
        letras pretas (N) sobre um fundo branco (W):

        color = "W/N,R/W,,,N/W"
        SET COLOR TO (color)
        cOne := cTwo := SPACE(10)
        @ 1, 1 SAY "Enter Um  : " GET cOne
        @ 2, 1 SAY "Enter Dois: " GET cTwo
        READ

       Este exemplo demonstra uma funçao definida pelo usuário (UDF)
        para obter uma senha do usuário utilizando o argumento de destaque
        com o tipo de cor (X) para esconder a senha que está sendo digitada
        pelo usuário:

        IF !DialogPassWord(12, 13, "W+/N", "FUNSUN", 3)
           ? "Desculpe, senha errada!"
           QUIT
        ENDIF

        FUNCTION DialogPassWord( nRow, nCol, cStandard, cPassword, nTries )
           LOCAL nCount := 1, cColor := SETCOLOR(cStandard + ", X")
           DO WHILE nCount < nTries
              cUserEntry = SPACE(6)
              @ nRow, nCol SAY  "Entre Senha: " GET cUserEntry
              READ

              IF LASTKEY() == 27
                 SETCOLOR(cColor)
                 RETURN .F.
              ELSEIF cUserEntry == cPassword
                 SETCOLOR(cColor)
                 RETURN .T.
              ELSE
                 nCount++
              ENDIF
           ENDDO

           SETCOLOR(cColor)
           RETURN .F.

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: @...GET @...SAY ISCOLOR() SETCOLOR() Cores