Re: Нужна помощь в С++/Python

2011-02-16 Пенетрантность Фролов Александр

 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

2011-02-16 Пенетрантность Dmitry A. Zhiglov
16 февраля 2011 г. 20:53 пользователь Фролов Александр
 написал:
>  15.02.2011 16:10, Korona Auto Ltd./ Andrey N. Prokofiev пишет:
>
> обренуть чтение в цикл и добавить парсинг структуры/обработку ошибок.

в общем-то это и есть цель, то, что требуется

Д


Re: Нужна помощь в С++/Python

2011-02-16 Пенетрантность Фролов Александр

 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

2011-02-16 Пенетрантность Dmitry A. Zhiglov
15 февраля 2011 г. 16:10 пользователь Korona Auto Ltd./ Andrey N.
Prokofiev  написал:
> Товарищи, помогите! Необходимо написать программу для чтения бинарного файла
> под linux. Структура файла описана в test.cpp. Сам файл - file.bsm
> Конечная цель - запись данных в СУБД.
>
> Программу можно написать как на С++, так и на python.
>
> Был бы крайне признателен за кусок кода, описывающий пример работы (чтение
> данных) с этим файлом.
>
> Заранее благодарю!

Могу поделиться частью своей дипломной работы. Там как раз такая
задача и стояла. Писалось на perl+mysql. Писалось давно. Надо под себя
адаптировать и всё. Времени вспоминать и переделывать просто нет.

Д


Re: Нужна помощь в С++/Python

2011-02-15 Пенетрантность Корона Авто ООО/ Andrey N. Prokofiev

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

2011-02-15 Пенетрантность Denis Feklushkin
В Втр, 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

2011-02-15 Пенетрантность 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)
#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