⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit2.cpp

📁 用BCB实现的一个邮政编码,身份证,手机号码查询器
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
//#include "shellapi.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
String MyPath,Constr;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  MyPath = ExtractFileDir(Application->ExeName);
  Constr ="Provider=Microsoft.Jet.OLEDB.4.0;jet OLEDB:Database Password='111111111111111111ll';Data Source="+MyPath+"\\data.mdb;Persist Security Info=False";
  ADOQuery1->ConnectionString =Constr;
  ADOQuery2->ConnectionString =Constr;
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add("SELECT * FROM DATA");
  ADOQuery1->Open();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1Click(TObject *Sender)
{
  ShellExecute(Handle, "open", "http://bluenumber.com", NULL, NULL, SW_SHOWNORMAL);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  String FindTxt,FindSql;
  if(Edit1->Text!="")
  { FindTxt ="%"+Trim(Edit1->Text)+"%";
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    FindSql ="([区号] like '"+FindTxt+"') or ([邮编] like '"+FindTxt+"') or ([县市名] like '"+FindTxt+"') or ([省名] like '"+FindTxt+"')";
    switch(ComboBox1->ItemIndex)
    {    case 2 :FindSql ="([邮编] like '"+FindTxt+"')" ; break;
         case 3 :FindSql ="([县市名] like '"+FindTxt+"')" ; break;
         case 4 :FindSql ="([省名] like '"+FindTxt+"')" ; break;
    }
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("SELECT * FROM DATA WHERE "+FindSql);
    ADOQuery1->Open();
  }
}
//---------------------------------------------------------------------------
String SFZNumberToXy(String SFZNumber)
{
const SFZXYL[18]={0,7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
long SfzXy,i;
String XYM;
XYM =0;
SfzXy =0;
           for(i=1;i<=17;i++)
             SfzXy =SfzXy+StrToInt(SFZNumber.SubString(i,1))*SFZXYL[i];
             //Form1->Caption=IntToStr(SfzXy);
           switch(SfzXy % 11)
           {       case  0:XYM ='1'; break;
                   case  1:XYM ='0'; break;
                   case  2:XYM ='X'; break;
                   case  3:XYM ='9'; break;
                   case  4:XYM ='8'; break;
                   case  5:XYM ='7'; break;
                   case  6:XYM ='6'; break;
                   case  7:XYM ='5'; break;
                   case  8:XYM ='4'; break;
                   case  9:XYM ='3'; break;
                   case 10:XYM ='2'; break;
           }
           return(XYM);
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  String SFZNumber,NewSFZNumber;
  SFZNumber =Edit2->Text;
  if(SFZNumber.Length()>=15)
  {     String QWNumber;
        QWNumber =SFZNumber.SubString(1,6);
        ADOQuery2->SQL->Clear();
        ADOQuery2->SQL->Add("SELECT Top 10 [DQ] FROM SFZ WHERE [BM]="+QWNumber);
        ADOQuery2->Open();
        if(ADOQuery2->RecordCount!=1)
        {
              ADOQuery2->Close();
              ADOQuery2->SQL->Clear();
              QWNumber=QWNumber.SubString(1,4)+"00";
              ADOQuery2->SQL->Add("SELECT Top 10 [DQ] FROM SFZ WHERE [BM]="+QWNumber);
              ADOQuery2->Open();
              if(ADOQuery2->RecordCount!=1)
              {
                    ADOQuery2->Close();
                    ADOQuery2->SQL->Clear();
                    QWNumber=QWNumber.SubString(1,2)+"0000";
                    ADOQuery2->SQL->Add("SELECT Top 10 [DQ] FROM SFZ WHERE [BM]="+QWNumber);
                    ADOQuery2->Open();
              }
         }
        Memo1->Lines->Clear() ;
        Memo1->Lines->Add("查询内容 : "+SFZNumber);
        if(ADOQuery2->RecordCount!=1)
        {
             Memo1->Lines->Add("原户籍地 : 未知地区");
        }
        else
        {
             Memo1->Lines->Add("原户籍地 : "+ADOQuery2->FieldByName("DQ")->AsString);
             ADOQuery2->Close();
        }
        if(SFZNumber.Length()<18)
        {
              NewSFZNumber =SFZNumber.SubString(1,6)+"19"+SFZNumber.SubString(7,6)+SFZNumber.SubString(13,3);
              NewSFZNumber =NewSFZNumber + SFZNumberToXy(NewSFZNumber);

        }
        else
        {
              NewSFZNumber =SFZNumber.SubString(1,17)+SFZNumberToXy(SFZNumber);
        }
        Memo1->Lines->Add("新身份证 : "+NewSFZNumber);
        Memo1->Lines->Add("出生年月 : "+NewSFZNumber.SubString(7,4)+"年"+NewSFZNumber.SubString(11,2)+"月"+NewSFZNumber.SubString(13,2)+"日");
        if((StrToInt(NewSFZNumber.SubString(17,1)) % 2) ==0)
              Memo1->Lines->Add("性  别 : 女");
        else
              Memo1->Lines->Add("性  别 : 男");
  }
  else
  {
    //SFZNumber ="号码位数"+IntToStr(Edit2->Text.Length());
        MessageBox(TForm1::Handle,"号码位数不够 ","位数不够",MB_OK) ;
  }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
    TEdit *pEdit = dynamic_cast<TEdit *>(Sender);
    if(Key == '\b')
        return;
    if( (Key >= '0' && Key <= '9') || Key == 'X' || Key == '*' || Key == 'x' )
    {
        if(pEdit->Text.Length() < 17)
        {
            if(Key == 'X' || Key == '*' || Key == 'x')
                Key = 0;
        }
    }
    else
        Key = 0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
String sjqh,QWNumber;
  if(Edit3->Text.Length()>7)
  {
        sjqh =Edit3->Text.SubString(1,7);
        ADOQuery2->Close();
        ADOQuery2->SQL->Clear();
        QWNumber=QWNumber.SubString(1,2)+"0000";
        ADOQuery2->SQL->Add("SELECT Top 10 * FROM sj WHERE ([号码B]<="+sjqh+") AND ([号码E]>="+sjqh+")");
        ADOQuery2->Open();
        Memo2->Lines->Clear();
    //Memo2->Lines->Add(ADOQuery2->SQL->Text);
        if(ADOQuery2->RecordCount>0)
        {
             Memo2->Lines->Add("手机地区 : "+ADOQuery2->FieldByName("地区")->AsString);
             Memo2->Lines->Add("手机城市 : "+ADOQuery2->FieldByName("城市")->AsString);
             Memo2->Lines->Add("手机区号 : "+ADOQuery2->FieldByName("区号")->AsString);
             Memo2->Lines->Add("手机类型 : "+ADOQuery2->FieldByName("类型")->AsString);
        }
        else
        {
             Memo2->Lines->Add("手机地区 : 未知地区");
        }
        ADOQuery2->Close();
  }
  else
  {
       MessageBox(TForm1::Handle,"号码位数不够,至少7位 ","位数不够",MB_OK) ;
  }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -