![]() |
![]() |
![]() |
|
Не могу записать карту rfid | ☑ | ||
---|---|---|---|---|
0
babiy
18.06.12
✎
18:06
|
Здраствуйте. Использую для записи "Нетленку". Нужно карточку записать массив данных (имя, фамилию и т. д.). ВОт пример кода записи:
Процедура ОтправитьНажатие(Элемент) МассивКодовСимволов=Новый Массив; //Простой массив //МассивКодовСимволов.Добавить(СтрДлина(МойТекст)); // в конец массива записываем его длину (максимум 65535 символов, ибо смотрим ниже ) Для i=1 По СтрДлина(Команда) Цикл //По всем символам массива МассивКодовСимволов.Добавить(КодСимвола(Команда,i)); //Получаем код символа (это Unicode16, но команда будет даваться в латинице, поэтому 1 байт на символ!!!!) и записываем его в массив КонецЦикла; Если МассивКодовСимволов.Количество()>0 Тогда МассивКодовСимволов.Добавить(13); МассивКодовСимволов.Добавить(10); БезопасныйМассив=Новый COMSafeArray(МассивКодовСимволов,"VT_UI1"); //А ниже мы создаем безопасный вектор (одномерный массив), каждый элемент которого - 1 байт, а конкретней беззнаковое целое. Вообще массив может содержать только беззнаковые целые 1,2,4,8 байт Объект.ОтправитьДанные(БезопасныйМассив); //Отправляем массив на запись КонецЕсли; КонецПроцедуры И значения Объект.ОтправитьДанные(БезопасныйМассив) возвращает 0. Я так понимаю это означает что запись = ложь. В чем может быть проблема? Исходников к библиотеки нету( |
|||
1
DitriX
18.06.12
✎
20:02
|
ну для начала указать ту самую библиотеку :) ну и принтер, с которого идет запись
|
|||
2
babiy
19.06.12
✎
11:50
|
Библиотеку подключил
Процедура ПриНачалеРаботыСистемы() Попытка ЗагрузитьВнешнююКомпоненту("V8ADD.dll"); Сообщить ("Компонента загружена"); Исключение Сообщить ("Компонента не загружена"); КонецПопытки; КонецПроцедуры Объект=Новый ("Addin.ComPort"); Чтения с картки есть. Может проблема с командой? вот список команд из документации: 5. Список команд для каждого режима. Mode1. C_WriteObjectName 0x8A // write object name (card prepare) C_ReadObjectName 0x96 // read object name C_WriteDiscount 0xA4 // write discount value C_ReadDiscount 0xA6 // read discount value Mode2. C_WriteSurname 0x80 // write user surname C_WriteName 0x82 // write user name C_WritePatronymic 0x84 // write user patronymic C_WriteDataArrival 0x86 // write data of arrival C_WriteDayValue 0x88 // write number of visit days C_IncrementDayValue 0xA2 // increment of visit days C_ReadObjectName 0x96 // read object name C_ReadSurname 0x8C // read user surname C_ReadName 0x8E // read user name C_ReadPatronymic 0x90 // read user patronymic C_ReadDataArrival 0x92 // read data of arrival C_ReadDayValue 0x94 // read number of visit day C_ReadDiscount 0xA6 // read discount value C_ReadAbsActCounter 0x98 // read absolute counter of activations C_ReadAbsDayCounter 0x9A // read absolute counter of visit days C_ReadSeasonActCounter 0x9C // read season counter of activations C_ReadSeasonDayCounter 0x9E // read season counter of visit days C_ClearSeasonCounters 0xA0 // clear season counters Mode3. C_ReadObjectName 0x96 // read object name C_ReadSurname 0x8C // read user surname C_ReadName 0x8E // read user name C_ReadPatronymic 0x90 // read user patronymic C_ReadDataArrival 0x92 // read data of arrival C_ReadDayValue 0x94 // read number of visit day C_ReadDiscount 0xA6 // read discount value Как отправлять команду на оборудования и в какой кодировки (ascii, unicode )? |
|||
3
Базис
naïve
19.06.12
✎
11:53
|
А оборудование-то какое? А карта? Они бывает только для чтения, дешёвые варианты именно такие. В этом случае читают ид карты и хранят у себя соответствие этого ид всему тому, что вы хотите знать про эту карту. А ещё ид карты можно подменить...
|
|||
4
Базис
naïve
19.06.12
✎
11:57
|
Юникод в ШК, 417, rfid etc не использовался и не будет. Память дорогая, чайников к обоудованию стараются не пускать, поэтому 1Кб хватит для всего :)
|
|||
5
babiy
19.06.12
✎
12:03
|
Оборудованния от МАІТЕК и Мегамолл... На картку можна записать.
Карта хранит следующую информацию: - наименование объекта, где используются считыватели, 16 байт; - ФИО гостя, по 16 байт на фамилию, имя и отчество, 48 байт; - дата приезда в формате число, месяц, год, часы, минуты, чч мм гг чч мм, 10 байт; - количество дней пребывания, 4 байт; - наличие скидок, 48 категорий, на каждую категорию скидка значением 0..255, 48 байт; На делфи написали прогу для записи, а мне нужно на 1С. Но я незнаю сам принцып записи. Нужно отправлять команду на оборудовання или просто строку на ком порт? |
|||
6
babiy
19.06.12
✎
12:04
|
Может есть у кавото быблыотеку и обработка для записи?
|
|||
7
babiy
19.06.12
✎
12:14
|
или как дать команду на оборудования?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |