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

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

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

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

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

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

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

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

11 Comments

  1. German
  2. madonov

    (1) Сборник символов… Не увидел ничего такого, чего по-умолчанию нет в системных шрифтах (может плохо смотрел). Да и копировать их по одному — не так уж удобно. Хотя, возможно кому-то предложенная на сайте классификация символов окажется удобной.

    Спасибо за комментарий.

    Reply
  3. andrewks
  4. madonov

    (3) http://unicode-table.com/ru/search/?q=%E2%98%91 — вот у этого символа определяется код как 2611.

    А вот функция 1С

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

    возвращает 9745.

    Занимательно, что 2611(HEX) = 9745(DEC).

    Путем нехитрых рассуждений можно понять, что на сайте коды символов представлены в 16-ричной системе счисления, в то время как 1С-ые функции «КодСимвола» и «Символ» работают с 10-ричыми кодами.

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

    По-прежнему считаю обработку актуальной =).

    Reply
  5. andrewks

    (4) естественно, в таблицах символов коды обычно и приводятся в 16-ричной системе. а перевести — ну это вообще не проблема, это даже стандартный виндовый калькулятор умеет

    Reply
  6. andrewks

    (4) кстати, никто не запрещает сразу вставить нужный символ копипастом, не переводя никакие коды

    Reply
  7. madonov

    (5) — Как я уже писал выше

    Тоже способ, но только если символов не несколько десятков.

    (6) — Завтра на работе ради интереса проверю работоспособность кода

    Область.Параметры.Строка = «☑»;

    Если честно, то даже в голову не пришло прописать это вместо

    Область.Параметры.Строка = Символ(9745);
    Reply
  8. madonov

    (6) Рабатает… ладно, век живи — век учись.

    Reply
  9. Yashazz

    Да и в табло, наверно, можно по-быстрому код узнать… Но вещица, обработка то бишь, симпатичная.

    Reply
  10. RomVin

    да так себе не очень

    Reply
  11. madonov

    (9) Можно, хотя после (6) я вообще не вижу большого смысла в функциях «КодСимвола» и «Символ».

    (10) Весь заявленный функционал она выполняет, другое дело, что в ходе обсуждений он оказался не очень нужным. С нетерпением жду Ваших собственных публикаций.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *