ZINT BarCode для Clarion

Программы на Clarion, шаблоны, библиотеки и пр.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 10 Февраль 2020, 22:42 Зачем в этой линейке сейчас Freeimage?
Две причины использовать FreeImage:
1. Потому, что ZINT не поддерживает - PNG и JPG, XLSXWriter - GIF. А файлы BMP достаточно большие по размеру. :(
2. Нормализация размера. Упрощённо говоря, если пользователь в ячейку 100x100 пытается вставить полноцветную
фотку HD 1920x1080 в BMP - то метод XLSX оптимизирует размер и вставит в ячейку картинку PNG 192x108.

Указанный метод XLSX.worksheet_insert_image_buffer_opt я смотрел. Дело в том, что в данном контексте он не эффективен.
Например, обычный штрих-код EAN13 в BMP (или буфере DIB) - это примерно 100 KByte, а в GIF (PNG) - 600 Byte.
Бабахнуть в XLSX пару-тройку тысяч товаров с картинками штрих-кодов в BMP (или через DIB буфер) технологически можно,
но результат будет огромен и ужастен, в прямом смысле этого слова … :(
Приносим Вам свои неудобства !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 3447
Зарегистрирован: 06 Ноябрь 2014, 12:48

ZINT BarCode для Clarion

Сообщение finsoftrz »

Xlsx это zip архив. По идее, bmp должны сильно сжиматься. Проверяли?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 3447
Зарегистрирован: 06 Ноябрь 2014, 12:48

ZINT BarCode для Clarion

Сообщение finsoftrz »

И еще, стесняюсь спросить. :-) А нафига нужно слать файлы с графическими изображениями штрих-кодов по электронной почте? Или это чисто теоретический пример был?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

finsoftrz писал(а): 11 Февраль 2020, 6:32 Или это чисто теоретический пример был?
Да, конечно - это был гипотетический пример на максимальное использование возможных наворотов. :)
Хотя, например, рассылка прайс-заказа с штрих-кодами для быстрой выписки - это реальный отчёт.
Приносим Вам свои неудобства !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 3447
Зарегистрирован: 06 Ноябрь 2014, 12:48

ZINT BarCode для Clarion

Сообщение finsoftrz »

Я, наверно, зануда. Но что такое прайс-заказ для быстрой выписки? И зачем там нужны изображения штрих-кодов? Прайс для заказа понимаю. Делали, рассылали. Был и вариант с изображением товаров, но это не прайс, а вариант коммерческого предложения на ограниченный набор товаров. Был вариант публикации коммерческого предложенич на сайте в виде временного файла (фото товаров подтягивалось автоматически на сайте) и отправка по почте ссылки. Но вот изображения штрих-кодов зачем, не представляю.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

finsoftrz писал(а): 11 Февраль 2020, 8:03 Но вот изображения штрих-кодов зачем, не представляю
Быстрая выписка сканером. Также в штрих-коде может быть закодирована ссылка на страницу с описанием товара.
finsoftrz писал(а): 11 Февраль 2020, 8:03 Я, наверно, зануда.
Скорее человек пытающийся всё примерить под себя, под свои задачи и реальность.
И видя на спидометре AUDI надпись 280, говорящий "А оно МНЕ надо ?" ;)
Программирование, как и математика - это по сути абстрактные виды деятельности.
Приносим Вам свои неудобства !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 3447
Зарегистрирован: 06 Ноябрь 2014, 12:48

ZINT BarCode для Clarion

Сообщение finsoftrz »

Что штрих-код нужен для сканирования, это и ежику понятно. Но зачем его изображение рассылать по почте? Я не понимаю бизнес-процесс. Что происходит после приемки файла на стороне получателя? Что он делает с этим файлом, в каком приложении сканирует?
Недавно у нас была ситуация, когда в столовой распечатывали изображения штрих-кодов на некоторые блюда, чтобы пикать на кассе. Смысла я в этом тоже особого не вижу, так как в кассовой программе можно настроить тот же список блюд на горячей клавише. По времени пробивать таким способом медленнее не будет.

Или Вы себе голову бизнес-процессами не забиваете? Заказчик заплатил, мы сделали. А зачем ему нужно, это его дело...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

finsoftrz писал(а): 11 Февраль 2020, 9:13 А зачем ему нужно, это его дело
Да. Это ведь как продолжение "Клиент всегда прав !".
Если Заказчик состоялся финансово и чего-то хочет - стоит ли ему навязывать своё мнение ? ;)
Приносим Вам свои неудобства !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 3447
Зарегистрирован: 06 Ноябрь 2014, 12:48

ZINT BarCode для Clarion

Сообщение finsoftrz »

Не знаю, я всегда категорически против такого подхода. А клиенту сразу говорю, в программе будет только то, что имеет разумное обоснование. Адекватные клиенты это понимают. А с неадекватными лучше не работать. И финансовая сторона вопроса тут решающей роли не играет.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

finsoftrz писал(а): 11 Февраль 2020, 9:33 И финансовая сторона вопроса тут решающей роли не играет.
Значит Вы предлагаете комплексную услугу: от разработки концепции проекта до его внедрения.
Это хорошо … но я всегда был категорически против такого подхода. Кратко поясню. :)

Когда программист участвует в разработке проекта - он тянет его в ту сторону, что умеет делать,
где у него есть наработки, причём зачастую уже морально устаревшие, но проверенные.
Как следствие - вроде новый проект внутри оказывается сделанным на технологиях 20-летней давности.

Я за то, что бы на стадии проектирования дать Заказчику самому пофантазировать и покреативить.
И не обязательно сразу его убивать авторитетной логикой вроде "А мне не нравится" и т.д. :)
А вот потом, уже думать как это всё можно реализовать …

Ну и я за то, что не может один человек, даже очень умный знать всё. Работа в команде, где каждый
делает своё дело - это наиболее эффективный способ реализации задач. :)
Приносим Вам свои неудобства !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 3447
Зарегистрирован: 06 Ноябрь 2014, 12:48

ZINT BarCode для Clarion

Сообщение finsoftrz »

Не так. Я не предлагаю клиенту делать проект. У меня есть продукт, который включает в себя бест практик в определенной бизнес-тематике. То есть я не буду работать с любым клиентом, а только с тем, у кого бизнес соответсвующей направленности. Это называется сегментирование по предметной области, если умными словами. Это не значит, что клиенту говорится, делать можно только так и не иначе. Наоборот, я всеми силами пытаюсь выявить среди сотрудников клиента разумных и одаренных людей, с которыми можно конструктивно взаимодействовать. Таких людей не много. Это нормально. С остальными я напрямую принципиально не контактирую. Это и есть команда, с которой я общаюсь практически ежедневно. Конечное решение, конечно, остается за мной. Это тоже нормально, мой продукт, мой бизнес. Чтобы было понятнее, речь идет про критичный для бизнеса клиентов продукт. И у основных клиентов обороты не пять копеек.

На счет технологий я особо не парюсь. Все технологии в своей основе более 20 лет. Мы ими либо владеем и понимаем, либо нет. Весь смысл в создании эффективных решений, позволяющих бизнесу уверенно себя чувствовать на рынке. Этого не создашь, если не накапливаешь в течении многих лет опыт.

Мы немного отвлеклись от темы... :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

finsoftrz писал(а): 11 Февраль 2020, 10:34 Мы немного отвлеклись от темы
Ну это как бы поиск ответа на вопрос: Зачем пилить ZINT если есть проверенный TABOGA ? :)
Приносим Вам свои неудобства !
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1299
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

ZINT BarCode для Clarion

Сообщение RaFaeL »

Игорь Столяров писал(а): 11 Февраль 2020, 6:17 Две причины использовать FreeImage:
1. Потому, что ZINT не поддерживает - PNG и JPG, XLSXWriter - GIF. А файлы BMP достаточно большие по размеру.
2. Нормализация размера. Упрощённо говоря, если пользователь в ячейку 100x100 пытается вставить полноцветную
фотку HD 1920x1080 в BMP - то метод XLSX оптимизирует размер и вставит в ячейку картинку PNG 192x108.

Указанный метод XLSX.worksheet_insert_image_buffer_opt я смотрел. Дело в том, что в данном контексте он не эффективен.
А Freeimage не умеет с памятью работать? А то может передать туда bmp в памяти, вернется png в памяти, далее его в xlsx
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 6053
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

ZINT BarCode для Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 11 Февраль 2020, 15:39 А то может передать туда bmp в памяти, вернется png в памяти, далее его в xlsx
Гипотетически красивый проект.
Но есть подозрение, что когда речь идёт о Bitmap, то это именно BMP (или DIB) формат, а не упакованный PNG, GIF, JPG и т.д.
Приносим Вам свои неудобства !
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1299
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

ZINT BarCode для Clarion

Сообщение RaFaeL »

xlsx из памяти поймет по идее не только bitmap а тот же поток что и с диска
Ответить