Страница 1 из 2
Маска формата для отображения в HEX
Добавлено: 06 Июль 2018, 12:59
Игорь Столяров
Привет всем !
Подскажите пожалуйста, а можно ли как-то отобразить десятичное число в 16-ом формате ?
Задача в общем-то простая. Вводим цвет из палитры и просто хочется показать его понятном HEX виде,
без преобразований (не нужно оно):
Код: Выделить всё
Loc:BalloonColor Long(Color:None)
Code
If ColorDialog('Винни, а какого он был цвета ?',Loc:BalloonColor)
Message('Ну вот. Мой любимый цвет: ' & Format(Loc:BalloonColor,МАСКА_ДЛЯ_ОТОБРАЖЕНИЯ_В_HEX))
end
Заранее спасибо !
Маска формата для отображения в HEX
Добавлено: 06 Июль 2018, 13:57
Yufil
Недели две назад искал. Нифига. Там ещё для цвета надо переставить байты, просто так не канает
Код: Выделить всё
HexColor Cstring(10)
HexLen Long
Code
HexColor = LongToHex( MyColor, False )
HexLen = LEN( Clip(HexColor))
HexColor = '#' & HexColor[ HexLen-1 : HexLen ] & HexColor[ HexLen-3 : HexLen-2 ] & HexColor[ HexLen-5 : HexLen-4 ]
Return HexColor
Маска формата для отображения в HEX
Добавлено: 06 Июль 2018, 20:25
kreator
Такой вариант:
Код: Выделить всё
LOC:HexColor = '#' & ByteToHex(Loc:BalloonColor%256, False) & ByteToHex((LOC:BalloonColor%65536-LOC:BalloonColor%256)/256, False) & ByteToHex((LOC:BalloonColor-LOC:BalloonColor%256-(LOC:BalloonColor%65536-LOC:BalloonColor%256)*256)/65536, False)
Если в количестве скобок не ошибся.
Маска формата для отображения в HEX
Добавлено: 06 Июль 2018, 21:19
gopstop2007
_itoa(numer, buf, 16)
Маска формата для отображения в HEX
Добавлено: 06 Июль 2018, 23:54
RaFaeL
Функция RGBColor из libxlsxwriter не то что нужно делает?
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 8:20
Игорь Столяров
RaFaeL писал(а): ↑06 Июль 2018, 23:54Функция RGBColor из libxlsxwriter не то что нужно делает?
Спасибо. Именно то, и давно используется для отображения номера цвета в HEX. Но есть один момент.
Все указанные способы - это конвертация с использованием функций (встроенных или WinAPI).
A хотелось бы просто отображать номер цвета в поле, вводить, редактировать в HEX … но как я понял, так низя.
Цвет в Clarion - это обычное десятичное число, и в этом есть некий опус, противоречащий общепринятым представлениям.
Так же как указание разрешения картинки в пикселях на метр (FreeImage) или диаметра водопроводной трубы в сантиметрах ...
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 10:45
Yufil
A хотелось бы просто отображать номер цвета в поле, вводить, редактировать в HEX … но как я понял, так низя.
Можно по идее - три спинбокса или комбобокса с выбором из очереди ( от 00 до ff). Уже который год собираюсь реализовать
. Сейчас просто прописывается кларионовский код цвета или можно выбрать кнопкой из ColorDialog, научил дизайнеров - они на листочек записывают коды нужных цветов и потом вставляют. А в ColorDialog есть явная установка цвета по кодам RGB, всех устраивает.
А Hex цвет сделал, чтобы могли посмотреть, как оно в HTML будет выглядеть ...
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 11:15
Игорь Столяров
Вот тоже и оно - приходится как-то изворачиваться. Хотя живой пример - рядом.
Те же дата или время - тоже некая цифра, но форматы @D и @T позволяют работать с этим цифровым
значением в общепринятом формате без каких либо проблем. Почему тоже не сделано с цветом - непонятно.
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 11:24
kreator
Игорь Столяров писал(а): ↑07 Июль 2018, 11:15
Вот тоже и оно - приходится как-то изворачиваться. Хотя живой пример - рядом.
Те же дата или время - тоже некая цифра, но форматы @D и @T позволяют работать с этим цифровым
значением в общепринятом формате без каких либо проблем. Почему тоже не сделано с цветом - непонятно.
Ну не совсем тоже самое. Цвет в формате HEX кому нужен? Верстальщикам веб-страниц? для обычного пользователя не особо нужен.
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 11:41
Дед Пахом
Года 3 назад Брюс Джонсон (Capesoft) собирал предложения о форматах, которых не хватает (речь шла именно о picture tokens, типа @H для hex). Насобирал штук 40 и отправил в Problem Tracker. Где всё и умерло.
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 11:52
Игорь Столяров
kreator писал(а): ↑07 Июль 2018, 11:24Ну не совсем тоже самое.
Можно посмотреть на ситуацию немного с другой стороны. Цвет или дата - воспринимается в полне определённом виде.
В различных системах программирования или СУБД ТЕХНОЛОГИЧЕСКИ цвет или дата реализуется по разному. И нет проблем.
С точки зрения пользователя дата 07.07.2018 или цвет FFDDAA, а как оно внутри реализовано в Clarion или Microsoft.SQL - все равно.
Должен быть простой, доступный и понятный механизм работы с типом данных. В Clarion для даты это есть, для цвета - нет.
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 11:54
Игорь Столяров
Дед Пахом писал(а): ↑07 Июль 2018, 11:41речь шла именно о picture tokens, типа @H для hex
Радует, что я не сельский сумасшедший, которому в голову пришли столь очевидные вещи …
Маска формата для отображения в HEX
Добавлено: 07 Июль 2018, 14:35
vic7tar
А про cwutil.inc подзабыли, там хексы всякие и колоры.
Маска формата для отображения в HEX
Добавлено: 22 Август 2018, 12:14
kreator
Дед Пахом писал(а): ↑07 Июль 2018, 11:41
Года 3 назад Брюс Джонсон (Capesoft) собирал предложения о форматах, которых не хватает (речь шла именно о picture tokens, типа @H для hex). Насобирал штук 40 и отправил в Problem Tracker. Где всё и умерло.
А нет у нас формата (типа обрезанного @d4) или ещё чего-нибудь простого для вывода названия месяца? Choose как-то громоздко.
Маска формата для отображения в HEX
Добавлено: 22 Август 2018, 12:35
Игорь Столяров
kreator писал(а): ↑22 Август 2018, 12:14простого для вывода названия месяца
На вскидку !
Код: Выделить всё
Message( Sub(Format(Today(),@d4),1,InString(' ',Format(Today(),@d4))-1) )