Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   De números enteros a TColor (https://www.clubdelphi.com/foros/showthread.php?t=63902)

num11 08-03-2009 19:59:34

De números enteros a TColor
 
Hola a todos, quiero saber si hay alguna manera de convertir un color que tengo (su valor entero) a su correspondiente nombre del color (clWhite,clRed,..etc). Lo que pasa que obtengo a través de un ColorDialog un color X, pero este color se me guarda en una variable del tipo entero, ahora debo mostrar en un Grid el color que seleccione, pero no por el valor entero, sino por el nombre del color. Gracias de antemano XD!. :)

dec 08-03-2009 20:36:50

Hola,

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  // 65535 = clYellow
  Self.Color := TColor(65535);
end;

num11 09-03-2009 06:27:27

¿O_o? Hola y gracias por contestar, pero no entendí bien XD, según mis pruebas, con el TColor("#Color") y al pasarlo a string (IntToStr) me sigue dejando el nùmero del color y no el nombre como tal (clBlue,clRed).

Neftali [Germán.Estévez] 09-03-2009 08:45:26

Cita:

Empezado por num11 (Mensaje 340621)
¿O_o? Hola y gracias por contestar, pero no entendí bien XD, según mis pruebas, con el TColor("#Color") y al pasarlo a string (IntToStr) me sigue dejando el nùmero del color y no el nombre como tal (clBlue,clRed).

Creo que lo que tu necesitas es la función ColorToIdent, que dado un color te devuelve si corresponde a alguno de los identificadores que utiliza Delphi; clBlack, clWhite, clInfoBk,.... (unit Graphics)

num11 10-03-2009 06:10:30

Saludos y gracias por contestar pero ya resolvi mi problema, por si alguien lee esto, solo comento que para indicar en un label, celda, ComboBox, etc, el color que se está utilizando ("clBlue","clRed",etc) a partir del número de color (1,259,etc), se ocupa la función "ColorToString", la cual recibe como argumento un "TColor". Creo es más entendible con un ejemplo:

//Pongo en la primera celda del StringGrid el color en cadena: "clBlack"
StringGrid1.Cells[0,0] := ColorToString(TColor(1));

:D


La franja horaria es GMT +2. Ahora son las 01:55:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi