写了一个类,颜色是从HTML定义的颜色来的,
写完以后发现一个问题,Delphi里的颜色(TColor)竟然是反序的,
一般颜色是:红、绿、蓝
Delphi的TColor就是:蓝、绿、红
比如红色一般的表示是$ff0000,在delphi里的clRed就是$0000ff,
这个问题你自己改一下吧,呵呵
另外,如果想要中文,你也可以翻译一下,主要都在Create里
type
EColorName = class(Exception);
TColorName = class
private
FColorList: TStringList;
public
constructor Create;
destructor Destroy; override;
function Color(name: string): TColor;
function ColorString(name: string): string;
function ColorName(color: TColor): string;
end;
implementation
function TColorName.Color(name: string): TColor;
var
i: integer;
begin
i := FColorList.IndexOf(name);
if i = -1 then
raise EColorName.Create('cannot found color ' + name)
else
result := Integer(FColorList.Objects);
end;
function TColorName.ColorName(color: TColor): string;
var
i: integer;
begin
i := FColorList.IndexOfObject(TObject(color));
if i = -1 then
result := 'custom'
else
result := FColorList.Strings;
end;
function TColorName.ColorString(name: string): string;
var
c: TColor;
begin
c := Color(name);
result := IntToHex(c, 6);
end;
constructor TColorName.Create;
begin
FColorList := TStringList.Create;
FColorList.AddObject('aliceblue', TObject($F0F8FF));
FColorList.AddObject('antiquewhite', TObject($FAEBD7));
FColorList.AddObject('aqua', TObject($00FFFF));
FColorList.AddObject('aquamarine', TObject($7FFFD4));
FColorList.AddObject('azure', TObject($F0FFFF));
FColorList.AddObject('beige', TObject($F5F5DC));
FColorList.AddObject('bisque', TObject($FFE4C4));
FColorList.AddObject('black', TObject($000000));
FColorList.AddObject('blanchedalmond', TObject($FFEBCD));
FColorList.AddObject('blue', TObject($0000FF));
FColorList.AddObject('blueviolet', TObject($8A2BE2));
FColorList.AddObject('brown', TObject($A52A2A));
FColorList.AddObject('burlywood', TObject($DEB887));
FColorList.AddObject('cadetblue', TObject($5F9EA0));
FColorList.AddObject('chartreuse', TObject($7FFFA0));
FColorList.AddObject('chocolate', TObject($D2691E));
FColorList.AddObject('coral', TObject($FF7F50));
FColorList.AddObject('cornflowerblue', TObject($6495ED));
FColorList.AddObject('cornsilk', TObject($FFF8DC));
FColorList.AddObject('crimson', TObject($DC143C));
FColorList.AddObject('cyan', TObject($00FFFF));
FColorList.AddObject('darkblue', TObject($00008B));
FColorList.AddObject('darkcyan', TObject($008B8B));
FColorList.AddObject('darkgoldenrod', TObject($B8860B));
FColorList.AddObject('darkgray', TObject($A9A9A9));
FColorList.AddObject('darkgreen', TObject($006400));
FColorList.AddObject('darkkhaki', TObject($BDB76B));
FColorList.AddObject('darkmagenta', TObject($8B008B));
FColorList.AddObject('darkolivegreen', TObject($556B2F));
FColorList.AddObject('darkorange', TObject($FF8C00));
FColorList.AddObject('darkorchid', TObject($9932CC));
FColorList.AddObject('darkred', TObject($8B0000));
FColorList.AddObject('darksalmon', TObject($E9967A));
FColorList.AddObject('darkseagreen', TObject($8FBC8F));
FColorList.AddObject('darkslateblue', TObject($483D8B));
FColorList.AddObject('darkslategray', TObject($2F4F4F));
FColorList.AddObject('darkturquoise', TObject($00CED1));
FColorList.AddObject('darkviolet', TObject($9400D3));
FColorList.AddObject('deeppink', TObject($FF1493));
FColorList.AddObject('deepskyblue', TObject($00BFFF));
FColorList.AddObject('dimgray', TObject($696969));
FColorList.AddObject('dodgerblue', TObject($1E90FF));
FColorList.AddObject('firebrick', TObject($B22222));
FColorList.AddObject('floralwhite', TObject($FFFAF0));
FColorList.AddObject('forestgreen', TObject($228B22));
FColorList.AddObject('fushcia', TObject($FF00FF));
FColorList.AddObject('gainsboro', TObject($DCDCDC));
FColorList.AddObject('ghostwhite', TObject($F8F8FF));
FColorList.AddObject('gold', TObject($FFD700));
FColorList.AddObject('goldenrod', TObject($DAA520));
FColorList.AddObject('gray', TObject($808080));
FColorList.AddObject('green', TObject($008000));
FColorList.AddObject('greenyellow', TObject($ADFF2F));
FColorList.AddObject('honeydew', TObject($F0FFF0));
FColorList.AddObject('hotpink', TObject($FF69B4));
FColorList.AddObject('indianred', TObject($CD5C5C));
FColorList.AddObject('indigo', TObject($4B0082));
FColorList.AddObject('ivory', TObject($FFFFF0));
FColorList.AddObject('khaki', TObject($F0E68C));
FColorList.AddObject('lavender', TObject($E6E6FA));
FColorList.AddObject('lavenderblush', TObject($FFF0F5));
FColorList.AddObject('lawngreen', TObject($7CFC00));
FColorList.AddObject('lemonchiffon', TObject($FFFACD));
FColorList.AddObject('lightblue', TObject($ADD8E6));
FColorList.AddObject('lightcoral', TObject($F08080));
FColorList.AddObject('lightcyan', TObject($E0FFFF));
FColorList.AddObject('lightgoldenrodyellow', TObject($FAFAD2));
FColorList.AddObject('lightgreen', TObject($90EE90));
FColorList.AddObject('lightgrey', TObject($D3D3D3));
FColorList.AddObject('lightpink', TObject($FFB6C1));
FColorList.AddObject('lightsalmon', TObject($FFA07A));
FColorList.AddObject('lightseagreen', TObject($20B2AA));
FColorList.AddObject('lightskyblue', TObject($87CEFA));
FColorList.AddObject('lightslategray', TObject($778899));
FColorList.AddObject('lightsteelblue', TObject($B0C4DE));
FColorList.AddObject('lightyellow', TObject($FFFFE0));
FColorList.AddObject('lime', TObject($00FF00));
FColorList.AddObject('limegreen', TObject($32CD32));
FColorList.AddObject('linen', TObject($FAF0E6));
FColorList.AddObject('magenta', TObject($FF00FF));
FColorList.AddObject('maroon', TObject($800000));
FColorList.AddObject('mediumaquamarine', TObject($66CDAA));
FColorList.AddObject('mediumblue', TObject($0000CD));
FColorList.AddObject('mediumorchid', TObject($BA55D3));
FColorList.AddObject('mediumpurple', TObject($9370DB));
FColorList.AddObject('mediumseagreen', TObject($3CB371));
FColorList.AddObject('mediumslateblue', TObject($7B68EE));
FColorList.AddObject('mediumspringgreen', TObject($00FA9A));
FColorList.AddObject('mediumturquoise', TObject($48D1CC));
FColorList.AddObject('mediumvioletred', TObject($C71585));
FColorList.AddObject('midnightblue', TObject($191970));
FColorList.AddObject('mintcream', TObject($F5FFFA));
FColorList.AddObject('mistyrose', TObject($FFE4E1));
FColorList.AddObject('moccasin', TObject($FFE4B5));
FColorList.AddObject('navajowhite', TObject($FFDEAD));
FColorList.AddObject('navy', TObject($000080));
FColorList.AddObject('oldlace', TObject($FDF5E6));
FColorList.AddObject('olive', TObject($808000));
FColorList.AddObject('olivedrab', TObject($6B8E23));
FColorList.AddObject('orange', TObject($FFA500));
FColorList.AddObject('orangered', TObject($FF4500));
FColorList.AddObject('orchid', TObject($DA70D6));
FColorList.AddObject('palegoldenrod', TObject($EEE8AA));
FColorList.AddObject('palegreen', TObject($98FB98));
FColorList.AddObject('paleturquoise', TObject($AFEEEE));
FColorList.AddObject('palevioletred', TObject($DB7093));
FColorList.AddObject('papayawhip', TObject($FFEFD5));
FColorList.AddObject('peachpuff', TObject($FFDAB9));
FColorList.AddObject('peru', TObject($CD853F));
FColorList.AddObject('pink', TObject($FFC0CB));
FColorList.AddObject('plum', TObject($DDA0DD));
FColorList.AddObject('powderblue', TObject($B0E0E6));
FColorList.AddObject('purple', TObject($800080));
FColorList.AddObject('red', TObject($FF0000));
FColorList.AddObject('rosybrown', TObject($BC8F8F));
FColorList.AddObject('royalblue', TObject($4169E1));
FColorList.AddObject('saddlebrown', TObject($8B4513));
FColorList.AddObject('salmon', TObject($FA8072));
FColorList.AddObject('sandybrown', TObject($F4A460));
FColorList.AddObject('seagreen', TObject($2E8B57));
FColorList.AddObject('seashell', TObject($FFF5EE));
FColorList.AddObject('sienna', TObject($A0522D));
FColorList.AddObject('silver', TObject($C0C0C0));
FColorList.AddObject('skyblue', TObject($87CEEB));
FColorList.AddObject('slateblue', TObject($6A5ACD));
FColorList.AddObject('slategray', TObject($708090));
FColorList.AddObject('snow', TObject($FFFAFA));
FColorList.AddObject('springgreen', TObject($00FF7F));
FColorList.AddObject('steelblue', TObject($4682B4));
FColorList.AddObject('tan', TObject($D2B48C));
FColorList.AddObject('teal', TObject($008080));
FColorList.AddObject('thistle', TObject($D8BFD8));
FColorList.AddObject('tomato', TObject($FF6347));
FColorList.AddObject('turquoise', TObject($40E0D0));
FColorList.AddObject('violet', TObject($EE82EE));
FColorList.AddObject('wheat', TObject($F5DEB3));
FColorList.AddObject('white', TObject($FFFFFF));
FColorList.AddObject('whitesmoke', TObject($F5F5F5));
FColorList.AddObject('yellow', TObject($FFFF00));
FColorList.AddObject('yellowgreen', TObject($9ACD32));
end;
destructor TColorName.Destroy;
begin
FColorList.Free;
inherited;
end;