Маска формата для отображения в HEX

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Маска формата для отображения в HEX

Сообщение Игорь Столяров »

Привет всем !

Подскажите пожалуйста, а можно ли как-то отобразить десятичное число в 16-ом формате ?
Задача в общем-то простая. Вводим цвет из палитры и просто хочется показать его понятном HEX виде,
без преобразований (не нужно оно):

Код: Выделить всё

Loc:BalloonColor Long(Color:None)

  Code

  If ColorDialog('Винни, а какого он был цвета ?',Loc:BalloonColor)
     Message('Ну вот. Мой любимый цвет: ' & Format(Loc:BalloonColor,МАСКА_ДЛЯ_ОТОБРАЖЕНИЯ_В_HEX))
  end   
Заранее спасибо ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Маска формата для отображения в HEX

Сообщение 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 
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Маска формата для отображения в HEX

Сообщение 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)
Если в количестве скобок не ошибся.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Маска формата для отображения в HEX

Сообщение gopstop2007 »

_itoa(numer, buf, 16) :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Маска формата для отображения в HEX

Сообщение RaFaeL »

Функция RGBColor из libxlsxwriter не то что нужно делает?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Маска формата для отображения в HEX

Сообщение Игорь Столяров »

RaFaeL писал(а): 06 Июль 2018, 23:54Функция RGBColor из libxlsxwriter не то что нужно делает?
Спасибо. Именно то, и давно используется для отображения номера цвета в HEX. Но есть один момент.
Все указанные способы - это конвертация с использованием функций (встроенных или WinAPI).
A хотелось бы просто отображать номер цвета в поле, вводить, редактировать в HEX … но как я понял, так низя.

Цвет в Clarion - это обычное десятичное число, и в этом есть некий опус, противоречащий общепринятым представлениям.
Так же как указание разрешения картинки в пикселях на метр (FreeImage) или диаметра водопроводной трубы в сантиметрах ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Маска формата для отображения в HEX

Сообщение Yufil »

A хотелось бы просто отображать номер цвета в поле, вводить, редактировать в HEX … но как я понял, так низя.
Можно по идее - три спинбокса или комбобокса с выбором из очереди ( от 00 до ff). Уже который год собираюсь реализовать :D. Сейчас просто прописывается кларионовский код цвета или можно выбрать кнопкой из ColorDialog, научил дизайнеров - они на листочек записывают коды нужных цветов и потом вставляют. А в ColorDialog есть явная установка цвета по кодам RGB, всех устраивает.

А Hex цвет сделал, чтобы могли посмотреть, как оно в HTML будет выглядеть ...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Маска формата для отображения в HEX

Сообщение Игорь Столяров »

Вот тоже и оно - приходится как-то изворачиваться. Хотя живой пример - рядом.
Те же дата или время - тоже некая цифра, но форматы @D и @T позволяют работать с этим цифровым
значением в общепринятом формате без каких либо проблем. Почему тоже не сделано с цветом - непонятно.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Маска формата для отображения в HEX

Сообщение kreator »

Игорь Столяров писал(а): 07 Июль 2018, 11:15 Вот тоже и оно - приходится как-то изворачиваться. Хотя живой пример - рядом.
Те же дата или время - тоже некая цифра, но форматы @D и @T позволяют работать с этим цифровым
значением в общепринятом формате без каких либо проблем. Почему тоже не сделано с цветом - непонятно.
Ну не совсем тоже самое. Цвет в формате HEX кому нужен? Верстальщикам веб-страниц? для обычного пользователя не особо нужен.
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Маска формата для отображения в HEX

Сообщение Дед Пахом »

Года 3 назад Брюс Джонсон (Capesoft) собирал предложения о форматах, которых не хватает (речь шла именно о picture tokens, типа @H для hex). Насобирал штук 40 и отправил в Problem Tracker. Где всё и умерло.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Маска формата для отображения в HEX

Сообщение Игорь Столяров »

kreator писал(а): 07 Июль 2018, 11:24Ну не совсем тоже самое.
Можно посмотреть на ситуацию немного с другой стороны. Цвет или дата - воспринимается в полне определённом виде.
В различных системах программирования или СУБД ТЕХНОЛОГИЧЕСКИ цвет или дата реализуется по разному. И нет проблем.
С точки зрения пользователя дата 07.07.2018 или цвет FFDDAA, а как оно внутри реализовано в Clarion или Microsoft.SQL - все равно.
Должен быть простой, доступный и понятный механизм работы с типом данных. В Clarion для даты это есть, для цвета - нет.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Маска формата для отображения в HEX

Сообщение Игорь Столяров »

Дед Пахом писал(а): 07 Июль 2018, 11:41речь шла именно о picture tokens, типа @H для hex
Радует, что я не сельский сумасшедший, которому в голову пришли столь очевидные вещи … ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
vic7tar
Ветеран
Сообщения: 365
Зарегистрирован: 09 Февраль 2017, 20:12

Маска формата для отображения в HEX

Сообщение vic7tar »

А про cwutil.inc подзабыли, там хексы всякие и колоры.
C10, Win10x64
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Маска формата для отображения в HEX

Сообщение kreator »

Дед Пахом писал(а): 07 Июль 2018, 11:41 Года 3 назад Брюс Джонсон (Capesoft) собирал предложения о форматах, которых не хватает (речь шла именно о picture tokens, типа @H для hex). Насобирал штук 40 и отправил в Problem Tracker. Где всё и умерло.
А нет у нас формата (типа обрезанного @d4) или ещё чего-нибудь простого для вывода названия месяца? Choose как-то громоздко.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Маска формата для отображения в HEX

Сообщение Игорь Столяров »

kreator писал(а): 22 Август 2018, 12:14простого для вывода названия месяца
На вскидку ! ;)

Код: Выделить всё

  Message(      Sub(Format(Today(),@d4),1,InString(' ',Format(Today(),@d4))-1)       )
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить