Fórum Qual a regra de TColor(clred or clyellow)? #213052

10/02/2004

0

Por que na seguinte linha o resultado é sempre amarelo?

TEdit(sender).Color := TColor(clred or clyellow);

e na seguinte é sempre branco?

TEdit(sender).Color := TColor(clblue or clyellow);


Grato. :evil:


Ronaldo

Ronaldo

Responder

Posts

10/02/2004

Fórum Vini

Olá,
O tipo TColor ocupa 4 bytes na memória:
$00AABBCC
00 -> Indica como a cor deve ser representada de acordo com a paleta de cores;
AA -> Indica a quantidade de vermelho na cor;
BB -> Indica a quantidade de verde na cor;
CC -> Indica a quantidade de azul na cor;

Quando você coloca clRed or clYellow, o compilador faz um ou lógico com os bytes:
clYellow -> $0000FFFF
clRed    -> $00FF0000
--------------------------
            $00FFFFFF == clWhite


O mesmo vale para o clBlue e clYellow.


Espero ter ajudado.
Vinicius.


Responder

Gostei + 0

10/02/2004

Ronaldo

Ajudou sim, Obrigado. :oops:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar