Hallo,
die Farbzerlegung muss nicht zeitraubend über Funktionen erfolgen, Windows kennt einen speziellen Datentyp dafür:
Delphi-Quellcode:
var
clr: TColor;
pe: TPaletteEntry
absolute clr;
// Redefinition
begin
clr := clRed;
// interner Farbname
clr := StringToColor('
clRed');
// externer Farbname
clr := StringToColor('
$0000FF');
// alternativer Code für clRed
with pe do
begin
peRed := 255;
// volle Intensität bei Rot
peGreen := StrToInt('
$80');
// halbe Intensität bei Grün
end;
pe.peBlue := $40;
// geringe Intensität bei Blau
clr := ColorToRGB(clr);
// Paletten-Flag entfernen
ShowMessage('
$' + IntToHex(clr, 6));
// Ausgabe $BBGGRR
with TPaletteEntry(clr)
do // type cast
ShowMessage(Format('
$%.2x%.2x%.2x', [peBlue, peGreen, peRed]));
end;
Freundliche Grüße