QR код | |
---|---|
Николай из Сызрани Сообщений: 11 Дата регистрации: 03.05.2005 |
Доброго времени суток.
Возникла необходимость разместить на квитанциях QR-код по ГОСТу Р 56042-2014. Нашел FoxBarcodeQR, но там ограничение в длине 256 символов, а надо больше. StrokeScribe - платная. Может кто подскажет решение для VFP? |
Re: QR код | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Точно-точно? ------------------ Лень - это неосознанная мудрость. |
Re: QR код | |
---|---|
Mitjay Сообщений: 387 Откуда: Саратов Дата регистрации: 01.01.2005 |
Точно-точно...
|
Re: QR код | |
---|---|
Николай из Сызрани Сообщений: 11 Дата регистрации: 03.05.2005 |
точно, проверял несколько раз
|
Re: QR код | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Есть, например qrencode-win32. Правда оформлено как консольное приложение.
code.google.com |
Re: QR код | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Или вот у этого чувака есть на базе той же библиотеки скомпилированная dll.
perevoznyk.wordpress.com Где-то 2000 русских символов даёт кодировать. Английских чуть побольше. Я, правда, считывать не пробовал (;Ж
|
Re: QR код | |
---|---|
Николай из Сызрани Сообщений: 11 Дата регистрации: 03.05.2005 |
Проверил - работает.
Если не затруднит, еще бы описание параметров для GeneratePNG |
Re: QR код | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Там есть delphi-пример и сишный. Кому что роднее. procedure GeneratePNG(FileName : PChar; Text : PChar; Margin : integer; Size : integer; Level : integer); stdcall; FileName - имя файла, куда генерить; Text - текст который кодировать; Margin - размер рамки в точках QR-кода Size - размер точки QR-кода (вроде в пикселях) Level - уровень коррекции ошибок: QualityLow=0, QualityMedium=1, QualityStandard=2, QualityHigh=3. Кажется так. Еще есть функция GenerateBMP с теми же параметрами. Еще можно выставить RGB-цвета: procedure SetBackgroundColor(Value : COLORREF); stdcall; procedure SetForegroundColor(Value : COLORREF); stdcall; |
Re: QR код | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Ещё там же лежат функции:
function GetHBitmap(Text : PChar; Margin : integer; Size : integer; Level : integer) : HBITMAP; stdcall; procedure GetPNG(Text : PChar; Margin : integer; Size : integer; Level : integer; var BufSize : integer; out ppvBits : PByte); stdcall; Первая возвращает указатель на HBitMap. Если я правильно помню, HBitMap можно привязать к PictureVal. Если что, меня поправят товарищи. |
Re: QR код | |
---|---|
Николай из Сызрани Сообщений: 11 Дата регистрации: 03.05.2005 |
Огромное СПАСИБО!
пойду внедрять в тело программы. |
Re: QR код | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Вот цветной. Для ценителей. (;Ж
|
Re: QR код | |
---|---|
Николай из Сызрани Сообщений: 11 Дата регистрации: 03.05.2005 |
Пришлось использовать GenerateBMP, так как png не вставляется в отчет.
|
Re: QR код | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Чё за фокс то такой антикварный В 9-ке png работает без проблем.
------------------ WBR, Igor |
Re: QR код | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Лучше бы напомнил, HBitMap можно напрямую в PictureVal запихивать, или надо всё-таки обёртывать заголовком. |
Re: QR код | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Поскольку там речь идёт про IPicture интерфейс, то очевидно "просто хендл", который вообще число а никак не object, туда подсунуть никак нельзя.
А используя OleCreatePictureIndirect() и потом подшаманив с SYS(3096) возможно и получится "завернуть хендл" - хотя этой SYS-ке нужен интерфейс производный от IDispatch, а это IPictureDisp, так что хз как это разрулить и выйдет ли что путное из такого варианта... Кстати, для заворачивания HBITMAP нужно ещё и палитру в виде хендла HPALETTE соорудить Кароче одно могу сказать точно - на фоксе я бы эту хрень точно не стал писать На сях какую fll наверное можно сварганить, но смысл? Тогда уж проще всю логику генерации баркода туда засунуть. ------------------ WBR, Igor |
Re: QR код | |
---|---|
Victoriacom Сообщений: 112 Дата регистрации: 08.12.2010 |
Здравствуйте. Ищу генератор QR кодов, который можно было бы вставить в Фокс-код. FoxBarcodeQR не подходит из-за ограничения длины. Больше всего мне понравился приведенный выше пример, но...Может я чего не так делаю, но если раскомментировать MyText на русском, то не работает: картинка создается, но когда я ее читаю сканером в блокнот, туда попадают несколько десятков пробелов. А с латиницей всё нормально. Может где-то уже есть решение этой проблемы? Чтобы на руccком и без ограничения длины? Есть еще такая штука, - "MessagingToolkit.QRCode.dll". Есть даже пример на С++, но я не знаю как им воспользоваться. Как подключить ее к фоксовой программе? В Си-шном примере стоит:
Поможите, кто чем может... ------------------ Алло, это прачечная? Да, это прачечная. Здравствуйте. Исправлено 1 раз(а). Последнее : Victoriacom, 14.08.20 15:18 |
Re: QR код | |
---|---|
Victoriacom Сообщений: 112 Дата регистрации: 08.12.2010 |
Нашел здесь на форуме еще один примерчик:
------------------ Алло, это прачечная? Да, это прачечная. Здравствуйте. |
Re: QR код | |
---|---|
andrewk Автор Сообщений: 174 Откуда: Красноярск Дата регистрации: 15.05.2005 |
Вот реальный код, который у меня давно работает. С моими же комментариями для себя. Как раз тоже для платёжки ЖКХ. С кириллицей проблем нет. Только подправил, чтоб можно было для проверки запустить. В архиве эта же prg-шка. Help на сайте не совсем для нас подходит, но понять можно. upd: блин, отступы все съехали, поскольку браузер показывает TAB как 8 пробелов, а у меня как 4. Исправлено 5 раз(а). Последнее : Joys, 29.08.20 19:02 |
© 2000-2024 Fox Club  |