Применение в своих программах DrvMercFR.dll
Применение в своих программах DrvMercFR.dll
Кто нибудь подскажите - как эту dll использовать в программе написанной на vb6.
Оборудование:
Mercury 130 в рабочем режиме = 3
Оборудование:
Mercury 130 в рабочем режиме = 3
Re: Применение в своих программах DrvMercFR.dll
Public Function DLLOCX(ByVal hwnd As Long, ByVal Path As String, ByVal Register As Boolean) As Boolean
On Error Resume Next
Dim LB As Long, PA As Long
Dim L As String
Dim LP As String
LB = LoadLibrary(Path)
If LB = 0 Then Exit Function
LP = "1"
L = "000000"
как правильно написать строку на соединение?
PA = GetProcAddress(LB, "Connect(1, 9600, 400, " & L & ")")
If PA = 0 Then GoTo 0
Call CallWindowProc(PA, hwnd, ByVal 0&, ByVal 0&, ByVal 0&)
DLLOCX = True
0
End Function
On Error Resume Next
Dim LB As Long, PA As Long
Dim L As String
Dim LP As String
LB = LoadLibrary(Path)
If LB = 0 Then Exit Function
LP = "1"
L = "000000"
как правильно написать строку на соединение?
PA = GetProcAddress(LB, "Connect(1, 9600, 400, " & L & ")")
If PA = 0 Then GoTo 0
Call CallWindowProc(PA, hwnd, ByVal 0&, ByVal 0&, ByVal 0&)
DLLOCX = True
0
End Function
Re: Применение в своих программах DrvMercFR.dll
Спасибо!
- иду смотреть.
=================
посмотрел.....
Я пишу тоже самое, только что-то где то ошибочка какая то......
где что не так, не понятно....
Не прокатывает ни одна строка....
- иду смотреть.
=================
посмотрел.....
Я пишу тоже самое, только что-то где то ошибочка какая то......
где что не так, не понятно....
Код: Выделить всё
PA = GetProcAddress(LB, "Connect(1, 9600, 400 " & L & ")")
PA = GetProcAddress(LB, "Connect(1, 19200, 400 " & L & ")")
PA = GetProcAddress(LB, "Connect(1, 57600, 400 " & L & ")")
PA = GetProcAddress(LB, "Connect(1, 115200, 400 " & L & ")")
Re: Применение в своих программах DrvMercFR.dll
получить адрес функции и вызвать функцию это разное
возможно так:
hLib = LoadLibrary("DrvMercFR.dll")
hConnect= GetProcAddress (hLib,"Connect")
CallWindowProc hConnect, 1, 9600, 400, "000000"
FreeLibrary hLib
но я VB не знаю.
возможно так:
hLib = LoadLibrary("DrvMercFR.dll")
hConnect= GetProcAddress (hLib,"Connect")
CallWindowProc hConnect, 1, 9600, 400, "000000"
FreeLibrary hLib
но я VB не знаю.
Re: Применение в своих программах DrvMercFR.dll
Спасибо!!!
Выкрутился я вот как:
Еесть такая библиотека - для доступа к функциям таких библиотек - как та, что попалася мне.
После её регистации - всё становится проще
Выкрутился я вот как:
Еесть такая библиотека - для доступа к функциям таких библиотек - как та, что попалася мне.
Код: Выделить всё
DynamicWrapperX v1.0
Код: Выделить всё
Private Sub Command2_Click()
Dim DX As Object
Dim res
Set DX = CreateObject("DynamicWrapperX") ` Создание объекта.
` вызов функции с параметрами
DX.Register App.Path & "\DrvMercFR.dll", "Connect", "i=hhhs", "r=l" ` Регистрация функции из dll.
res = DX.Connect(1, 9600, 400, "000000")
` вызов функции без параметров
DX.Register App.Path & "\DrvMercFR.dll", "Xreport" ` Регистрация функции из dll.
res = DX.XReport ` Вызов.
End Sub
Последний раз редактировалось час 16 ноя 2011, 21:56, всего редактировалось 1 раз.
Re: Применение в своих программах DrvMercFR.dll
Коннектюся и х отчёт и Z-отчёт уже забабахал.
Остальное уже, я думаю - приложится :D
==================
Так что, если будет необходимость - прочти страничку по ссылке - и все проблемы с подключением и использованием библиотек - будут уже не так страшны!
Остальное уже, я думаю - приложится :D
==================
Так что, если будет необходимость - прочти страничку по ссылке - и все проблемы с подключением и использованием библиотек - будут уже не так страшны!
Re: Применение в своих программах DrvMercFR.dll
Интересно , а произвольную строку написать - функция в этой dll имеется?
==================
И где вообще посмотреть все её функции?
----------------------------------------------
Кстати такие фунции как QueryEcrDateTime
GetCurrOper
- не понял как вызывать и обрабатывать.
Кто нибудь приведите пример на любом языке программирования.
==================
И где вообще посмотреть все её функции?
----------------------------------------------
Кстати такие фунции как QueryEcrDateTime
GetCurrOper
- не понял как вызывать и обрабатывать.
Кто нибудь приведите пример на любом языке программирования.
Re: Применение в своих программах DrvMercFR.dll
Интересно , а произвольную строку написать - функция в этой dll имеется?
ККМ это не поддерживает
И где вообще посмотреть все её функции?
здесь весь материал в том числе и некоторое описание
ККМ это не поддерживает
И где вообще посмотреть все её функции?
здесь весь материал в том числе и некоторое описание
Re: Применение в своих программах DrvMercFR.dll
Спасибо!!!
Мне надо копию чека печатать, но позиции выборочные - только в первую секцию(услуги).
А товары в копии чека печатать не нужно - что Вы можете посоветовать?
Мне надо копию чека печатать, но позиции выборочные - только в первую секцию(услуги).
А товары в копии чека печатать не нужно - что Вы можете посоветовать?
Re: Применение в своих программах DrvMercFR.dll
на сколько я понимаю такое не возможно, может быть даже уголовно наказуемо, возможно я Вас просто не понял.
- Briarius
- Сотрудник Инкотекс
- Сообщения: 386
- Зарегистрирован: 17 май 2011, 17:37
- Контактная информация:
Re: Применение в своих программах DrvMercFR.dll
Не смешите определением копии чека! Копия на то и копия, что она полностью совпадает с оригиналом и имеет сопутствующую информацию, указывающую, что это копия документа.час писал(а):Мне надо копию чека печатать, но позиции выборочные - только в первую секцию(услуги).
А товары в копии чека печатать не нужно - что Вы можете посоветовать?
Re: Применение в своих программах DrvMercFR.dll
Что же тут смешного?
По Вашему - надо в кавычки заключать слово КОПИЯ?
Или вы не въехали в суть вопроса?
========================
Специально - для Вас:
Как сделать копию чека - строками.
Так как это реализовано в драйвере ШТРИХа?
Если в драйвере Меркурия нет возможности печати произвольных строк, то нужен совет - как это всё таки можно реализовать. потому как заказчику требуется два чека, но что бы не задваивалась сумма итога и что бы печатать только услуги из определённой секции - необходимо создать документ - "копия" чека.
Так - не смешно?
По Вашему - надо в кавычки заключать слово КОПИЯ?
Или вы не въехали в суть вопроса?
========================
Специально - для Вас:
Как сделать копию чека - строками.
Так как это реализовано в драйвере ШТРИХа?
Если в драйвере Меркурия нет возможности печати произвольных строк, то нужен совет - как это всё таки можно реализовать. потому как заказчику требуется два чека, но что бы не задваивалась сумма итога и что бы печатать только услуги из определённой секции - необходимо создать документ - "копия" чека.
Так - не смешно?
Re: Применение в своих программах DrvMercFR.dll
И почему нельзя добавить функцию вывод на печать произвольной строки???
==============
тогда и заголовок чека - можно было из верхнего По писать не заботясь о том, сто строк не хватит и в конце чека то же и вообще ЧПМ стала бы более функциональной и применение ей можно было бы найти более широкое.
Как принтер использовать - параллельно с основным её видом деятельности :D
Добавлять в чек комментарии и прочее прочее.
Для реализации данной функции - не требуется много усилий.
несколько строк кода - тестирование и выложить новую версию.
Хотя, конечно это ИХМО.
Пасатецкий меня бы поддержал :D
==============
тогда и заголовок чека - можно было из верхнего По писать не заботясь о том, сто строк не хватит и в конце чека то же и вообще ЧПМ стала бы более функциональной и применение ей можно было бы найти более широкое.
Как принтер использовать - параллельно с основным её видом деятельности :D
Добавлять в чек комментарии и прочее прочее.
Для реализации данной функции - не требуется много усилий.
несколько строк кода - тестирование и выложить новую версию.
Хотя, конечно это ИХМО.
Пасатецкий меня бы поддержал :D
Re: Применение в своих программах DrvMercFR.dll
https://forum.incotexkkm.ru/viewtopic.php?f=7&t=18 - здесь надеюсь Вы найдете ответы на некоторые вопросы, в том числе и по поводу печати произвольного текста.
- Briarius
- Сотрудник Инкотекс
- Сообщения: 386
- Зарегистрирован: 17 май 2011, 17:37
- Контактная информация:
Re: Применение в своих программах DrvMercFR.dll
1) Потому что есть есть требования закона к ККМ. Если просто печатать строки через кассу, то это уже не касса, а принтер, с помощью которого у некоторых граждан возникает желание печатать чеки, которые не проводятся по кассе. В идеальном случае ФР или касса имеют функционал, позволяющий предупредить возможные злоупотребления при печати текстовой информации. Поэтому, чтобы реализовать адекватную печать произвольного текста в 130-х, необходимо вводить соответствующие механизмы логирования и учета распечатанного текста. Для текущей версии прошивки такая задача не так проста, как кажется на первый взгляд и к тому же уже банально не хватает памяти процессора для дополнительного кода прошивки. Плюс везде и всегда сообщалось и сообщается, что режим ФР в кассе реализован в весьма упрощенном варианте, иначе какой смысл будет в производстве ФР, как отдельного класса устройств.час писал(а):И почему нельзя добавить функцию вывод на печать произвольной строки???
2) Копия чека может печататься средствами кассы и это действительно копия чека, а не его выдержки. При этом в регистры кассы из копии ничего не попадает, а считается лишь количество копий. Есть ли функция в dll, может подсказать Shtirlic.
Re: Применение в своих программах DrvMercFR.dll
Спасибо Вам за подробный ответ!
Но у шртиха сей рогатины нет
Там я пишу без преград - что хочу
Тексты любые из строк ворочу
Только вот признак фискальный иль нет
Тут уж конечно поставлен запрет
Три друг на друге проставить черты
В кассе не сможем ни я и не ты....
Но у шртиха сей рогатины нет
Там я пишу без преград - что хочу
Тексты любые из строк ворочу
Только вот признак фискальный иль нет
Тут уж конечно поставлен запрет
Три друг на друге проставить черты
В кассе не сможем ни я и не ты....
Re: Применение в своих программах DrvMercFR.dll
Код: Выделить всё
Плюс везде и всегда сообщалось и сообщается, что режим ФР в кассе реализован в весьма упрощенном варианте, иначе какой смысл будет в производстве ФР, как отдельного класса устройств.
Она должна просто печатать чеки с необходимыми по законодательству реквизитами в них.
То есть достаточно иметь одну функцию - печать строки.
С вводимыми параметрами в эту строку(Цена, колич. отдел, наимен. товара)/
И два варианта печати чека - с фискальным признаком и без оного.
То есть не на каждую строку ограничение а на итог чека.
Если чек фискальный, то все строки его попадают в регистры, а если нет - то это произвольный текст.
Кстати есть функции - от которых можно отказаться. А на освободившемся месте разместить. Необходимые строки кода.
Re: Применение в своих программах DrvMercFR.dll
Код: Выделить всё
'ECR.Password = "30"
'
''ECR.StringForPrinting = "ККМ " & Format(ECR.SerialNumber, "00000000") & " ИНН " & ECR.INN & " #" '
''ECR.PrintString '29
''ECR.StringForPrinting = Date & " " & Time & " " & GLB_USER_NAME '
''ECR.PrintString '30
''ECR.StringForPrinting = "----------------------------------------"
''ECR.PrintString '9
''ECR.StringForPrinting = " Услуги Автомойки."
''ECR.PrintString
'ECR.StringForPrinting = "----------------------------------------"
'ECR.PrintString '9
'ECR.StringForPrinting = " Регистрационный номер автомобиля"
'ECR.PrintString '8
'ECR.StringForPrinting = " "
'ECR.PrintString '8
'ECR.FontType = 2
'ECR.StringForPrinting = " " & GLB_REG_NUMBER_AVTO
'ECR.PrintStringWithFont
'ECR.StringForPrinting = " " 'ECR.FeedDocument ' продвинуть документ
'ECR.PrintString '20
'ECR.StringForPrinting = "(" & GLB_CLASS & ")"
'ECR.PrintString '10
'ECR.StringForPrinting = "----------------------------------------"
'ECR.PrintString '9
Делаю два "чека" один для клиента, а второй для внутреннего учёта и на случай разборок и недоразумений.
Но второй чек он не похож на первый и фискальный признак в нём отсутствует. то есть это не чек... а распечатанный текст.
Re: Применение в своих программах DrvMercFR.dll
Да действительно сильно (про стих)!
У шриха то Вы фискальник сравниваете с ККМ Инкотекса в которой есть некоторая поддержка ФР режима, в этом случае более корректно рассмотреть фискальник Инкотекса, там можно и произвольные строки печатать, только как по закону и положено это все фиксируется в фискальной памяти.
У шриха то Вы фискальник сравниваете с ККМ Инкотекса в которой есть некоторая поддержка ФР режима, в этом случае более корректно рассмотреть фискальник Инкотекса, там можно и произвольные строки печатать, только как по закону и положено это все фиксируется в фискальной памяти.