Re: Нужна помощь в С++/Python
16.02.2011 22:04, Dmitry A. Zhiglov пишет: 16 февраля 2011 г. 20:53 пользователь Фролов Александр написал: 15.02.2011 16:10, Korona Auto Ltd./ Andrey N. Prokofiev пишет: обренуть чтение в цикл и добавить парсинг структуры/обработку ошибок. в общем-то это и есть цель, то, что требуется Д BS_LOGDATA buf; unsigned int len = 0; unsigned int i = 0; while( (len = read(fd, &buf, sizeof(BS_LOGDATA))) == sizeof(BS_LOGDATA) ) { i++; printf("=== %i ===\n", i); printf("addr: %i\nevent: 0x%x\nstatus: 0x%x\nsource: %i\ntime: %u.%u.%u %u:%u:%u\nUID: %i\n\n", buf.Addr, buf.Event, buf.status, buf.source, buf.time.wDay, buf.time.wMonth, buf.time.wYear, buf.time.wHour, buf.time.wMinute, buf.time.wSecond, buf.UserID); } close(fd); -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4d5c4a92.4060...@yandex.ru
Re: Нужна помощь в С++/Python
16 февраля 2011 г. 20:53 пользователь Фролов Александр написал: > 15.02.2011 16:10, Korona Auto Ltd./ Andrey N. Prokofiev пишет: > > обренуть чтение в цикл и добавить парсинг структуры/обработку ошибок. в общем-то это и есть цель, то, что требуется Д
Re: Нужна помощь в С++/Python
15.02.2011 16:10, Korona Auto Ltd./ Andrey N. Prokofiev пишет: Товарищи, помогите! Необходимо написать программу для чтения бинарного файла под linux. Структура файла описана в test.cpp. Сам файл - file.bsm Конечная цель - запись данных в СУБД. Программу можно написать как на С++, так и на python. Был бы крайне признателен за кусок кода, описывающий пример работы (чтение данных) с этим файлом. Заранее благодарю! -- WBR, Andrey N. Prokofiev IT department of the Korona Auto Ltd. Jabber ID: a...@korona-auto.com E-mail: a...@korona-auto.com Work Phone: +7-812-645-36-16 (ext. 100) // По инфе из msdn typedef unsigned long DWORD; typedef unsigned char BYTE; typedef struct _SYSTEMTIME { } SYSTEMTIME; typedef enum { }BS_LOG_EVENT ; typedef enum { }BS_MOD_STATUS; typedef struct { } BS_LOGDATA; int fd; fd = open("file.bsm", O_RDONLY); if(fd == -1) { return -1; } BS_LOGDATA buf; unsigned int len; len = read(fd, &buf, sizeof(BS_LOGDATA)); if( len == sizeof(BS_LOGDATA) ) { //всё пучком прочиталось можно парсить структуру } else { //файлик кончился ну или что-то не то произошло } обренуть чтение в цикл и добавить парсинг структуры/обработку ошибок. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4d5c0f37.2050...@yandex.ru
Re: Нужна помощь в С++/Python
15 февраля 2011 г. 16:10 пользователь Korona Auto Ltd./ Andrey N. Prokofiev написал: > Товарищи, помогите! Необходимо написать программу для чтения бинарного файла > под linux. Структура файла описана в test.cpp. Сам файл - file.bsm > Конечная цель - запись данных в СУБД. > > Программу можно написать как на С++, так и на python. > > Был бы крайне признателен за кусок кода, описывающий пример работы (чтение > данных) с этим файлом. > > Заранее благодарю! Могу поделиться частью своей дипломной работы. Там как раз такая задача и стояла. Писалось на perl+mysql. Писалось давно. Надо под себя адаптировать и всё. Времени вспоминать и переделывать просто нет. Д
Re: Нужна помощь в С++/Python
15.02.2011 17:59, Denis Feklushkin пишет: Погуглил... Интересно, они в курсе что бывают люди вообще без пальцев? Больше скажу - сканер отпечатков полная лажа. Если палец прикладывает бабушка-божий одуванчик, то вероятность срабатывания 50/50. Качество отпечатков играет очень большую роль... -- WBR, Andrey N. Prokofiev IT department of the Korona Auto Ltd. Jabber ID: a...@korona-auto.com E-mail: a...@korona-auto.com Work Phone: +7-812-645-36-16 (ext. 100) -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4d5aa58f.9070...@korona-auto.com
Re: Нужна помощь в С++/Python
В Втр, 15/02/2011 в 16:10 +0300, Korona Auto Ltd./ Andrey N. Prokofiev пишет: > Товарищи, помогите! Необходимо написать программу для чтения бинарного > файла под linux. Структура файла описана в test.cpp. Сам файл - file.bsm > Конечная цель - запись данных в СУБД. > > Программу можно написать как на С++, так и на python. > > Был бы крайне признателен за кусок кода, описывающий пример работы > (чтение данных) с этим файлом. Задача для пятиклассника, сделают за 1000 рублей на любом фрилансерском форуме. > > Заранее благодарю! Погуглил... Интересно, они в курсе что бывают люди вообще без пальцев? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1297781997.18171.100.camel@localhost
Нужна помощь в С++/Python
Товарищи, помогите! Необходимо написать программу для чтения бинарного файла под linux. Структура файла описана в test.cpp. Сам файл - file.bsm Конечная цель - запись данных в СУБД. Программу можно написать как на С++, так и на python. Был бы крайне признателен за кусок кода, описывающий пример работы (чтение данных) с этим файлом. Заранее благодарю! -- WBR, Andrey N. Prokofiev IT department of the Korona Auto Ltd. Jabber ID: a...@korona-auto.com E-mail: a...@korona-auto.com Work Phone: +7-812-645-36-16 (ext. 100) #include typedef struct { DWORD Addr; //адÑÐµÑ ÐºÐ¾Ð½ÑÑоллеÑа - иÑÑоÑника ÑобÑÑÐ¸Ñ BS_LOG_EVENT Event; //иденÑиÑикаÑÐ¾Ñ ÑобÑÑÐ¸Ñ BS_MOD_STATUS status;//ÑÑаÑÑÑ Ð¸ÑполниÑелÑного ÑÑÑÑойÑÑва BYTE source; //ÑезеÑв=0 SYSTEMTIME time; //вÑÐµÐ¼Ñ ÑобÑÑÐ¸Ñ DWORD UserID; //ID полÑзоваÑÐµÐ»Ñ (Ð´Ð»Ñ Ð¿ÐµÑÑонализиÑованного ÑобÑÑиÑ) или 0 - Ð´Ð»Ñ Ð½ÐµÐ¿ÐµÑÑон. } BS_LOGDATA; enum BS_LOG_EVENT { BS_EV_NOT_RESPONED =0x01, //конÑÑÐ¾Ð»Ð»ÐµÑ Ð½Ðµ оÑвеÑÐ°ÐµÑ BS_EV_USER_ADD =0x17, //полÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ BS_EV_USER_ADD_FAIL =0x18, //оÑибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ BS_EV_WEIG_SCHED_ERROR=0x24, //оÑибка вÑеменного Ñежима BS_EV_WEIG_SCHED_DENIED=0x25, //оÑказ Ð²Ñ Ð¾Ð´Ð° по каÑÑе ÑоглаÑно вÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¼Ñ ÑÐµÐ¶Ð¸Ð¼Ñ BS_EV_IDENT_WEIG_LOCKED=0x26, //оÑказ Ð²Ñ Ð¾Ð´Ð° по каÑÑе (ÑоÑÑÑдник заблокиÑован) BS_EV_IDENT_WEIG_SUCCESS=0x28, //иденÑиÑикаÑÐ¸Ñ Ð¿Ð¾ каÑÑе ÑÑпеÑна BS_EV_IDENT_WEIG_FAILED=0x27, //иденÑиÑикаÑÐ¸Ñ Ð¿Ð¾ каÑÑе неÑдаÑна BS_EV_WEIG_HOL_DENIED=0x29, //оÑказ Ð²Ñ Ð¾Ð´Ð° по каÑÑе (пÑаздник) BS_EV_WEIG_HOL_LOCKED=0x30, //пÑаздник заблокиÑован BS_EV_MAGNETIC_CARD_ERROR=0x31, //оÑибка иденÑиÑикаÑии по магниÑной каÑÑе BS_EV_MAGNETIC_CARD_SUCCESS=0x32, //иденÑиÑикаÑÐ¸Ñ Ð¿Ð¾ магниÑной каÑÑе ÑÑпеÑна BS_EV_MAGNETIC_CARD_FAILED=0x33, //иденÑиÑикаÑÐ¸Ñ Ð¿Ð¾ магниÑной каÑÑе неÑдаÑна BS_EV_BAD_FINGER =0x36, //оÑпеÑаÑок низкого каÑеÑÑва BS_EV_IDENT_SUCCESS =0x37, //иденÑиÑикаÑÐ¸Ñ ÑÑпеÑна BS_EV_IDENT_FAILED =0x38, //иденÑиÑикаÑÐ¸Ñ Ð½ÐµÑдаÑна BS_EV_NOT_PASS =0x39, //пÑÐ¾Ñ Ð¾Ð´ не заÑикÑиÑован BS_EV_USER_DELETE =0x47, //полÑзоваÑÐµÐ»Ñ Ñдален BS_EV_USER_DEL_FAIL =0x48, //оÑибка пÑи Ñдалении полÑзоваÑÐµÐ»Ñ BS_EV_USER_LOCK =0x57, //полÑзоваÑÐµÐ»Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñован BS_EV_USER_LOCK_FAIL=0x58, //оÑибка пÑи блокиÑовки полÑзоваÑÐµÐ»Ñ BS_EV_IN1_SIGNALED =0x64, //Ñигнал на Ð²Ñ Ð¾Ð´-1 BS_EV_USER_UNLOCK =0x67, //полÑзоваÑÐµÐ»Ñ ÑазблокиÑован BS_EV_USER_UNLOCK_FAIL=0x68, //оÑибка ÑазблокиÑовки полÑзоваÑÐµÐ»Ñ BS_EV_SYSTEM_START =0x6A, //пеÑезапÑÑк ÑиÑÑÐµÐ¼Ñ BS_EV_TIME_SCHED_DENIED=0x6D, //оÑказано в доÑÑÑпе (вÑеменной Ñежим) BS_EV_TIME_SCHED_ERROR=0x6E, //оÑибка вÑеменного Ñежима BS_EV_HOLIDAY_DENIED=0x6F, //оÑказано в доÑÑÑпе (пÑаздник) BS_EV_IDENT_LOCKED_USER=0x70, //оÑказано в доÑÑÑпе (заблокиÑован) BS_EV_HOL_LOCKED =0x71, //оÑказано в доÑÑÑпе (пÑаздник) BS_EV_OPEN_FROM_PC =0x80, //оÑкÑÑÑ Ñ ÐÐ BS_EV_CLOSE_FROM_PC =0x81, //закÑÑÑ Ñ ÐÐ BS_EV_USER_ENTER =0x97, //Ð²Ñ Ð¾Ð´ полÑзоваÑÐµÐ»Ñ BS_EV_USER_LEAVE =0x98, //вÑÑ Ð¾Ð´ полÑзоваÑÐµÐ»Ñ BS_EV_FTR_IDENT_FAILED=0x99, //иденÑиÑикаÑÐ¸Ñ Ð¿Ð¾ ÑÑÑÑÐ¾Ð½Ð¸ÐºÑ Ð½ÐµÑдаÑна BS_EV_TAMPER_SWITCH =0xA3, //коÑпÑÑ Ð²ÑкÑÑÑ BS_EV_SET_USER_SCHED=0xB0, //вÑеменной Ñежим назнаÑен BS_EV_UNSET_USER_SCHED=0xB1, //вÑеменной Ñежим оÑменен BS_EV_BUR_NOT_CONNECT=0xB2, //оÑибка ÑвÑзи Ñ ÐУРBS_EV_TUBUS_NOT_CONNECT=0xB3, //СÐ-24 не подклÑÑен BS_EV_TUBUS_OPEN =0xB4, //ÑÑбÑÑ Ð²Ð·ÑÑ BS_EV_TUBUS_CLOSE =0xB5, //ÑÑбÑÑ Ð²Ð¾Ð·Ð²ÑаÑен BS_EV_TUBUS_OPEN_FAILED=0xB6, //ÑÑбÑÑ Ð½Ðµ взÑÑ BS_EV_TUBUS_CLOSE_FAILED=0xB7, //ÑÑбÑÑ Ð½Ðµ возвÑаÑен BS_EV_TUBUS_ADD =0xB8, //ÑÑбÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ BS_EV_TUBUS_REMOVE =0xB9, //ÑÑбÑÑ Ñдален BS_EV_SET_USER_TUBUS=0xBA, //ÑÑбÑÑ Ð½Ð°Ð·Ð½Ð°Ñен BS_EV_UNSET_USER_TUBUS=0xBC, //ÑÑбÑÑ Ð¾Ñменен BS_EV_GUARD