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

📄 unitmainform.cpp

📁 使用C++Builder开发的常住人口管理系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
   memoGGHBFaBiao->Clear();
   btnGGHBFaBiao->Enabled=false;
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnGGHBPrintClick(TObject *Sender)
{
    ShowMessage("对不起,该windows没有连接到打印机,请重新连接!");        

}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::DTCZRYJLBirthdayChange(TObject *Sender)
{
        //年龄 //有BUG,待修改
        AnsiString time,birth;
        time=Date();
        birth=DTCZRYJLBirthday->Date;
        edtCZRYJLAge->Text=time.SubString(0,4).ToInt()-birth.SubString(0,4).ToInt();
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::butRYXZTJTongJiClick(TObject *Sender)
{
    edtRYXZTJZanZhu->Text=RenKouTJ->XZJieGou[2];    // XZJieGou[2]暂住
    edtRYXZTJChangZhu->Text=RenKouTJ->XZJieGou[0];  // XZJieGou[0]常住
    edtRYXZTJQianRu->Text=RenKouTJ->XZJieGou[1];    // XZJieGou[1]迁入

     chartRYXZTJ->Column=1;
     chartRYXZTJ->Data=edtRYXZTJChangZhu->Text;
     chartRYXZTJ->Column=2;
     chartRYXZTJ->Data=edtRYXZTJQianRu->Text;
     chartRYXZTJ->Column=3;
     chartRYXZTJ->Data=edtRYXZTJZanZhu->Text;

}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::butSRSPTJTongJiClick(TObject *Sender)
{
    edtSRSPTJ800Xia->Text=RenKouTJ->SRJieGou[0];      // SRJieGou[0]800以下
    edtSRSPTJ800->Text=RenKouTJ->SRJieGou[1];         // SRJieGou[1]800~2000
    edtSRSPTJ2000->Text=RenKouTJ->SRJieGou[2];        // SRJieGou[2]2000~5000
    edtSRSPTJ5000Shang->Text=RenKouTJ->SRJieGou[3];   // SRJieGou[3]5000以上

     chartSRSPTJ->Column=1;
     chartSRSPTJ->Data=edtSRSPTJ800Xia->Text;
     chartSRSPTJ->Column=2;
     chartSRSPTJ->Data=edtSRSPTJ800->Text;
     chartSRSPTJ->Column=3;
     chartSRSPTJ->Data=edtSRSPTJ2000->Text;
     chartSRSPTJ->Column=4;
     chartSRSPTJ->Data=edtSRSPTJ5000Shang->Text;

}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::butWHCCTongJiClick(TObject *Sender)
{
    edtWHCCTJBenKe->Text=RenKouTJ->WHJieGou[0];      // WHJieGou[0]本科以上
    edtWHCCTJDaZhuan->Text=RenKouTJ->WHJieGou[1];    // WHJieGou[1]大专
    edtWHCCTJGaoZhong->Text=RenKouTJ->WHJieGou[2];   // WHJieGou[2]高中
    edtWHCCTJChuZhong->Text=RenKouTJ->WHJieGou[3];   // WHJieGou[3]初中
    edtWHCCTJXiaoXue->Text=RenKouTJ->WHJieGou[4];    // WHJieGou[4]小学下

   
    chartWHCCTJ->Column=1;
    chartWHCCTJ->Data=edtWHCCTJBenKe->Text;
    chartWHCCTJ->Column=2;
    chartWHCCTJ->Data=edtWHCCTJDaZhuan->Text;
    chartWHCCTJ->Column=3;
    chartWHCCTJ->Data=edtWHCCTJGaoZhong->Text;
    chartWHCCTJ->Column=4;
    chartWHCCTJ->Data=edtWHCCTJChuZhong->Text;
    chartWHCCTJ->Column=5;
    chartWHCCTJ->Data=edtWHCCTJXiaoXue->Text;


}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::butNLJGTJTongJiClick(TObject *Sender)
{
     edtNLJGTJWeiChengNian->Text=RenKouTJ->NLJieGou[0];  // NLJieGou[0]未成年
     edtNLJGTJQingNian->Text=RenKouTJ->NLJieGou[1];      // NLJieGou[1]青年人
     edtNLJGTJZhongNian->Text=RenKouTJ->NLJieGou[2];     // NLJieGou[2]中年人
     edtNLJGTJLaoNian->Text=RenKouTJ->NLJieGou[3];       // NLJieGou[3]老年人
     chartNLTJ->Column=4;
     chartNLTJ->Data=edtNLJGTJWeiChengNian->Text;
     chartNLTJ->Column=3;
     chartNLTJ->Data=edtNLJGTJQingNian->Text;
     chartNLTJ->Column=2;
     chartNLTJ->Data=edtNLJGTJZhongNian->Text;
     chartNLTJ->Column=1;
     chartNLTJ->Data=edtNLJGTJLaoNian->Text;



}
//------------------房间信息管理代码块 DOWN---------------------------------------------------------

void __fastcall TfrmMain::btnGLAddClick(TObject *Sender)
{
  if (!SysUtil::IsNumberString(edtGLRoomPrice->Text))
  {
      ShowMessage("你输入的价格信息格式不对!请重新输入!");
      edtGLRoomPrice->Clear();
      return;
  }
  Room *room=new Room;
  room->Number=edtGLRoomNum->Text.ToInt();
  room->Ordered=0;
  strcpy(room->Address,edtGLRoomAddr->Text.c_str());
  room->Type=comBxGLRoomType->ItemIndex;
  room->Propert=comBxGLRoomPro->ItemIndex;
  room->Price=edtGLRoomPrice->Text.ToDouble();
  if(!Global::WriteRoomToFile("ROOM.db",room))
  {
     ShowMessage("房间信息保存成功!");

      //初始化房屋编号
      edtGLRoomNum->Text=1+room->Number;
      delete room;

      edtGLRoomAddr->Clear();
      comBxGLRoomType->ItemIndex=-1;
      comBxGLRoomPro->ItemIndex=-1;
      edtGLRoomPrice->Clear();
      return;
  }
  ShowMessage("保存房间信息失败!");
  delete room;
  return;


}
//---------------------------------------------------------------------------


void __fastcall TfrmMain::btnGLClearClick(TObject *Sender)
{
  //edtGLRoomNum->Clear();
  edtGLRoomAddr->Clear();
  comBxGLRoomType->ItemIndex=-1;
  comBxGLRoomPro->ItemIndex=-1;
  edtGLRoomPrice->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnCRClearClick(TObject *Sender)
{
  edtCRName->Clear();
  edtCRSfzID->Clear();
  //RGCRSex->ItemIndex=0;
  edtCROldNum->Clear();
  edtCRNewNum->Clear();
  
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnCRChangeClick(TObject *Sender)
{
   if (edtCRName->Text.IsEmpty())
   {
       ShowMessage("名字不能为空!");
       return;
   }

   if (SysUtil::JudgeSfzID(edtCRSfzID->Text))//身份证判断
   {
       if (SysUtil::IsNumberString(edtCROldNum->Text) && SysUtil::IsNumberString(edtCRNewNum->Text))//编号验证
       {
            if (!Global::IsOrderedRoom("ROOM.db",edtCRNewNum->Text.ToInt()))
            {
                 ShowMessage("对不起,你要换的房间已经被订用!");
                 edtCRNewNum->Clear();
                 return;
            }

            if (!Global::IsOrderedRoom("ROOM.db",edtCROldNum->Text.ToInt()))//是否被订用
            {
                RoomGuest *guest=new RoomGuest;
                strcpy(guest->Name,edtCRName->Text.c_str());
                strcpy(guest->SfzID,edtCRSfzID->Text.c_str());
                guest->RoomNumber=edtCRNewNum->Text.ToInt();
                guest->Sex=RGCRSex->ItemIndex;
                //guest->ZuQin=DTZFTFEndDate->DateTime.operator int() - DTZFTFStartDate->DateTime.operator int();
                if (!Global::WriteRoomGuestToFile("GUEST.db",guest))
                {
                     //设置房间未被订用
                     Global::SetOrderedRoom("ROOM.db",edtCROldNum->Text.ToInt(),0);
                     //设置房间被订用
                     Global::SetOrderedRoom("ROOM.db",edtCRNewNum->Text.ToInt(),1);
                     ShowMessage("恭喜!"+edtCRName->Text+"房间交换成功!");
                }
                delete guest;
                edtCRName->Clear();
                edtCRSfzID->Clear();
                //RGCRSex->ItemIndex=0;
                edtCROldNum->Clear();
                edtCRNewNum->Clear();
            }
            else
            {
                ShowMessage("该房间没有被人订用!");
                return;
            }

       }
       else
      {
          ShowMessage("该房间编号有非法字符!");
          return;
      }

   }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnZFTFClearClick(TObject *Sender)
{
  edtZFTFName->Clear();
  edtZFTFNumber->Clear();
  edtZFTFSfzID->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnZFTFAddClick(TObject *Sender)
{
   if (edtZFTFName->Text.IsEmpty())
   {
       ShowMessage("姓名不能为空");
       return;
   }

   if (comBxZFTFType->ItemIndex==0)//租房
   {
       if (SysUtil::JudgeSfzID(edtZFTFSfzID->Text))//身份证判断
       {
           if (SysUtil::IsNumberString(edtZFTFNumber->Text))//编号验证
           {
                Room *room=new Room;
                if (!Global::FindSingleRoom("ROOM.db",edtZFTFNumber->Text.ToInt()))
                {
                   ShowMessage("不存在该房间号!");
                   edtZFTFNumber->Clear();
                   delete room;
                   return;
                }
                delete room;

                if (Global::IsOrderedRoom("ROOM.db",edtZFTFNumber->Text.ToInt()))//是否被订用
                {
                    RoomGuest *guest=new RoomGuest;
                    strcpy(guest->Name,edtZFTFName->Text.c_str());
                    strcpy(guest->SfzID,edtZFTFSfzID->Text.c_str());
                    guest->RoomNumber=edtZFTFNumber->Text.ToInt();
                    guest->Sex=RGZFTFSex->ItemIndex;
                    guest->ZuQin=DTZFTFEndDate->DateTime.operator int() - DTZFTFStartDate->DateTime.operator int();
                    if (!Global::WriteRoomGuestToFile("GUEST.db",guest))
                    {
                         Global::SetOrderedRoom("ROOM.db",edtZFTFNumber->Text.ToInt(),1);
                         ShowMessage("恭喜!"+edtZFTFName->Text+"租房成功!");
                    }
                    delete guest;
                    edtZFTFName->Clear();
                    edtZFTFNumber->Clear();
                    edtZFTFSfzID->Clear();
                }
                else
                {
                    ShowMessage("该房间已经被别人订用!");
                    return;
                }

           }
           else
          {
              ShowMessage("该房间编号有非法字符!");
              return;
          }

       }

   }
   else
   {
       if (SysUtil::JudgeSfzID(edtZFTFSfzID->Text))//身份证判断
       {
           if (SysUtil::IsNumberString(edtZFTFNumber->Text))//编号验证
           {
                if (!Global::IsOrderedRoom("ROOM.db",edtZFTFNumber->Text.ToInt()))//是否被订用
                {
                    RoomGuest *guest=new RoomGuest;
                    strcpy(guest->Name,edtZFTFName->Text.c_str());
                    strcpy(guest->SfzID,edtZFTFSfzID->Text.c_str());
                    guest->RoomNumber=edtZFTFNumber->Text.ToInt();
                    guest->Sex=RGZFTFSex->ItemIndex;
                    guest->ZuQin=DTZFTFEndDate->DateTime.operator int() - DTZFTFStartDate->DateTime.operator int();
                    if (!Global::WriteRoomGuestToFile("GUEST.db",guest))
                    {
                         Global::SetOrderedRoom("ROOM.db",edtZFTFNumber->Text.ToInt(),0);
                         ShowMessage("恭喜!"+edtZFTFName->Text+"退房成功!");
                    }
                    delete guest;
                    edtZFTFName->Clear();
                    edtZFTFNumber->Clear();
                    edtZFTFSfzID->Clear();

                }
                else
                {
                    ShowMessage("该房间没有被人订用!");
                    return;
                }

           }
           else
          {
              ShowMessage("该房间编号有非法字符!");
              return;
          }

       }
   }



}
//---------------------------------------------------------------------------


void __fastcall TfrmMain::comBxSFXXFindWayChange(TObject *Sender)
{
    if (comBxSFXXFindWay->ItemIndex!=0)
    {
       edtSFXXGuanJianZi->Enabled=false;
    }
    else
    {
       edtSFXXGuanJianZi->Enabled=true;
    }



}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::buSFXXFindClick(TObject *Sender)
{
    if (comBxSFXXFindWay->ItemIndex==0)
    {
       if (!SysUtil::IsNumberString(edtSFXXGuanJianZi->Text))
       {
           ShowMessage("房间编号数字格式不正确,请重新输入!");
           edtSFXXGuanJianZi->Clear();
           return;
       }

       Room *room=Global::FindSingleRoom("ROOM.db",edtSFXXGuanJianZi->Text.ToInt());
       //ValueListEditor1->InsertRow(Edit1->Text,Edit2->Text,1);
       if (!room)
       {
           ShowMessage("房间编号不存在,请重新输入!");
           edtSFXXGuanJianZi->Clear();
           delete room;
           return;
       }

        ListViewSF->Items->Clear();
        TListItem * NewItem;
        NewItem=ListViewSF->Items->Add();
        NewItem->Caption=room->Number;
        if (room->Type==0)
           NewItem->SubItems->Add("高档房");
        else if(room->Type==1)
           NewItem->SubItems->Add("中档房");
        else
           NewItem->SubItems->Add("低档房");

        if (room->Propert==0)
            NewItem->SubItems->Add("出租");
        else
            NewItem->SubItems->Add("销售");
        //REMOVE BUG
        if (room->Ordered==1)
            NewItem->SubItems->Add("已订用");
        else
            NewItem->SubItems->Add("未订用");
        //TColor
        NewItem->SubItems->Add(room->Price);
        NewItem->SubItems->Add(room->Address);
       delete room;
    }
    else if(comBxSFXXFindWay->ItemIndex==1)
    {

       FILE *fp;
       if((fp=fopen("ROOM.db","rb+"))==NULL)
       {
          ShowMessage("打开文件失败!!");
          fclose(fp);
          return ;
       }
        fseek(fp,0L,0);
        Room *room=new Room;
        int sum=0;
        ListViewSF->Items->Clear();
        while(1)
        {

⌨️ 快捷键说明

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