Ирина ****
Ирина ****

помогите с программой delphi

функция Convert переводит из 10 в 16 (из 255 в ff), ColorToRGB достает из цвета составляющие все вроде работает,
у сайта фон меняется только не верно, я мне надо чтобы в ColorDialog выбрать цвет и перевести его для сайта в 16 систему (#) дело в том что в 10 все правильно показывает 255 255 255 переводит в FFFFFF но почемуто не работает

if ColorDialog1.Execute then

begin

Color := ColorToRGB(ColorDialog1.Color);

r := Color;

g := Color shr 8;

b := Color shr 16;

colorout[1]:=Convert(inttostr(r),10,16);

colorout[2]:=Convert(inttostr(g),10,16);

colorout[3]:=Convert(inttostr(b),10,16);

colorout[0]:= colorout[1]+colorout[2]+colorout[3];

form1.Caption:= colorout[2];

Memo1.Lines.Insert (3,'');

end;

все разобрался)

ЮЛ
Юрий Лосев

У тебя всё наоборот:
— в переменную r заносишь составляющую голубого
— в переменную b заносишь составляющую красного
Можно ведь воспользоваться встроенными GetRValue, GetGValue, GetBValue…

А проще делать вот так:

function ColorHex(Color : tColor) : String;
const H : array [$0..$F] of Char = ('0123456789ABCDEF');
var ColorH : String; N : Byte;
begin
SetLengh(ColorH, 6);
for N := 6 downto 1 do begin ColorH[N] := H[Color and $00000F]; Color := Color shr 4; end;
Result := ColorH;
end;

Memo1.Lines.Insert (3,'');

Вместо 10 строчек одна ;–)

Похожие вопросы
Эта задача на delphi . помогите с программой
помогите исправить ошибки в программе DElphi
помогите пожалуйста с программой на языке Delphi
помогите написать программу на delphi 7
помогите с программой на delphi
Помогите написать небольшую программу в Delphi
Помогите пожалуйста написать программу delphi
Помогите пожалуйста с программой на Delphi
Помогите с программой по Delphi 7
помогите написать программу в delphi