Страница 5 из 5

QR - код

Добавлено: 28 Октябрь 2018, 14:15
vic7tar
Ни в Хроме, ни в Лисе не хочет, а в Торе все нормально, хотя везде стоят одни и те же дополнения, блокировщики...

QR - код

Добавлено: 28 Октябрь 2018, 17:39
artgkx
Qr код нужен для печати на квитанциях. При отправке по Email с внедренным шрифтом получается ерунда. Zint формирует картинку малого размера. Пробовал Zint.exe для проверки. Проверку на сайте Сбера http://sbqr.ru/validator/index.html проходит , но если 1251, отображается все правильно, а если перекодировать в utf-8, кириллица не читаемый текст. В программе конечно нужно с помощью Zint.dll. Попробовал - ошибка ZINT_ERROR_INVALID_OPTION. Где-то в Инете попадалось что у них на сайте не так описана структура. Вообще с помощью Zint можно генерировать много разных кодов и она бесплатна. Cstr Юрия Философова прилагаю.

QR - код

Добавлено: 29 Октябрь 2018, 13:32
vic7tar
artgkx писал(а): 28 Октябрь 2018, 17:39Попробовал - ошибка ZINT_ERROR_INVALID_OPTION. Где-то в Инете попадалось что у них на сайте не так описана структура.
А когда появляется это сообщение и какая структура имеется ввиду?

QR - код

Добавлено: 29 Октябрь 2018, 14:20
artgkx
Структура взятая из zint.h

Код: Выделить всё

Zint_symbol          GROUP,PRE(znt)                      
symbology            LONG                                
height               LONG                                 
whitespase_width     LONG                                 
border_width         LONG                                 
output_options       LONG                                
fgcolour             STRING(10)            
bgcolour             STRING(10)            
outfile              CSTRING(256)                         
scale                SREAL(1.0)                           
option_1             LONG                                  
option_2             LONG                                 
option_3             LONG                                 
show_hrt             LONG(1)                              
input_mode           LONG                                 
eci                  LONG                                  
text                 STRING(128)                          
rows                 LONG                                 
width                LONG                                 
primary              STRING(128)                           
encoded_data         BYTE,DIM(200,143)                    
row_height           LONG,DIM(200)                         
errtxt               STRING(100)                           
bitmap               &STRING                               
bitmap_width         LONG                                 
bitmap_height        LONG                                 
bitmap_byte_length   long                           
dot_size             SREAL                           
rendered             &STRING                              
debug                LONG                                 
                     END          
Продвинулся немного дальше. Теперь 9_ Error 658: Insufficient memory for pixel buffer.
Если кто-то уже использует Zint.dll, поделитесь кодом. А то при моем уровне долго буду биться.

QR - код

Добавлено: 29 Октябрь 2018, 16:23
Ал
а почему именно zint?

QR - код

Добавлено: 29 Октябрь 2018, 17:20
kreator
Сделал у себя:

Код: Выделить всё

LOC:TempString = 'Кларион велик' 
len# = len(clip(LOC:TempString))
LOC:String1 &= new(cstring(len# * 2))
LOC:String2 &= new(cstring(len# * 2))
i# = MultiByteToWideChar(CP_ACP, 0, address(LOC:TempString), len#, address(LOC:String2), len#*2)
if i#
  i# = WideCharToMultiByte(CP_UTF8, 0, address(LOC:String2), i#, address(LOC:String1), len#*2, 0, 0)
  LOC:QRCode = GetQRCode(LOC:String1)
end  
Код можете попробовать распознать мобилой.
qrcode.png
qrcode.png (3.62 КБ) 3429 просмотров

QR - код

Добавлено: 29 Октябрь 2018, 17:21
artgkx
Генерит очень много кодов. Бесплатно. Создает картинки малого размера. Пробовал qrcodelib.dll - FastQRCode , картинка ~160 кб, Zint - если .BMP то ~ 2 с чем-то кб, если .PNG меньше 1 кб. Пробовал QRCodeFont.dll - требуется устанавливать шрифт, невозможно отослать кому-то документ с QR кодом, т.к. нужно отсылать еще и шрифт. А если рассылаю квитанции на оплату несколько тысяч. Zint позволяет формировать код в Buffer.
Мне например нужно печатать QR и Code128B. Code128 печатаю с помощью Taboga. QR другим. Zint.exe получается, но мелькает черное DOS окно.
Если научиться с помощью Zint.dll, то можно сформировать практически любой штрих код. Список см. у них на сайте. Я думаю полезно было-бы всем. Валерий Будько на ClaList вроде-бы пользует. Если-бы поделился своим классом с сообществом как Юрий Философов - то думаю многие ему были-бы благодарны.

QR - код

Добавлено: 29 Октябрь 2018, 17:31
kreator
artgkx писал(а): 29 Октябрь 2018, 17:21 Пробовал QRCodeFont.dll - требуется устанавливать шрифт, невозможно отослать кому-то документ с QR кодом, т.к. нужно отсылать еще и шрифт.
Решение для нас. Генеришь wmf, конвертишь его в png или в pdf. А в чём (в каком формате) рассылаются документы?

QR - код

Добавлено: 29 Октябрь 2018, 17:38
artgkx
Мобильник сдох, пока пользуюсь кнопочным. На Qrrd проверил, читается правильно. Значит что-то не так у меня. Если не сложно отошли или покажи Clarion.env.
В ProgramSetup

Код: Выделить всё

Locale('Windows')
system{prop:charset}=charset:cyrillic
SYSTEM{PROP:FontCharSet + PROP:TipsFont} = CHARSET:CYRILLIC
Может здесь собака зарыта?

QR - код

Добавлено: 29 Октябрь 2018, 18:04
kreator
Причём тут Clarion.env. Может Program.env? Да и то не причём. В описании qr-кода написано, что строка может содержать кодировку win1251 или utf-8. Но возможно конвертеры и считыватели этого не хотят знать. Скорее проблема со считывателем. Конвертеру по барабану. Utf-8 должен работать железно. Что нужно подсунуть этому zint'у? Строку в utf-8? Проверь на всякий случай свою формируемую строку. ИМХО, надо начать со строки utf-8.

QR - код

Добавлено: 29 Октябрь 2018, 18:24
vic7tar
artgkx писал(а): 29 Октябрь 2018, 14:20 Zint_symbol GROUP, pre(znt)
...
show_hrt LONG(1)
input_mode LONG
eci LONG
...

Код: Выделить всё

// zint.h
        ...
        int show_hrt;
        int fontsize;
        int input_mode;
        int eci;
        ...

QR - код

Добавлено: 08 Январь 2020, 16:14
Игорь Столяров
Привет всем и с завершением Новогодних праздников ! :)

Нет ли у кого-нибудь рабочего примера для работы с библиотекой ZINT в Clarion
(структура данных, прототипы функций, пример генерации какого-нибудь кода) ?

Так сказать, для стартапа … Заранее спасибо ! :)