Страница 1 из 10

ZINT BarCode для Clarion

Добавлено: 04 Февраль 2020, 18:26
Игорь Столяров
Библиотека для создания практически любых штрих-кодов.
В примере показан вывод штрих-кодов в окно и отчёт.

(Перекрестная ссылка на альтернативу viewtopic.php?p=40124#p40124) добавил Admin

ZINT BarCode для Clarion

Добавлено: 04 Февраль 2020, 19:34
vic7tar
Вообще-то, где-нибудь надо выложить файлик лицензии автора библиотеки или где-то упомянуть его имя, а не ссылку.
А где русские буквы в QR-code?

ZINT BarCode для Clarion

Добавлено: 04 Февраль 2020, 21:14
RaFaeL
Игорь, вычисление в ZINT:ANSItoUTF8 длины UTF-8 строки как длина строки ANSI, умноженная на 2, ошибочна
Например символ "№" будет 3 байта, а не 2. Соответственно например текст "№№№" правильно не перекодируется. Посмотри, как сейчас сделано в libxlsxwriter - сначала вычисляется требуемая длина строки, и уже затем создается выходная переменная необходимой длины

ZINT BarCode для Clarion

Добавлено: 04 Февраль 2020, 21:42
Игорь Столяров
RaFaeL писал(а): 04 Февраль 2020, 21:14 умноженная на 2, ошибочна
Согласен, правильную форму перекодировки из ANSI в UTF8 c запросом размера я знаю (она же описана в MSDN) ...
Но это такой экзотический случай с "№№№", что бы городить выкрутасы с выделением памяти … ;)
Как по мне - то проще тогда умножить не на 2, а на 3 и не вспоминать. :)

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 8:30
finsoftrz
Кириллица не поддерживается в qr?

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 8:50
Игорь Столяров
finsoftrz писал(а): 05 Февраль 2020, 8:30 Кириллица не поддерживается в qr?
Прекрасно поддерживается, но только она завёрнута в UTF8.
В оригинальном комплекте ZINT есть файл Manual.txt в котором есть описание допустимых кодировок
для каждого вида кода, что в общем-то и реализовано в методе ZintClass.CheckAndParam() …

Конкретно по QRCode: Input should usually be entered as Unicode (UTF-8) with conversion to Shift-JIS being carried out by Zint.

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 9:03
finsoftrz
Если пробовать просто в прилагаемом примере, то не выводится. Я попробовал передать строку в utf8, вывалилась ошибка при сохранении в файле. Наверно, надо вчитываться в код класса, на бегу не получилось.

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 9:14
Игорь Столяров
finsoftrz писал(а): 05 Февраль 2020, 9:03 Если пробовать просто в прилагаемом примере, то не выводится.
Мне сложно комментировать это сообщение, т.к. я не знаю, что именно Вы делали …
Ничего кодировать в UTF8 не надо однозначно, класс это сделает сам если требуется.

Давайте по другому: к этому сообщению прикреплён пример с кодировкой русского текста в QRCode … ;)
А проверить (прочитать QRCode) можно, например, вот здесь: https://decodeit.ru/qr

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 9:30
finsoftrz
Ничего особенного не делал. В том примере для вывода на экран, который был, вместо цифр поставил русское Привет и вид штрих-кода qr. Потом пикнул со смартфона, выдало абракадабру. Цифры и латиница нормально. Еще app не скомпилилось, перенес код вручную в свое тестовое приложение. У меня такое есть специально для проверки разных вещей.

PS. Примеры лучше прикладывать в clw+prj.

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 10:49
Игорь Столяров
finsoftrz писал(а): 05 Февраль 2020, 9:30 Еще app не скомпилилось
Пример взял из Examples C6.3 - он практически пустой, у меня нет никаких самопальных шаблонов и т.д.
Под C11 проверил, никаких проблем … Так что Ваше голословное обвинение связано с местными заморочками. ;)

Откуда же я знаю что делает Ваш смартфон, кто и что на него устанавливал … ? :)
Судя по описанию - приложение на смартфоне не знает о существовании национальных кодировок и UTF-8.
Используйте пожалуйста ссылку для проверки QR кода из предыдущего сообщения.

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 11:00
vic7tar
Игорь Столяров писал(а): 05 Февраль 2020, 9:14 Давайте по другому: к этому сообщению прикреплён пример с кодировкой русского текста в QRCode …
Всё равно крякизюбры. :lol:

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 11:45
finsoftrz
Игорь Столяров писал(а): 05 Февраль 2020, 10:49
finsoftrz писал(а): 05 Февраль 2020, 9:30 Еще app не скомпилилось
Пример взял из Examples C6.3 - он практически пустой, у меня нет никаких самопальных шаблонов и т.д.
Под C11 проверил, никаких проблем … Так что Ваше голословное обвинение связано с местными заморочками. ;)
Да нет, я просто про общепринятую практику написал. Не все же, к примеру, abc используют.
Игорь Столяров писал(а): 05 Февраль 2020, 10:49 Откуда же я знаю что делает Ваш смартфон, кто и что на него устанавливал … ? :)
Судя по описанию - приложение на смартфоне не знает о существовании национальных кодировок и UTF-8.
Используйте пожалуйста ссылку для проверки QR кода из предыдущего сообщения.
Кстати, да. Приложение на смартфоне не распознает кириллицу. Странно, вроде как стандартное приложение, версия андроида достаточно свежая.

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 13:01
Игорь Столяров
finsoftrz писал(а): 05 Февраль 2020, 11:45 версия андроида достаточно свежая.
Основное назначение QRCode в смартфонах - это быстрый переход по ссылкам.
Приложение вполне может не знать, что в далёкой России навострились продавать доменные имена в зоне РФ и т.д. ;)

Также есть разные способы указания национальной кодировки в самом коде.
Например префиксы ECI (Extended Channel Interpretations) - их не рекомендуют использовать для традиционной работы,
т.к. требуется аппаратная поддержка распознавания в сканере, но она вполне может быть реализована в приложении смартфона.
Можно попробовать включить префикс ECI для UTF-8 в QR и посмотреть раскодирует ли приложение такой QR код …

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 13:13
kreator
У Айфона с кириллицей всё в порядке, если что.

ZINT BarCode для Clarion

Добавлено: 05 Февраль 2020, 13:20
kreator
Можно этот QR-код приложить? А то я не могу zip скачать, корпоративный запрет. Я Айфоном посмотрю.