ssvonthenet
Junior Member / Новичок
Участник № / Member № 6310
отправлено / posted
Добрый день, Имеется следующая схема. Считыватель подключенный через USB(com3). Графический экран и база данных. При подносе пропуска к считывателю, происходит считывание идентификатора, затем возвращается значение no card. Как реализовать запись ID карты в базу данных по событию считывания. Если ставить запись в "цикл CALC" то значения карты не всегда записываются в базу, причем значения карты отображаются на дисплее. Буду очень признателен за помощь.
как бы можно было это сделать - "Threading.Thread.Sleep(time)", но я не сильно силен в Trace Mode.
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Надо программным путем обрабатывать значение канала, который принимает штрих-код. При Параметр1 = 0 – значение канала увеличивается на 1. Программа должна проверять значение канала и при регистрации его увеличения запускать CALL.SQL, осуществляющий запись кода в БД. Период выполнения программы желательно задать равным 1 с., чтобы обеспечить запись в БД без прерывания.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ssvonthenet
Junior Member / Новичок
Участник № / Member № 6310
отправлено / posted
Как указать увеличение канала на 1? Параметр1 это видимо как раз тот параметр который увеличивается на 1?
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Если Параметр4 = 0 или 1 и шаблон привязан к числовому каналу, считанный код записывается как строка в атрибут (47, iDstr) канала (до 60 байт). В случае успешного считывания, значение канала изменяется в зависимости от атрибута Параметр1 (95, C2): если Параметр1 = 0 – увеличивается на 1.
Т.е. необходимо считывать значение канала (атр. 0 - Реальное значение) программно и при каждом его изменении (в данном случае на 1 при каждом успешном считывании) запускать CALL.SQL, осуществляющий запись кода в БД.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ssvonthenet
Junior Member / Новичок
Участник № / Member № 6310
отправлено / posted
Если параметр1 = 0, то я не получаю никаких данных со считывателя. Если параметр1=1, то я получаю два значения последовательно, 1 - номер карты, 2 - нет карты. Я это вижу на ГЭ каждый раз когда подношу карту. Можно ли это считать событием? Если я тип данных ставлю число, то я вижу при каждом прикосновении число увеличивающееся на 2(номер карты, нет карты). И мне нужно чтобы 100% эти данные были записаны в базу. Можно ли это сделать на языке ST? но тогда как будет выглядеть запрос? Или может быть е сть функционал который это позволяет сделать.
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
/* IF Параметр_1 = /*Необходимое условие*/ THEN Запись_в_базу = 1; END_IF; */
Где "Запись_в_базу" - Аргумент программы типа OUT привязанный к входному значению канала Связь_с_СУБД. 1 - номер выполняемого запроса.
Сообщения / Posts 112 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ssvonthenet
Junior Member / Новичок
Участник № / Member № 6310
отправлено / posted
Уважаемый Денис, Не могли бы вы подсказать как сделать условие? Или где можно про это прочитать? Уже 2 дня не могу ничего с этим сделать.(Не программист )
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Судя по результатам Вашего эксперимента, протокол, поддерживаемый Вашим считывателем карт, не соответствует стандартным протоколам считывания штрих-кодов и магнитных носителей, на которые рассчитан драйвер? поставляемый в Trace Mode 6.
В связи с этим проблема организации работы с указанным устройством выходит за рамки Trace Mode 6.