Создать приложение Yahoo погода, с панелью поиска Примеры: http://win7gadgets.com/search/ В отклике указывайте примерные сроки и цену
Rkeeper разработка DLL библиотеки для связи с другой системой лояльнос
Добрый день
Имеется софт UCS R-keeper.К нему подключаем CRM внешнюю систему лояльности. Соединение систем проходит через через ретранслятор Farcards, для которого пишется DLL.(Функции: начисление,списание, баланс). Dll-ку написали по инструкции.Баланс работает, а начисление, списание нет. Нужно отредактировать код до рабочего состояния.
DLL, эмулирующая работу сервера персональных карт для касс.DLL должна предоставить функции:
----------------------------------------------------------------------
function GetCardInfoL( Card: Int64; Restaurant, UnitNo: DWORD; Info: Pointer ): Integer; stdcall;
возвращает информацию о карте
входные параметры:
Card - номер карты
Restaurant - код ресторана
UnitNo - номер кассы
Info - адрес структуры, которую функция должна заполнить
если карта существует
результат
0 - без ошибок, структура Info заполнена
1 - карта не существует
Структура, на которую указывает Info:
Word размер структуры = 644 байт (это поле заполнено при вызове)
Byte Карта существовала, но была удалена
0 - нет, и сейчас есть
1 - да, удалена
Byte Карту надо изъять
0 - нет
1 - да
Byte Истек срок действия
0 - нет
1 - да
Byte Сейчас карта не действует
0 - нет, действует
1 - да, не действует
Byte Нужно ли подтверждение менеджера
0 - не нужно
1 - нужно
Word номер скидки
Int64 сумма, доступная для оплаты счета, в копейках
40 байт Asciiz строка - имя владельца карты
Word номер бонуса
Byte Карта заблокирована
0 - нет
1 - да
256 байт Asciiz строка - причина блокировки карты - будет показана на кассе
Int64 предельная сумма скидки, в копейках
DWORD тип неплательщика
256 байт Asciiz строка - произвольная информация о карте
Int64 сумма на карточном счете N 2, в копейках
Int64 сумма на карточном счете N 3, в копейках
Int64 сумма на карточном счете N 4, в копейках
Int64 сумма на карточном счете N 5, в копейках
DWORD Номер счета - именно он будет передан в остальные функции
Int64 сумма на карточном счете N 6, в копейках
Int64 сумма на карточном счете N 7, в копейках
Int64 сумма на карточном счете N 8, в копейках
-----------------------------------------------------------------------
function TransactionL( Account: DWORD; Info: Pointer ): Integer; stdcall;
проводит транзакцию для карты
входные параметры:
Account - номер счета
Info - адрес структуры, содержащей информацию о транзакции
результат
0 - без ошибок
1 - транзакция не проведена
Структура, на которую указывает Info:
Word размер структуры = 104 байт
Byte Тип транзакции
0 - платеж (снятие денег со счета)
1 - скидка
2 - бонус (начисление денег на счет)
3 - потраты гостя (сколько заплатил своих денег)
Int64 сумма, в копейках,
для типа 0 (платеж):
оплата снятием денег с карты - отрицательная сумма,
отмена оплаты - положительная сумма;
для типа 1 (скидка):
скидка клиенту - отрицательная сумма,
отмена скидки - положительная сумма;
для типа 2 (бонус):
клиенту начисляется бонус - положительная сумма,
отмена бонуса - отрицательная сумма;
для типа 3 (потраты):
клиент заплатил - положительная сумма,
отмена чека - отрицательная сумма;
Word код ресторана
DWORD кассовая дата ( 0 -> 30/12/1899 )
Byte номер кассы
Word резервное поле
далее информация о НДС по налогам A B C D
Int64 сумма с налогом A
Word размер налога A в процентах * 100 (1500 -> 15.00%)
Int64 сумма с налогом B
Word размер налога B в процентах * 100
Int64 сумма с налогом C
Word размер налога C в процентах * 100
Int64 сумма с налогом D
Word размер налога D в процентах * 100
Int64 сумма с налогом E
Word размер налога E в процентах * 100
Int64 сумма с налогом F
Word размер налога F в процентах * 100
Int64 сумма с налогом G
Word размер налога G в процентах * 100
Int64 сумма с налогом H
Word размер налога H в процентах * 100
DWORD номер чека
-----------------------------------------------------------------------
Необязательная функция
function GetCardImageL( Account: DWORD; Info: Pointer ): Integer; stdcall;
Возвращает файл с картинкой для карты, например фотографию владельца
или его подпись.
Тип изображения - BMP, JPEG, GIF.
Кол-во пикселов - до 64000, если больше - будет промасштабировано.
входные параметры:
Account - номер счета
Info - адрес структуры, которую функция должна заполнить
результат
0 - без ошибок
1 - нет счета либо нет картинки
Структура, на которую указывает Info:
Word размер структуры = 258 байт
256 байт Asciiz строка - имя файла с картинкой
-----------------------------------------------------------------------
Необязательная функция
function GetCardMessageL( Account: DWORD; Info: Pointer ): Integer; stdcall;
Возвращает сообщение, которое будет показано на экране кассы.
входные параметры:
Account - номер счета
Info - адрес структуры, которую функция должна заполнить
результат
0 - без ошибок
1 - счет не существует
Структура, на которую указывает Info:
Word размер структуры = 259 байт
256 байт Asciiz строка - сообщение
Byte ставить 0
-----------------------------------------------------------------------
Необязательная функция
function GetDiscLevelInfoL( Account: DWORD; Info: Pointer ): Integer; stdcall;
возвращает информацию о текущем дисконтном уровне карты
входные параметры:
Account - номер счета
Info - адрес структуры, которую функция должна заполнить если карта существует
результат
0 - без ошибок, структура Info заполнена
1 - cчет не существует
Структура, на которую указывает Info:
Word размер структуры = 90 байт (это поле заполнено при вызове)
40 байт Asciiz строка - название текущего дисконтного уровня.
40 байт Asciiz строка - название cледующего дисконтного уровня.
Int64 сумма, необходимая для перехода на следующий уровень
-----------------------------------------------------------------------
Необязательная функция
function CheckInfoL( Account: DWORD; Info: Pointer; Size: DWORD ): Integer; stdcall;
Касса сообщает информацию о закрытом чеке. Формат - XML.
входные параметры:
Account - номер счета
Info - буфер, в котором лежит информация о чеке
Size - длина информации
результат
0 - без ошибок
1 - cчет не существует
-----------------------------------------------------------------------
Необязательная функция
procedure FindCardsL( FindText: PAnsiChar; CBFind: Pointer; Back: Pointer ); stdcall;
Поиск счетов по подстроке.
Для каждого найденного счета DLL должна вызывать call-back функцию CBFind().
Первым параметром в ней DLL должна передать Back.
Card и Holder - информация из найденного счета.
Тип функции CBFind:
procedure CBFind( Back: Pointer; Account: DWORD; Card: Int64; Holder: PAnsiChar ); stdcall;
-----------------------------------------------------------------------
Необязательная функция
function GetCardMessage2L( Account: DWORD; Info: Pointer ): Integer; stdcall;
Возвращает сообщение, которое будет распечатано на кассе.
Параметры такие же, как у функции GetCardMessageL.
-----------------------------------------------------------------------
Необязательная функция
function TransactionPacketL( Count: Integer; List: Pointer ): Integer; stdcall;
проводит несколько транзакций за один раз.
входные параметры:
Count - количество транзакций в списке
List - адрес списка транзакций, каждый элемент этого списка такой:
Account DWORD номер счета
Info Pointer такая же, как в функции TransactionL
результат
0 - все транзакции проведены
1 - ни одна транзакция не проведена
частичного выполнения быть не должно - либо все проходят, либо ни одна!
----------------------------------------------------------------------
Необязательная функция
procedure AnyInfo( InpBuf: Pointer; InpLen: Integer; var OutBuf: Pointer; var OutLen: Integer ); stdcall;
Обмен произвольной информацией
InpBuf - информация от кассы
InpLen - длина информации от кассы
OutBuf - ответная информация
OutLen - длина ответной информации
----------------------------------------------------------------------
Необязательная функция
function FindEmail( Email: PAnsiChar; Info: Pointer ): Integer; stdcall;
Поиск счета по e-mail.
входные параметры:
Email - искомый e-mail
Info - адрес структуры, которую функция должна заполнить, если счет найден
результат
0 - без ошибок, структура Info заполнена
1 - cчет не существует
Структура, на которую указывает Info:
Word размер структуры = 54 байт (это поле заполнено при вызове)
DWORD Номер счета
Int64 Номер карты
40 байт Asciiz строка - имя владельца карты
----------------------------------------------------------------------
Дополнительно можно предоставить процедуры:
procedure Init; - вызовется после загрузки DLL
procedure Done; - вызовется перед выгрузкой DLL
=====================================================================
Заявки фрилансеров
Похожие заказы
- Системное программирование1 исполнительЗавершен5 лет назад
Необходимо настроить web сервер на debian 10 (x32) согласно требованиям ниже и поднять DNS сервер. Желательно установить панельку ajenti. Доступ даем через teamviewer. Apache (рекомендуется) – разработка продукта ...
Системное программированиенет заявокЗакрыт5 лет назадПрисылайте варианты файлы для которых надо создать защиту прикреплены
Системное программированиенет заявокЗакрыт5 лет назадНастройка рассылки на sendpulse или на другом сервисе (под ключ). Отправка 30 000 писем в месяц (по нашей базе) Есть Базы и с 2 ГИС. Будет использоваться один шаблон для отправки. Меняться будет только ...
Системное программирование2 заявкиЗакрыт5 лет назад- $5
Калькулятор соотношения дельт колебаний цен за различные временные интервалы.
Системное программирование8 заявокЗакрыт5 лет назад - $500
Есть проект на C++ под Windows 10 с исходными кодами и сборкой. Для этого проекта требуется собрать отдельную библиотеку (кодек) и интегрировать в проект. Время на изучение проекта и исследование оплачивается. Пишите ...
Системное программирование3 заявкиЗакрыт5 лет назад Есть программа для отслеживания букмекерских ставок, https://theforks.ru .. ( Можно ли поковырять исходный код что бы копировать результаты в буфер обмена..? (скинул скрин) Скачать для теста можно тут.. https://theforks.ru/User
Системное программирование2 заявкиЗакрыт5 лет назад- $150
Необходимо создать инсталляционный образ десктопной ОС Linux, который должен успешно ставиться на любые ПК, в том числе старые (от 1 ГБ ОЗУ). При установке ОС должен ставиться софт киоска. Киоск основан на lxde и ...
Системное программирование2 заявкиЗакрыт5 лет назад - $300
Настроить подмену tcp ip os fingerprint на ос Ubuntu Server 16.04 (с Linux 3.11 or newer / Linux 2.2.x-3.x на Windows NT). Предпочтительно средствами iptables (nfqueue и т.п.), а не sysctl. На сервере установлен прокси-сервер ...
Системное программирование1 заявкаЗакрыт5 лет назад Необходимо сопровождение и дальнейшая развитие системы документооборота реализованного под MS SharePoint 2013. Проект находится в эксплуатации больше 9 лет, постоянно эволюционно дорабатывается и развивается, необходимо на данный момент принять дела у разработчика и сопровождать проект ...
Системное программирование1 заявкаЗакрыт5 лет назад