Имя: Пароль:
1C
 
Цвет фона ячейки
, ,
0 Umka2008
 
30.10.14
15:58
Есть цвета:
aqua        #00ffff
Aquamarine    #7fffd4
ardesia        14495d
asfalto        3c4a4f

Нужно их вывести в отчет - раскрасить ячейки
Но цвет ячеек задается = Новый Цвет(R.G.B)
А как сделать, что цвет брал значение #00ffff ?
1 Necessitudo
 
30.10.14
15:58
Что, конструкторов цвета в интернете мало?
2 Looser-1c
 
30.10.14
15:59
В школу. В 6й класс
3 Umka2008
 
30.10.14
16:02
2 - ну и как? Просто когда ставлю такой цвет в скобки, получаю
"Конструктор не найден"
4 Looser-1c
 
30.10.14
16:03
(3) Естественно. Документацию нужно читать, а не курить.
Сказано три параметра, значит, три.
И не надо ничего выдумывать.
Не нравится - иди в похаписты
5 butterbean
 
30.10.14
16:05
(0)  #00ffff это (0,255,255)
6 Umka2008
 
30.10.14
16:06
5 - прекрасно, а как 1с это узнает ))
7 Ёпрст
 
30.10.14
16:06
function rgbToColor(red=0,green=0,blue=0) export
  return blue*65536+green*256+red;
endFunction  
//-----------------------------------------------------------------------------

function colorToR(color) export
  return int(color/65536);
endFunction    
//-----------------------------------------------------------------------------

function colorToG(color) export
  return int((color%65536)/256);
endFunction    
//-----------------------------------------------------------------------------

function colorToB(color) export
  return (color%65536)%256;
endFunction
8 Ёпрст
 
30.10.14
16:11
а у тебя первые пары это R в 16-ой, вторая G и третья B..
Надеюсь, перевод с 16 в 10 освоишь самостоятеьно
9 Umka2008
 
30.10.14
16:11
7 - уже что-то похожее, а она с HEX работает разве у тебя?
То есть - если color = "#00ffff", то ошибки не будет (color%65536)%256; ?
10 Ёпрст
 
30.10.14
16:13
(9) перевести в 10 самостоятельно, можно и по парам
11 Ёпрст
 
30.10.14
16:15
00  = 0 это R
ff = 15*16+15 = 255 это G
ff = 255 это B
12 Ёпрст
 
30.10.14
16:24
13 Ёпрст
 
30.10.14
16:24
готовая поделка
14 Umka2008
 
30.10.14
16:35
13- спасибо
взял
Функция HexToDec(HEX)
    Число16 = СокрЛП(HEX);
    Рез = 0;
    Для к = 1 По СтрДлина(Число16) Цикл
        Цифра16 = Сред(Число16, к, 1);
        Рез = Рез * 16 + Найти("0123456789ABCDEF", Цифра16) - 1;
    КонецЦикла;
    Возврат Рез;
КонецФункции

и твою идею