Irgendwie versteh ich dieses Delphi noch nicht so ganz
Gibt es eine einfach Möglichkeit, an die Farbe eines Playlist Elementes in ‘normaler’ HEX Schreibweise als String zu kommen ?
var
item_color:TColor;
pi: IPlaylistItem;
pi := CurrentPlaylist.GetItem(0);
item_color:=pi.GetColor;
Hallöchen,
danke für deine Antwort.
Über diesen Artikel bin ich auch schon gestolpert.
Es scheitert hier jedoch an
Unknown identifier ‘ColorToRgb’
vermutlich eine Funktion von irgend einer Bibliothek, welche von Mairlist so nicht unterstützt wird.
keine Ahnung, ob es eine bessere Lösung gibt.
Aber ich hab mich jetzt damit beholfen:
function IntToHexChar(Value: Byte): Char;
begin
if Value < 10 then
Result := Chr(Ord('0') + Value)
else
Result := Chr(Ord('A') + (Value - 10));
end;
function ByteToHex(Value: Byte): string;
begin
Result := IntToHexChar(Value shr 4) + IntToHexChar(Value and $0F);
end;
function ColorToHex(Color: TColor): string;
var
R, G, B: Byte;
begin
R := Color and $FF;
G := (Color shr 8) and $FF;
B := (Color shr 16) and $FF;
Result := '#' + ByteToHex(R) + ByteToHex(G) + ByteToHex(B);
end;
Somit bekomme ich zumindest mittels :
var
item_color:TColor;
pi: IPlaylistItem;
hexColor: string;
item_color := pi.GetColor;
hexColor := ColorToHex(item_color);
die gewünschte Farbe des Items.
1 Like