Страница 1 из 5
QR - код
Добавлено: 01 Август 2012, 12:13
john113@rambler.ru
Кто то сталкивался с печатью QRкода?
Re: QR - код
Добавлено: 01 Август 2012, 19:51
svru
Есть вариант , но только завтра вечером. QR - это модно.
Re: QR - код
Добавлено: 02 Август 2012, 18:04
svru
Пробуйте.
Re: QR - код
Добавлено: 08 Август 2012, 23:45
ABBASoft
В Вашем примере QR.zip не описана переменная RAW. Что это за переменная?
Re: QR - код
Добавлено: 09 Август 2012, 5:06
Admin
The RAW attribute of a PROCEDURE prototype specifies that STRING or GROUP parameters pass the memory address only. This allows you to pass just the memory address of a *?, STRING, or GROUP parameter, whether passed by value or by reference, to a non-Clarion language procedure or function. Normally, STRING or GROUP parameters pass the address and the length of the string. The RAW attribute eliminates the length portion. For a prototype with a ? parameter, the parameter is taken as a LONG but passed as a "void *" which just eliminates linker warnings. This is provided for compatibility with external library functions that expect only the address of the string.
If a function is prototyped with one of the following return types: ?, *? or *STRING, and the prototype has the RAW attribute, the return value is treated as a LONG.
Example:
Код: Выделить всё
MAP
MODULE('Party3.Obj') !A third-party library
Func46 PROCEDURE(*CSTRING),REAL,C,RAW !Pass CSTRING address-only to C function
END
END
Re: QR - код
Добавлено: 09 Август 2012, 5:20
Admin
Вот сразу работающий код
Только куда сунуть l:shtr после рутинки я не знаю. Это к автору.
Код: Выделить всё
PROGRAM
LPCSTR EQUATE(CSTRING)
DWORD EQUATE(ULONG)
WORD EQUATE(USHORT)
BOOL EQUATE(SIGNED)
LPSTR EQUATE(STRING)
MAP
MODULE('QRCode.LIB')
_enQRCode(*CSTRING, WORD, WORD, WORD) RAW, PASCAL, NAME('QRCodeEncode')
QRGetRows(), WORD, RAW, PASCAL, NAME('QRCodeGetRows')
QRGetCols(), WORD, RAW, PASCAL, NAME('QRCodeGetCols')
QRGetCharAt(WORD, WORD), WORD, RAW, PASCAL, NAME('QRCodeGetCharAt')
end
END
l:shtr CSTRING(4096)
l:mode WORD
l:rows WORD
l:errCorLev WORD
l:len BYTE
lo:rows WORD
lo:column WORD
CODE
DO set_shtr
MESSAGE(l:shtr)
set_shtr routine
l:shtr = '12345678901234567890'
l:mode = 2
l:errCorLev = 0
l:rows = 3
l:len = len(clip(l:shtr))
if l:len > 0
_enQRCode(l:shtr, l:mode, l:errCorLev, l:rows)
lo:rows = QRGetRows()
lo:column = QRGetCols()
l# = 1
loop i# = 0 to lo:rows - 1
loop j# = 0 to lo:column - 1
l:shtr[l#] = chr(QRGetCharAt(i#, j#))
l# += 1
end
l:shtr[l#] = '<13>'
l# += 1
l:shtr[l#] = '<10>'
l# += 1
end
l:shtr[l#] = '<0>'
end
Re: QR - код
Добавлено: 09 Август 2012, 22:57
ABBASoft
Уважаемый ADMIN, большое спасибо за уточненный пример, но, все же, при компиляции дает з ошибки:
Illegal return type or atribute!
на все три процедуры (QRGetRows(), WORD, RAW, PASCAL, Name, QRGetCols(), WORD, RAW, PASCAL, Name, QRGetCharAt(WORD,WORD), WORD, RAW, PASCAL, Name),
которые вставлены в Global MAP, и курсор стоит вначале RAW
С уважением, ABBASoft.
Re: QR - код
Добавлено: 09 Август 2012, 23:45
Admin
В проект добавляли LIB файл?
Какая версия Clarion?
Каков опыт работы с Clarion?, а то вопросы такие ...
P.S. Все это к тому что код, который я дал, скомпилирован и был запущен на C6.3
Re: QR - код
Добавлено: 10 Август 2012, 13:00
Дед Пахом
Скорее всего тип WORD неопределён, надо заменить на USHORT:
WORD EQUATE(USHORT)
Re: QR - код
Добавлено: 10 Август 2012, 15:13
ABBASoft
Уважаемый ADMIN, Ваша програмка у меня была вставлена в Application, библиотека была подцеgлена (определена) в Project.
но выдавало з ошибки. Теперь я сделал как у Вас (программа .clw + определил Project) и все Ок. Ваш пример заработал.
Почему он не работал в APP - не известно.
Но что теперь делать с содержимым в строке l:shtr??? Автор примера QR-кода, подскажите, пожалуйста, что делать дальше?
С уважением, ABBASoft.
Re: QR - код
Добавлено: 10 Август 2012, 21:17
svru
l:shtr может быть размещено в форме, репорте как обычное edit-поле, но при этом необходимо указать шрифт , предварительно установив в систему(панель управления - шрифты), который включен в состав zip-файла.
Надо было мне приложить пример в TXA формате, но это только в понедельник.А впрочем лучше app целиком.
Re: QR - код
Добавлено: 10 Август 2012, 22:13
ABBASoft
Благодарим всех за отзывчивость (SVRU, ADMINa, Деда Пахома). Ждем от SVRU .app.
С уважением, ABBASoft.
Re: QR - код
Добавлено: 13 Август 2012, 18:58
svru
Re: QR - код
Добавлено: 13 Август 2012, 22:29
ABBASoft
Уважаемый SVRU, большое спасибо за пример, но как из этого кода получить картинку?
Мне ее необходимо напечатать.
С уважением, ABBASoft (
ABBASoft@ukr.net).
Re: QR - код
Добавлено: 14 Август 2012, 17:01
svru
Легче простого. Пример можно посмотреть тут.
http://www.pisoft.ru/verstak/barfonts.htm Он отностися, конечно, к штрихкоду code-39, но принцип такой же.