Delphi - color html a richedit color

 
Vista:

color html a richedit color

Publicado por Mario (1 intervención) el 27/04/2003 00:04:30
hola muchachos como puedo convertir el color '173A6A' que esta como string y en modo hexadecimal al color correspondiente del richedit
gracias muchachos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:color html a richedit color

Publicado por Ernesto De Spirito (706 intervenciones) el 27/04/2003 06:10:49
Te escribí una función que recibe un string con un color en hexadecimal en formato RRGGBB, y que devuelve el correspondiente valor TColor de Delphi:

function Html2Color(const color: string): TColor;
var
rgb: packed record
r, g, b, filler: byte;
end;
m: byte;
begin
PColor(@rgb)^ := StrToInt('$' + color);
m := rgb.r; rgb.r := rgb.b; rgb.b := m;
Result := PColor(@rgb)^;
end;

Observa que la función StrToInt es capaz de convertir una cadena con un número en hexadecimal a entero si el valor va precedido por un signo dólar ('$') para indicar que se trata de un valor hexadecimal. Al realizar la conversión de un valor '$(00)RRGGBB' a entero, por la arquitectura little-endian en memoria queda como BBGGRR00, cuando debería ser RRGGBB00, por lo que intercambiandos los bytes RR y BB nos queda el valor deseado.

Llamada de ejemplo:

Rhichedit1.Color := Html2Color('173A6A');

Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar