Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Extended -> TColor


Автор: varra 24.6.2003, 12:14
можно ли преобразовать шестнадцатеричное значение цвета в тип TColor ? нужно Canvas.Brush.Color присвоить цвет,выбранный из палитры.

Автор: eof 24.6.2003, 13:36
я не понял,
TColor = -$7FFFFFFF-1..$7FFFFFFF; т.е. TColor ты легко можешь присвоить числовое значение. что ты имеешь в виду под шестнадцатиричным значением цвета?

Автор: altarasjuk 24.6.2003, 16:49
Действительно чего-то непонятно. У тебя цвет задан в Hex? Ну тогда просто можно .Color:= $FFFFFF (белый). Если нет, то точнее сформулируй вопрос.

Автор: DonPager 24.6.2003, 18:53
Хоть мы тебя и не поняли вот похоже то что тебе надо...
Код

function Hex2Int(H :String):integer;
const
HEX : array['A'..'F'] of integer = (10, 11, 12, 13, 14, 15);
var
Int, i :integer;
tmp :Char;
begin
Int := 0;
for i := 1 to Length(H) do
 begin
  tmp := UpperCase(H[i])[1];
  if tmp < 'A'
   then Int := Int * 16 + ORD(tmp) - 48
   else Int := Int * 16 + HEX[tmp];
 end;
Result := Int;
end;

эта функцуха тебе нужна только если цвет приходит в ввиде текста(!) типа '#0C0F0A', например если редактишь страничку...или чё нить ещё.... а в противно мслучае... пиши приямо $0C0F0A

Автор: altarasjuk 24.6.2003, 18:56
DonPager, если я не ошибаюсь, то StrToInt делает то же самое..... smile.gif

Автор: DonPager 24.6.2003, 19:14
Цитата
если я не ошибаюсь, то StrToInt делает то же самое

не совсем.... Я же оговорился '#0C0F0A' (!) StrToInt '#'не понимает....

Автор: altarasjuk 24.6.2003, 19:36
ну так # можно и подправить, это в любом случае меньше, чем 17 строк кода smile.gif

Автор: DonPager 24.6.2003, 19:43
Цитата
ну так # можно и подправить, это в любом случае меньше, чем 17 строк кода

зато и под 3'ими дельфями работает smile.gif

Автор: altarasjuk 24.6.2003, 20:16
Цитата
зато и под 3'ими дельфями работает
Если это цель, то беру свои слова назад, а так ..... зачем изобретать велосипед? Лучше изобрести самокат smile.gif

Автор: varra 25.6.2003, 11:48
спасибо,ребята smile.gif я ступила

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)