?? unit2.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 + -