基本信息
源码名称:身份证号导入工具
源码大小:13.77M
文件格式:.rar
开发语言:C/C++
更新时间:2021-08-14
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元×
微信扫码支付:3 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
手动录入身份证号,或从读卡器读取信息录入到数据库,便于做白名单等处理
void CCardReader_XZX::run()
{
m_port = Syn_FindReader();
QString currentPath = QGuiApplication::applicationDirPath() "/dataBase/ID_Photos/";
QDir dir;
if (!dir.exists(currentPath))
{
if (!dir.mkpath(currentPath))
return;
}
QByteArray curPath= currentPath.toLatin1();
//设置照片路径 iOption 路径选项 0=C: 1=当前路径 2=指定路径
//cPhotoPath 绝对路径,仅在iOption=2时有效
Syn_SetPhotoPath(2, curPath.data());
Syn_SetPhotoType(1); //0 = bmp ,1 = jpg , 2 = base64 , 3 = WLT ,4 = 不生成
Syn_SetPhotoName(2); // 生成照片文件名 0=tmp 1=姓名 2=身份证号 3=姓名_身份证号
Syn_SetSexType(1); // 0=卡中存储的数据 1=解释之后的数据,男、女、未知
Syn_SetNationType(1);// 0=卡中存储的数据 1=解释之后的数据 2=解释之后加"族"
int openRet = Syn_OpenPort(m_port);//open card reader
if(openRet != 0)
{
qDebug() << "打开读卡器失败...";
sendMessage("打开读卡器失败!");
return;
}
else
sendMessage("打开读卡器成功!");
setReadState(true);
changReadState(true);
while(m_ReadState)
{
//每次都重新打开身份证读卡器,避免身份证插拔后打开失败
openRet = Syn_OpenPort(m_port);//open card reader
if(openRet != 0)
{
msleep(100);
continue;
}
bool flag = ValidateCard();
if (!flag)
{
msleep(200);
continue;
};
IDInfo m_idi;
//读取身份证信息
IDCardData info;
char szPath[_MAX_PATH]={0};
int ret = Syn_ReadMsg( m_port, 0, &info );
// int ret = Syn_ReadFPMsg( m_port , 0 , &info , szPath);
if(ret==0)
{
m_idi.strID=QString::fromLocal8Bit(info.IDCardNo).trimmed();
m_idi.strName=QString::fromLocal8Bit(info.Name).trimmed();
m_idi.strSex=QString::fromLocal8Bit(info.Sex).trimmed();
m_idi.strNation=QString::fromLocal8Bit(info.Nation).trimmed();
m_idi.strBirthday=QString::fromLocal8Bit(info.Born).trimmed();
m_idi.strAddress=QString::fromLocal8Bit(info.Address).trimmed();
m_idi.strStartDate=QString::fromLocal8Bit(info.UserLifeBegin).trimmed();
m_idi.strEndDate=QString::fromLocal8Bit(info.UserLifeEnd).trimmed();
m_idi.strDepartment=QString::fromLocal8Bit(info.GrantDept).trimmed();
m_idi.strPhotoFile=QString::fromLocal8Bit(info.PhotoFileName).trimmed();
QVariant DataVar;
DataVar.setValue(m_idi);
emit sendCardInfo(DataVar);
emit sendMessage("读卡成功!");
}
Syn_ClosePort(m_port);
msleep(200);
}
}
手动录入身份证号,或从读卡器读取信息录入到数据库,便于做白名单等处理
void CCardReader_XZX::run()
{
m_port = Syn_FindReader();
QString currentPath = QGuiApplication::applicationDirPath() "/dataBase/ID_Photos/";
QDir dir;
if (!dir.exists(currentPath))
{
if (!dir.mkpath(currentPath))
return;
}
QByteArray curPath= currentPath.toLatin1();
//设置照片路径 iOption 路径选项 0=C: 1=当前路径 2=指定路径
//cPhotoPath 绝对路径,仅在iOption=2时有效
Syn_SetPhotoPath(2, curPath.data());
Syn_SetPhotoType(1); //0 = bmp ,1 = jpg , 2 = base64 , 3 = WLT ,4 = 不生成
Syn_SetPhotoName(2); // 生成照片文件名 0=tmp 1=姓名 2=身份证号 3=姓名_身份证号
Syn_SetSexType(1); // 0=卡中存储的数据 1=解释之后的数据,男、女、未知
Syn_SetNationType(1);// 0=卡中存储的数据 1=解释之后的数据 2=解释之后加"族"
int openRet = Syn_OpenPort(m_port);//open card reader
if(openRet != 0)
{
qDebug() << "打开读卡器失败...";
sendMessage("打开读卡器失败!");
return;
}
else
sendMessage("打开读卡器成功!");
setReadState(true);
changReadState(true);
while(m_ReadState)
{
//每次都重新打开身份证读卡器,避免身份证插拔后打开失败
openRet = Syn_OpenPort(m_port);//open card reader
if(openRet != 0)
{
msleep(100);
continue;
}
bool flag = ValidateCard();
if (!flag)
{
msleep(200);
continue;
};
IDInfo m_idi;
//读取身份证信息
IDCardData info;
char szPath[_MAX_PATH]={0};
int ret = Syn_ReadMsg( m_port, 0, &info );
// int ret = Syn_ReadFPMsg( m_port , 0 , &info , szPath);
if(ret==0)
{
m_idi.strID=QString::fromLocal8Bit(info.IDCardNo).trimmed();
m_idi.strName=QString::fromLocal8Bit(info.Name).trimmed();
m_idi.strSex=QString::fromLocal8Bit(info.Sex).trimmed();
m_idi.strNation=QString::fromLocal8Bit(info.Nation).trimmed();
m_idi.strBirthday=QString::fromLocal8Bit(info.Born).trimmed();
m_idi.strAddress=QString::fromLocal8Bit(info.Address).trimmed();
m_idi.strStartDate=QString::fromLocal8Bit(info.UserLifeBegin).trimmed();
m_idi.strEndDate=QString::fromLocal8Bit(info.UserLifeEnd).trimmed();
m_idi.strDepartment=QString::fromLocal8Bit(info.GrantDept).trimmed();
m_idi.strPhotoFile=QString::fromLocal8Bit(info.PhotoFileName).trimmed();
QVariant DataVar;
DataVar.setValue(m_idi);
emit sendCardInfo(DataVar);
emit sendMessage("读卡成功!");
}
Syn_ClosePort(m_port);
msleep(200);
}
}