📄 banci2.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Banci2.h"
#include "DM1.h"
#include "SortSelect.h"
#include "PrintSet.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormBanci2 *FormBanci2;
//---------------------------------------------------------------------------
__fastcall TFormBanci2::TFormBanci2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnAddClick(TObject *Sender)
{
pBanci->Append();
GroupBox1->Enabled = true;
DBGrid1->Enabled = false;
BitBtnAdd->Enabled = false;
BitBtnAlter->Enabled = false;
BitBtnDel->Enabled = false;
BitBtnSave->Enabled = true;
BitBtnCancel->Enabled = true;
BitBtnSort->Enabled = false;
BitBtnPrint->Enabled = false;
BitBtnQuit->Enabled = false;
DBEditBcmc->SetFocus();
DBComboBoxSdChange(this);
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnCancelClick(TObject *Sender)
{
pBanci->Cancel();
GroupBox1->Enabled = false;
DBGrid1->Enabled = true;
BitBtnAdd->Enabled = true;
BitBtnAlter->Enabled = true;
BitBtnDel->Enabled = true;
BitBtnSave->Enabled = false;
BitBtnCancel->Enabled = false;
BitBtnQuit->Enabled = true;
BitBtnSort->Enabled = true;
BitBtnPrint->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnAlterClick(TObject *Sender)
{
GroupBox1->Enabled = true;
DBGrid1->Enabled = false;
BitBtnAlter->Enabled = false;
BitBtnAdd->Enabled = false;
BitBtnDel->Enabled = false;
BitBtnSave->Enabled = true;
BitBtnCancel->Enabled = true;
BitBtnQuit->Enabled = false;
BitBtnSort->Enabled = false;
BitBtnPrint->Enabled = false;
pBanci->Edit();
DBEditBcmc->SetFocus();
DBComboBoxSdChange(this);
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnSaveClick(TObject *Sender)
{
if (DBEditBcmc->Text == "")
{
ShowMessage("请输入班次名称!");
DBEditBcmc->SetFocus();
return;
}
if (DBComboBoxSd->Text == "")
{
ShowMessage("请输入时段数!");
DBComboBoxSd->SetFocus();
return;
}
//*****************
if (DBComboBoxSd->ItemIndex >=0)
{
try
{
StrToTime(DBEditSd1ks->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!格式必须为:" + FormatDateTime("hh:mm",Now()));
DBEditSd1ks->SetFocus();
return;
}
if (Trim(DBEditSd11qian->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd11qian->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd11qian->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd11qian->SetFocus();
return;
}
if (Trim(DBEditSd11hou->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd11hou->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd11hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd11hou->SetFocus();
return;
}
try
{
StrToTime(DBEditSd1js->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!格式必须为: " + FormatDateTime("hh:mm",Now()));
DBEditSd1js->SetFocus();
return;
}
if (Trim(DBEditSd12qian->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd12qian->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd12qian->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd12qian->SetFocus();
return;
}
if (Trim(DBEditSd12hou->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd12hou->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd12hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd12hou->SetFocus();
return;
}
DBEditSd1ks->Text = FormatDateTime("hh:mm",StrToTime(DBEditSd1ks->Text));
DBEditSd1js->Text = FormatDateTime("hh:mm",StrToTime(DBEditSd1js->Text));
}
//***************************
if (DBComboBoxSd->ItemIndex >=1)
{
try
{
StrToTime(DBEditSd2ks->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!格式必须为:" + FormatDateTime("hh:mm",Now()));
DBEditSd2ks->SetFocus();
return;
}
if (Trim(DBEditSd21qian->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd21qian->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd21qian->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd21qian->SetFocus();
return;
}
if (Trim(DBEditSd21hou->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd21hou->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd21hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd21hou->SetFocus();
return;
}
try
{
StrToTime(DBEditSd2js->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!格式必须为: " + FormatDateTime("hh:mm",Now()));
DBEditSd2js->SetFocus();
return;
}
if (Trim(DBEditSd22qian->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd22qian->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd22qian->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd22qian->SetFocus();
return;
}
if (Trim(DBEditSd22hou->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd22hou->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd22hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd22hou->SetFocus();
return;
}
DBEditSd2ks->Text = FormatDateTime("hh:mm",StrToTime(DBEditSd2ks->Text));
DBEditSd2js->Text = FormatDateTime("hh:mm",StrToTime(DBEditSd2js->Text));
if (DBEditSd2ks->Text <= DBEditSd1js->Text)
{
ShowMessage("开始时间不能小于上一时段的结束时间!");
DBEditSd2ks->SetFocus();
return;
}
if (DBEditSd1ks->Text >= DBEditSd1js->Text)
{
ShowMessage("开始时间不能大于结束时间!");
DBEditSd1ks->SetFocus();
return;
}
}
//*******************
if (DBComboBoxSd->ItemIndex ==2)
{
try
{
StrToTime(DBEditSd3ks->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!格式必须为:" + FormatDateTime("hh:mm",Now()));
DBEditSd3ks->SetFocus();
return;
}
if (Trim(DBEditSd31qian->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd31qian->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd31qian->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd31qian->SetFocus();
return;
}
if (Trim(DBEditSd31hou->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd31hou->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd31hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd31hou->SetFocus();
return;
}
try
{
StrToTime(DBEditSd3js->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!格式必须为: " + FormatDateTime("hh:mm",Now()));
DBEditSd3js->SetFocus();
return;
}
if (Trim(DBEditSd32qian->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd32qian->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd31hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd31hou->SetFocus();
return;
}
if (Trim(DBEditSd32hou->Text) == "" )
{
ShowMessage("请输入有效刷卡时间范围!");
DBEditSd32hou->SetFocus();
return;
}
if (StrToInt(Trim(DBEditSd32hou->Text)) < 0)
{
ShowMessage("刷卡时间范围不能为负数!");
DBEditSd32hou->SetFocus();
return;
}
DBEditSd3ks->Text = FormatDateTime("hh:mm",StrToTime(DBEditSd3ks->Text));
DBEditSd3js->Text = FormatDateTime("hh:mm",StrToTime(DBEditSd3js->Text));
if (DBEditSd3ks->Text <= DBEditSd2js->Text)
{
ShowMessage("开始时间不能小于上一时段的结束时间!");
DBEditSd3ks->SetFocus();
return;
}
if (DBEditSd2ks->Text >= DBEditSd2js->Text)
{
ShowMessage("开始时间不能大于结束时间!");
DBEditSd2ks->SetFocus();
return;
}
}
//*******************
try
{
pBanci->Post();
}
catch(Exception &exception)
{
ShowMessage("保存失败!\n因为:" + exception.Message);
return;
}
DBGrid1->Enabled = true;
GroupBox1->Enabled = false;
BitBtnSave->Enabled = false;
BitBtnCancel->Enabled = false;
BitBtnAdd->Enabled = true;
BitBtnAlter->Enabled = true;
BitBtnDel->Enabled = true;
BitBtnQuit->Enabled = true;
BitBtnSort->Enabled = true;
BitBtnPrint->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnDelClick(TObject *Sender)
{
if (Application->MessageBoxA("确定要删除当前记录吗?","警告!",MB_YESNO) ==IDYES)
{
pBanci->Delete();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnQuitClick(TObject *Sender)
{
FormBanci2->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::FormCreate(TObject *Sender)
{
pBanci = GetQuery("QBanciWf");
try
{
pBanci->Open();
}
catch(...)
{
ShowMessage("打开班次表失败!");
}
DataSource1->DataSet = pBanci;
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::FormClose(TObject *Sender,
TCloseAction &Action)
{
pBanci->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::DBComboBoxSdChange(TObject *Sender)
{
switch (DBComboBoxSd->ItemIndex)
{
case 0:
GroupBox2->Enabled = true;
GroupBox3->Enabled = false;
GroupBox4->Enabled = false;
DBEditSd2ks->Clear();
DBEditSd21qian->Clear();
DBEditSd21hou->Clear();
DBEditSd2js->Clear();
DBEditSd22qian->Clear();
DBEditSd22hou->Clear();
DBEditSd3ks->Clear();
DBEditSd31qian->Clear();
DBEditSd31hou->Clear();
DBEditSd3js->Clear();
DBEditSd32qian->Clear();
DBEditSd32hou->Clear();
break;
case 1:
GroupBox2->Enabled = true;
GroupBox3->Enabled = true;
GroupBox4->Enabled = false;
DBEditSd3ks->Clear();
DBEditSd31qian->Clear();
DBEditSd31hou->Clear();
DBEditSd3js->Clear();
DBEditSd32qian->Clear();
DBEditSd32hou->Clear();
break;
case 2:
GroupBox2->Enabled = true;
GroupBox3->Enabled = true;
GroupBox4->Enabled = true;
break;
default :
GroupBox2->Enabled = false;
GroupBox3->Enabled = false;
GroupBox4->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::DBEditBcmcExit(TObject *Sender)
{
DBEditBcmc->Text = Trim(DBEditBcmc->Text);
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnSortClick(TObject *Sender)
{
TFormSortSelect *FormSortSelect = new TFormSortSelect(this);
FormSortSelect->SetItem(DBGrid1);
if (FormSortSelect->ShowModal() == mrOk)
pBanci->Sort = FormSortSelect->sSort;
delete FormSortSelect;
}
//---------------------------------------------------------------------------
void __fastcall TFormBanci2::BitBtnPrintClick(TObject *Sender)
{
TFormPrintSet *FormPrintSet = new TFormPrintSet(this);
FormPrintSet->SetDataSource(pBanci);
FormPrintSet->SetGrid(DBGrid1);
FormPrintSet->EditTitle->Text = "班次表";
FormPrintSet->ShowModal();
delete FormPrintSet;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -