//按钮被单击的事件,建立一个输入框EDIT1和一个标签LABEL1以及一个按钮BUTTON1
void __fastcall TForm1::Button1Click(Tobject *Sender)
{
AnsiString a,b,c,d,f;
AnsiString EditText = Edit1->Text;
int e;
e=StrLen(EditText.c_str());
if (e==18)
{
Edit1->SelStart=6;
Edit1->SelLength=4;
a=Edit1->SelText;
Edit1->SelStart=10;
Edit1->SelLength=2;
b=Edit1->SelText;
Edit1->SelStart=12;
Edit1->SelLength=2;
c=Edit1->SelText;
Edit1->SelStart=16;
Edit1->SelLength=1;
d=Edit1->SelText;
if((StrToInt(d)%2)==1)
{
f="男";
}
else
{
f="女";
}
Label1->Caption="您是"+a+"年"+b+"月"+c+"日生人!"+f+"性!"+Trim(IntToStr(e))+"位证号!";
return;
}
if (e==15)
{
Edit1->SelStart=6;
Edit1->SelLength=2;
a="19"+Edit1->SelText;
Edit1->SelStart=8;
Edit1->SelLength=2;
b=Edit1->SelText;
Edit1->SelStart=10;
Edit1->SelLength=2;
c=Edit1->SelText;
Edit1->SelStart=14;
Edit1->SelLength=1;
d=Edit1->SelText;
if((StrToInt(d)%2)==1)
{
f="男";
}
else
{
f="女";
}
Label1->Caption="您是"+a+"年"+b+"月"+c+"日生人!"+f+"性!"+Trim(IntToStr(e))+"位证号!";
return;
}
ShowMessage("输入的身份证号不正确!");
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991249/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-991249/
本文介绍了一个使用BCB编写的身份证号码识别程序。该程序能够解析15位和18位身份证号,并从中提取出生日期及性别信息。具体实现包括读取身份证号、判断位数合法性并进行相应解析。

被折叠的 条评论
为什么被折叠?



