gifts2017

Обработка для определения кодов символов

Опубликовал Евгений Мадонов (madonov) в раздел Программирование - Практика программирования

Небольшая обработка, позволяющая определить коды символов.

Небольшая обработка, позволяющая определить коды символов. 

Передо мной стояла вполне обычная задача – вывести на печатную форму пустые квадратики и квадратики с проставленной галочкой. Подходящие символы - a44; и a45; были найдены в шрифте MS Gothic. Однако для вывода этих символов в параметры печатной формы потребовалось узнать их коды в Unicode.

На Инфостарте был найден отчет по шрифтам для 8.1, однако он по какой-то причине решил показывать квадратики вместо символов, что сделало его использование невозможным (возможно проблема возникла при конвертации в 8.2 – не знаю, разбираться не стал).

Задача решается вобщем-то в одну строку: 

Код = КодСимвола(Символ);

но решил склепать обработку, чтобы в будущем не иметь подобных проблем: копируем нужные символы в обработку, получаем таблицу кодов.

Скачать файлы

Наименование Файл Версия Размер
Определение кодов символов 28
.epf 7,88Kb
13.02.13
28
.epf 7,88Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

2. Евгений Мадонов (madonov) 13.02.13 15:02
(1) Сборник символов... Не увидел ничего такого, чего по-умолчанию нет в системных шрифтах (может плохо смотрел). Да и копировать их по одному - не так уж удобно. Хотя, возможно кому-то предложенная на сайте классификация символов окажется удобной.
Спасибо за комментарий.
4. Евгений Мадонов (madonov) 13.02.13 15:51
(3) http://unicode-table.com/ru/search/?q=%E2%98%91 - вот у этого символа определяется код как 2611.
А вот функция 1С
КодСимвола(☑);

возвращает 9745.
Занимательно, что 2611(HEX) = 9745(DEC).
Путем нехитрых рассуждений можно понять, что на сайте коды символов представлены в 16-ричной системе счисления, в то время как 1С-ые функции "КодСимвола" и "Символ" работают с 10-ричыми кодами.

Таким образом для того, чтобы получить нужный код символа при помощи данного сайта необходимо найти его там при помощи поиска, а потом перевести полученный код из 16-ричной системы счисления в 10-ную. Тоже способ, но только если символов не несколько десятков.

По-прежнему считаю обработку актуальной =).
5. andrewks 13.02.13 16:12
(4) madonov, естественно, в таблицах символов коды обычно и приводятся в 16-ричной системе. а перевести - ну это вообще не проблема, это даже стандартный виндовый калькулятор умеет
6. andrewks 13.02.13 16:13
(4) madonov, кстати, никто не запрещает сразу вставить нужный символ копипастом, не переводя никакие коды
7. Евгений Мадонов (madonov) 13.02.13 16:22
(5) - Как я уже писал выше
Тоже способ, но только если символов не несколько десятков.

(6) - Завтра на работе ради интереса проверю работоспособность кода
Область.Параметры.Строка = "☑";

Если честно, то даже в голову не пришло прописать это вместо
Область.Параметры.Строка = Символ(9745);
8. Евгений Мадонов (madonov) 14.02.13 02:14
(6) Рабатает... ладно, век живи - век учись.
9. Яков Коган (Yashazz) 14.02.13 10:44
Да и в табло, наверно, можно по-быстрому код узнать... Но вещица, обработка то бишь, симпатичная.
10. Roman Vinogradov (RomVin) 14.02.13 10:45
11. Евгений Мадонов (madonov) 14.02.13 10:56
(9) Можно, хотя после (6) я вообще не вижу большого смысла в функциях "КодСимвола" и "Символ".
(10) Весь заявленный функционал она выполняет, другое дело, что в ходе обсуждений он оказался не очень нужным. С нетерпением жду Ваших собственных публикаций.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа