Es gibt ja immer mehrere Wege für eine Lösung, aber nur wenig smarte:
Delphi-Quellcode:
var
MyColor : TColor;
MyColorStr :
String;
tmpInt : Int64;
begin
// Farbe in einen Hex-String umwandeln
MyColorStr := '
$' + IntToHex( MyColor );
// String ( Integer oder Hex-Wert ) in eine Farbe umwandeln
if TryStrToInt64( MyColorStr, tmpInt )
and ( tmpInt >= -$7FFFFFFF-1 )
and ( tmpInt <= $7FFFFFFF )
then
MyColor := tmpInt
else
raise Exception.CreateFmt( '
"%s" ist keine Farbe!', [ MyColorStr ] );
end;
btw:
StrToInt
kann von Haus aus mit Hex-Werten umgehen, wenn das $-Zeichen vorangestellt wird.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)