📄 sgsk.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Sgsk.h"
#include "DM1.h"
#include "stdio.h"
#include "QuerySql.h"
#include "PrintSet.h"
#include "SortSelect.h"
#include "ColumnSelect.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormSgsk *FormSgsk;
//---------------------------------------------------------------------------
__fastcall TFormSgsk::TFormSgsk(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::FormCreate(TObject *Sender)
{
pAdd = GetQuery("Query1");
pFind = GetQuery("Query2");
pChaxun = GetQuery("Query3");
DataSource1->DataSet = pChaxun;
if (pAdd == NULL) BitBtnSave->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::BitBtnSaveClick(TObject *Sender)
{
if (Trim(MaskEditBh->Text) == "")
{
ShowMessage("请输入员工编号!");
MaskEditBh->SetFocus();
return;
}
//if (Trim(MaskEditKp->Text) == "")
// {
// ShowMessage("请输入卡片编号!");
// MaskEditKp->SetFocus();
// return;
// }
try
{
StrToDateTime(MaskEditRq->Text);
}
catch(...)
{
ShowMessage("请输入正确的日期!");
MaskEditRq->SetFocus();
return;
}
try
{
StrToDateTime(MaskEditSj->Text);
}
catch(...)
{
ShowMessage("请输入正确的时间!");
MaskEditSj->SetFocus();
return;
}
AnsiString sYgxm,sBmmc,sBzmc,sSksj,sYy;
int nYgbh;
char temp[300];
nYgbh = Trim(MaskEditBh->Text).ToInt();
sYgxm = EditXm->Text;
sBmmc = EditBm->Text;
sBzmc = EditBz->Text;
//nKpbh = Trim(MaskEditKp->Text).ToInt();
sSksj = FormatDateTime("yyyy-mm-dd hh:mm",StrToDateTime(MaskEditRq->Text + " " + MaskEditSj->Text));
sYy = Trim(EditYy->Text);
sprintf(temp,"insert into kq_sgsk(ygbh,ygxm,bmmc,bzmc,sksj,yy) values(%d,'%s','%s','%s','%s','%s')",nYgbh,sYgxm.c_str(),sBmmc.c_str(),sBzmc.c_str(),sSksj.c_str(),sYy.c_str());
pAdd->Close();
pAdd->SQL->Clear();
pAdd->SQL->Add(temp);
pAdd->Prepared = true;
try
{
pAdd->ExecSQL();
}
catch(Exception &exception)
{
ShowMessage("保存失败!\n因为:" + exception.Message);
return;
}
sprintf(temp,"insert into kq_shuaka(ygbh,sksj) values(%d,'%s')",nYgbh,sSksj.c_str());
pAdd->Close();
pAdd->SQL->Clear();
pAdd->SQL->Add(temp);
pAdd->ExecSQL();
pAdd->Close();
MaskEditBh->Clear();
EditXm->Clear();
EditBm->Clear();
EditBz->Clear();
//MaskEditKp->Clear();
MaskEditRq->Clear();
MaskEditSj->Clear();
EditYy->Clear();
MaskEditBh->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::MaskEditBhExit(TObject *Sender)
{
if (Trim(MaskEditBh->Text) == "")
{
EditXm->Text = "";
EditBm->Text = "";
EditBz->Text = "";
//MaskEditKp->Text = "";
return;
}
pFind->Close();
pFind->SQL->Clear();
pFind->SQL->Add("select holdername,departmentname,groupname from renshi where holderno = " + Trim(MaskEditBh->Text));
pFind->Open();
if (pFind->RecNo > 0)
{
EditXm->Text = pFind->FieldByName("holdername")->AsString;
EditBm->Text = pFind->FieldByName("departmentname")->AsString;
EditBz->Text = pFind->FieldByName("groupname")->AsString;
//MaskEditKp->Text = pFind->FieldByName("cardno")->AsString;
}
else
{
ShowMessage("没有编号为" + Trim(MaskEditBh->Text) + "的员工!");
EditXm->Text = "";
EditBm->Text = "";
EditBz->Text = "";
MaskEditBh->Text = "";
//MaskEditKp->Text = "";
}
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::FormClose(TObject *Sender, TCloseAction &Action)
{
pAdd->Close();
pFind->Close();
pChaxun->Close();
pAdd->SQL->Clear();
pFind->SQL->Clear();
pChaxun->SQL->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::BitBtnDeleteClick(TObject *Sender)
{
char temp[300];
int nYgbh;
AnsiString sSksj;
if (!(pChaxun->RecNo >0)) return;
if ( Application->MessageBox("确定要删除该记录吗?","警告", MB_OKCANCEL) == IDOK)
{
nYgbh = pChaxun->FieldByName("ygbh")->AsInteger;
sSksj = pChaxun->FieldByName("sksj")->AsString;
pChaxun->Delete();
LabelCount->Caption = LabelCount->Caption.ToInt() - 1;
sprintf(temp,"delete from kq_shuaka where ygbh = %d and sksj = '%s' and kpbh is null and kpid is null",nYgbh,sSksj);
pAdd->Close();
pAdd->SQL->Clear();
pAdd->SQL->Add(temp);
pAdd->ExecSQL();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::FormShow(TObject *Sender)
{
pChaxun->Close();
pChaxun->SQL->Clear();
pChaxun->SQL->Add("select lshao,ygbh,ygxm,bmmc,bzmc,sksj,yy from kq_sgsk where 1 =2");
pChaxun->Open();
TIniFile* pIni = new TIniFile(ExtractFilePath(Application->ExeName) + "reckq.ini");
pIni->ReadSection(Name,ComboBoxCol->Items);
for (int i= 0; i< ComboBoxCol->Items->Count;i++)
{
pIni->ReadBool(Name,ComboBoxCol->Items->Strings[i],true);
for (int j = 0; j< DBGrid1->Columns->Count;j++)
{
if (DBGrid1->Columns->Items[j]->FieldName == ComboBoxCol->Items->Strings[i])
{
DBGrid1->Columns->Items[j]->Visible = pIni->ReadBool(Name,ComboBoxCol->Items->Strings[i],true);
break;
}
}
}
delete pIni;
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::BitBtnPrintClick(TObject *Sender)
{
TFormPrintSet *FormPrintSet = new TFormPrintSet(this);
FormPrintSet->SetDataSource(pChaxun);
FormPrintSet->SetGrid(DBGrid1);
FormPrintSet->EditTitle->Text = "签卡";
FormPrintSet->ShowModal();
delete FormPrintSet;
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::BitBtnSortClick(TObject *Sender)
{
TFormSortSelect *FormSortSelect = new TFormSortSelect(this);
FormSortSelect->SetItem(DBGrid1);
if (FormSortSelect->ShowModal() == mrOk)
pChaxun->Sort = FormSortSelect->sSort;
delete FormSortSelect;
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::BitBtnQueryClick(TObject *Sender)
{
AnsiString sNewSql;
TFormQuerySql *FormQuerySql = new TFormQuerySql(this);
FormQuerySql->pGrid = DBGrid1;
FormQuerySql->pQuery = pChaxun;
if(FormQuerySql->ShowModal() == mrCancel)
{
delete FormQuerySql;
return;
}
sNewSql = "select lshao,ygbh,ygxm,bmmc,bzmc,sksj,yy from kq_sgsk " + FormQuerySql->sSql + " order by sksj";
pChaxun->Close();
pChaxun->SQL->Clear();
pChaxun->SQL->Add(sNewSql);
pChaxun->Open();
LabelCount->Caption = pChaxun->RecordCount;
delete FormQuerySql;
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::BitBtn2Click(TObject *Sender)
{
TFormColumnSelect *FormColumnSelect = new TFormColumnSelect(this);
FormColumnSelect->pGrid = DBGrid1;
FormColumnSelect->asWinName = Name;
FormColumnSelect->ShowModal();
delete FormColumnSelect;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -