ZINT BarCode для Clarion
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
ZINT BarCode для Clarion
Библиотека для создания практически любых штрих-кодов.
В примере показан вывод штрих-кодов в окно и отчёт.
(Перекрестная ссылка на альтернативу viewtopic.php?p=40124#p40124) добавил Admin
В примере показан вывод штрих-кодов в окно и отчёт.
(Перекрестная ссылка на альтернативу viewtopic.php?p=40124#p40124) добавил Admin
- Вложения
-
- zint-19-12-2023.zip
- Версия: 19.12.2023 г.
- (422.35 КБ) 50 скачиваний
Последний раз редактировалось Игорь Столяров 20 Декабрь 2023, 15:59, всего редактировалось 11 раз.
За теми кто отстал - не возвращаться. (С) Кодекс
ZINT BarCode для Clarion
Вообще-то, где-нибудь надо выложить файлик лицензии автора библиотеки или где-то упомянуть его имя, а не ссылку.
А где русские буквы в QR-code?
А где русские буквы в QR-code?
C10, Win10x64
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
ZINT BarCode для Clarion
Игорь, вычисление в ZINT:ANSItoUTF8 длины UTF-8 строки как длина строки ANSI, умноженная на 2, ошибочна
Например символ "№" будет 3 байта, а не 2. Соответственно например текст "№№№" правильно не перекодируется. Посмотри, как сейчас сделано в libxlsxwriter - сначала вычисляется требуемая длина строки, и уже затем создается выходная переменная необходимой длины
Например символ "№" будет 3 байта, а не 2. Соответственно например текст "№№№" правильно не перекодируется. Посмотри, как сейчас сделано в libxlsxwriter - сначала вычисляется требуемая длина строки, и уже затем создается выходная переменная необходимой длины
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
ZINT BarCode для Clarion
Согласен, правильную форму перекодировки из ANSI в UTF8 c запросом размера я знаю (она же описана в MSDN) ...
Но это такой экзотический случай с "№№№", что бы городить выкрутасы с выделением памяти …
Как по мне - то проще тогда умножить не на 2, а на 3 и не вспоминать.
За теми кто отстал - не возвращаться. (С) Кодекс
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
ZINT BarCode для Clarion
Прекрасно поддерживается, но только она завёрнута в 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.
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4656
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
ZINT BarCode для Clarion
Если пробовать просто в прилагаемом примере, то не выводится. Я попробовал передать строку в utf8, вывалилась ошибка при сохранении в файле. Наверно, надо вчитываться в код класса, на бегу не получилось.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
ZINT BarCode для Clarion
Мне сложно комментировать это сообщение, т.к. я не знаю, что именно Вы делали …
Ничего кодировать в UTF8 не надо однозначно, класс это сделает сам если требуется.
Давайте по другому: к этому сообщению прикреплён пример с кодировкой русского текста в QRCode …
А проверить (прочитать QRCode) можно, например, вот здесь: https://decodeit.ru/qr
- Вложения
-
- demo.zip
- Русский текст в QRCode
- (13.84 КБ) 256 скачиваний
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4656
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
ZINT BarCode для Clarion
Ничего особенного не делал. В том примере для вывода на экран, который был, вместо цифр поставил русское Привет и вид штрих-кода qr. Потом пикнул со смартфона, выдало абракадабру. Цифры и латиница нормально. Еще app не скомпилилось, перенес код вручную в свое тестовое приложение. У меня такое есть специально для проверки разных вещей.
PS. Примеры лучше прикладывать в clw+prj.
PS. Примеры лучше прикладывать в clw+prj.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
ZINT BarCode для Clarion
Пример взял из Examples C6.3 - он практически пустой, у меня нет никаких самопальных шаблонов и т.д.
Под C11 проверил, никаких проблем … Так что Ваше голословное обвинение связано с местными заморочками.
Откуда же я знаю что делает Ваш смартфон, кто и что на него устанавливал … ?
Судя по описанию - приложение на смартфоне не знает о существовании национальных кодировок и UTF-8.
Используйте пожалуйста ссылку для проверки QR кода из предыдущего сообщения.
За теми кто отстал - не возвращаться. (С) Кодекс
ZINT BarCode для Clarion
Всё равно крякизюбры.Игорь Столяров писал(а): ↑05 Февраль 2020, 9:14 Давайте по другому: к этому сообщению прикреплён пример с кодировкой русского текста в QRCode …
C10, Win10x64
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4656
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 7 раз
- Поблагодарили: 37 раз
ZINT BarCode для Clarion
Да нет, я просто про общепринятую практику написал. Не все же, к примеру, abc используют.Игорь Столяров писал(а): ↑05 Февраль 2020, 10:49Пример взял из Examples C6.3 - он практически пустой, у меня нет никаких самопальных шаблонов и т.д.
Под C11 проверил, никаких проблем … Так что Ваше голословное обвинение связано с местными заморочками.
Кстати, да. Приложение на смартфоне не распознает кириллицу. Странно, вроде как стандартное приложение, версия андроида достаточно свежая.Игорь Столяров писал(а): ↑05 Февраль 2020, 10:49 Откуда же я знаю что делает Ваш смартфон, кто и что на него устанавливал … ?
Судя по описанию - приложение на смартфоне не знает о существовании национальных кодировок и UTF-8.
Используйте пожалуйста ссылку для проверки QR кода из предыдущего сообщения.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7408
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
ZINT BarCode для Clarion
Основное назначение QRCode в смартфонах - это быстрый переход по ссылкам.
Приложение вполне может не знать, что в далёкой России навострились продавать доменные имена в зоне РФ и т.д.
Также есть разные способы указания национальной кодировки в самом коде.
Например префиксы ECI (Extended Channel Interpretations) - их не рекомендуют использовать для традиционной работы,
т.к. требуется аппаратная поддержка распознавания в сканере, но она вполне может быть реализована в приложении смартфона.
Можно попробовать включить префикс ECI для UTF-8 в QR и посмотреть раскодирует ли приложение такой QR код …
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
ZINT BarCode для Clarion
У Айфона с кириллицей всё в порядке, если что.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
ZINT BarCode для Clarion
Можно этот QR-код приложить? А то я не могу zip скачать, корпоративный запрет. Я Айфоном посмотрю.
We are hard at work… for you.