Como guardo uma cor (TColor) no formato string

20/08/2004

Preciso gravar em um arquivo .ini a cor que determinado componente tem quando o programa é encerrado.
Como a varíavel cor do componente é do tipo TColor, não consigo jogá-la para o formato string para que o arquivo .ini aceite.
Como eu poderia fazer isso? Ou seja, eu precisaria transformar clBlue ou qualquer outra cor para uma palavra(string). Ou há outra maneira.
Obrigado.


Valdirdill

Respostas

20/08/2004

Tatuweb

Use as duas funções abaixo:

function TColorToHex (Color: TColor) : string;
begin
   Result := IntToHex (GetRValue (Color), 2) +
     IntToHex (GetGValue (Color), 2) +
     IntToHex (GetBValue (Color), 2);
end;

function HexToTColor (sColor: string) : TColor;
begin
   Result := RGB (StrToInt (´$´+Copy (sColor, 1, 2)),
       StrToInt (´$´+Copy (sColor, 3, 2)),
       StrToInt (´$´+Copy (sColor, 5, 2)));
end;



Responder Citar

20/08/2004

Valdirdill

Obrigadão. Funcionou certinho.

Use as duas funções abaixo:
function TColorToHex (Color: TColor) : string;
begin
   Result := IntToHex (GetRValue (Color), 2) +
     IntToHex (GetGValue (Color), 2) +
     IntToHex (GetBValue (Color), 2);
end;

function HexToTColor (sColor: string) : TColor;
begin
   Result := RGB (StrToInt (´$´+Copy (sColor, 1, 2)),
       StrToInt (´$´+Copy (sColor, 3, 2)),
       StrToInt (´$´+Copy (sColor, 5, 2)));
end;



Responder Citar

21/08/2004

Emerson

No Delphi (pelo menos no 7) existe a função ColorToString() e StringToColor().


Responder Citar