Строку в HEX последовательность #669348


#0 by sbabay
Понадобилось мне тут отправлять на фискальник через функцию ВК "DeviceControlHEX" послать команду. Команда подается в виде HEX-строки. Если там числа - то всё понятно - я преобразовываю число из 10-й системы в 16-ю. Но вот как быть со строками я не пойму. Открыл программу драйвера и экспереминтирую. Вот что передает сам драйвер устройству по символу "Ж" (без кавычек: C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D9 Как такое вообще получилось?
#1 by sbabay
Думал, что строки посимвольно преобразуются в коды символов и далее каждый код преобразуется уже 16-ю систему. Но, видать что-то не так.
#2 by ИС-2
может ANSI кодировка? А так в тех. поддержку...
#3 by sbabay
не, не ANSII, пробовал. ТП пока молчит, хотя в Штрих-М поддержка довольно-таки быстрая и адекватная
#4 by vde69
шрифт "System" символ "Ж" - значение C6
#5 by mikecool
чисто интересно - это что за команда, которую только хексом вызвать можно?
#6 by Широкий
а символ "З"?
#7 by vde69
попробуй послать строку "АЖ" будет C0 C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D9
#8 by sbabay
немного не такая получилась: C0 C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19
#9 by sbabay
символ "З": C7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D8
#10 by sbabay
да почти всё. Псомотрите: Описание работы с ПО «ШТРИХ-М: Драйвер ФР» в соответствии с «требованиями к разработке драйверов для фискальных регистраторов» компании 1С Версия документа от 12.08.2011. Там только базовые. Даже простейший отчет по секциям не сделаешь, не подавая "команды Хекс"
#11 by sbabay
Нет идей?
#12 by vde69
у тебя передается вместо строки фиксированый массив (22 символа) + последний символ - это контрольная сумма, как вычисляется - хз.
#13 by sbabay
а что за фиксированный массив можешь подсказать??
#14 by vde69
22 байта - каждый байт это 1 символ C0 - А C6 - Ж C7 - З
#15 by sbabay
а откуда вы взяли значения этих символов как C0, C6, c7 ?
#16 by vde69
ты читать умееш ???? прочитай пост потом открой таблицу символов выбери шрифт и вперед
#17 by sbabay
программно это никак не сделать? Только перебивать все символы в какое-нибудь соотвествие и далее получать из него значения?
#18 by vde69
мда... может мы еще за тебя жевать будем?
#19 by vde69
контрольная сумма это "1F" XOR ПервыйБайт XOR ВторойБайт XOR и так до 22 тебе уже ВСЕ разложили
#20 by sbabay
Я понимаю, что на мисте принято принизить любого вопрошающего, но уж от вас такого не ожидал. Последний вопрос. Я  реально не пойму где и что открыть, чтобы посмотреть коды этих символов в шрифте System. Ткните пжлст где. Про программно просто у меня были ощущения, что можно как-то через "КодСимвола" или что-то подобное получить коды этих символов
#21 by sbabay
Да, спасибо вам за это ОГРОМНОЕ.
#22 by vde69
+ C0 xor C6 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 xor 00 и все это равно D9 (контрольный символ)
#23 by vde69
в виндовс есть приложение, называется "таблица символов" (место положение бывает разное), его открываешь в нем выбираешь шрифт и смотриш
#24 by sbabay
Вот! Спасибо!
#25 by sbabay
Всё-таки вопрос остается: программно никак не получить эти коды? Не перебивать же всю таблицу символов в соответствие?
#26 by zladenuw
#27 by sbabay
Для 1С всё оказалось проще: используем объект класса "ЗаписьТекста" и имеем счастье. Всем спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С