📄 kqjwh.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "KqjWh.h"
#include "DM1.h"
#include "syris.h"
#include "vtl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormKqjWh *FormKqjWh;
//---------------------------------------------------------------------------
__fastcall TFormKqjWh::TFormKqjWh(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::FormCreate(TObject *Sender)
{
pKqj = GetQuery("QKqj");
pKqjLx = GetQuery("QTxKqjLx");
pKqjBh = GetQuery("QTxKqjBh");
DataSource1->DataSet = pKqj;
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::FormShow(TObject *Sender)
{
AnsiString sLx;
pKqj->Open();
pKqjLx->Open();
ComboBoxLx->Items->Clear();
ComboBoxLx2->Items->Clear();
while(!pKqjLx->Eof)
{
sLx = pKqjLx->FieldByName("kqjlx")->AsString;
ComboBoxLx->Items->Add(sLx);
ComboBoxLx2->Items->Add(sLx);
pKqjLx->Next();
}
DateTimePicker1->DateTime = Now();
DateTimePicker2->DateTime = Now();
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::FormClose(TObject *Sender,
TCloseAction &Action)
{
pKqj->Close();
pKqjLx->Close();
pKqjBh->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtnAddClick(TObject *Sender)
{
DBGrid1->Enabled = false;
GroupBox1->Enabled = true;
BitBtnQuit->Enabled = false;
BitBtnSave->Enabled = true;
BitBtnCancel->Enabled = true;
BitBtnAdd->Enabled = false;
BitBtnEdit->Enabled = false;
BitBtnDelete->Enabled = false;
DBComboBoxLx->SetFocus();
pKqj->Append();
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtnDeleteClick(TObject *Sender)
{
if (pKqj->RecNo < 1) return;
if (Application->MessageBoxA("确定要删除吗?","询问",MB_YESNO)==IDYES)
{
pKqj->Delete();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtnEditClick(TObject *Sender)
{
DBGrid1->Enabled = false;
GroupBox1->Enabled = true;
BitBtnQuit->Enabled = false;
BitBtnSave->Enabled = true;
BitBtnCancel->Enabled = true;
BitBtnAdd->Enabled = false;
BitBtnEdit->Enabled = false;
BitBtnDelete->Enabled = false;
DBComboBoxLx->SetFocus();
pKqj->Edit();
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtnSaveClick(TObject *Sender)
{
try
{
pKqj->Post();
}
catch(Exception &exception)
{
ShowMessage("保存失败!\n因为:" + exception.Message);
BitBtnCancelClick(this);
pKqj->Close();
pKqj->Open();
return;
}
//ShowMessage("保存成功!");
DBGrid1->Enabled = true;
GroupBox1->Enabled = false;
BitBtnQuit->Enabled = true;
BitBtnSave->Enabled = false;
BitBtnCancel->Enabled = false;
BitBtnAdd->Enabled = true;
BitBtnEdit->Enabled = true;
BitBtnDelete->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtnCancelClick(TObject *Sender)
{
pKqj->Cancel();
DBGrid1->Enabled = true;
GroupBox1->Enabled = false;
BitBtnQuit->Enabled = true;
BitBtnSave->Enabled = false;
BitBtnCancel->Enabled = false;
BitBtnAdd->Enabled = true;
BitBtnEdit->Enabled = true;
BitBtnDelete->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::ComboBoxLxChange(TObject *Sender)
{
AnsiString sBh;
ComboBoxBh->Items->Clear();
pKqjBh->Close();
pKqjBh->Parameters->ParamByName("Lx")->Value =ComboBoxLx->Text;
pKqjBh->Open();
while(!pKqjBh->Eof)
{
sBh = pKqjBh->FieldByName("kqjbh")->AsString;
ComboBoxBh->Items->Add(sBh);
pKqjBh->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtn1Click(TObject *Sender)
{
int nBh,nCom,nZt;
unsigned short nYear,nMonth,nDay,nHour,nMinute,nSecond,nWeek,nMsec;
String sTemp;
TDateTime dtDate,dtTime;
dtDate = DateTimePicker1->DateTime;
dtTime = DateTimePicker2->DateTime;
dtDate.DecodeDate(&nYear,&nMonth,&nDay);
dtTime.DecodeTime(&nHour,&nMinute,&nSecond,&nMsec);
nWeek = dtDate.DayOfWeek();
nWeek = nWeek - 1;
if (nWeek == 0) nWeek = 7;
if (ComboBoxBh->Text.IsEmpty())
{
ShowMessage("请选择考勤机!");
ComboBoxBh->SetFocus();
return;
}
nBh = ComboBoxBh->Text.ToInt();
if (ComboBoxLx->Text == "舒特考勤机")
{
nCom = _TESTCOM(nBh,1);
if (nCom == -1)
{
ShowMessage("找不到考勤机或打开串口失败!请检查考勤机与电脑连接是否正确!");
return;
}
nZt = _SETTIME(nBh,nCom,nYear,nMonth,nDay,nHour,nMinute,nSecond,nWeek);
if (nZt == 0)
{
ShowMessage("修改考勤机日期时间成功!");
}
else
{
ShowMessage("修改考勤机日期时间失败!");
}
}
else if (ComboBoxLx->Text == "Syris门禁控制器")
{
for (int i =1; i < 3; i++)
{
nCom = Syris_InitComm(i);
if (nCom)
{
nZt = Syris_GetVersion(nBh,NULL);
if(nZt==SYRIS_NOERROR)
{
break;
}
else
{
Syris_CloseComm();
}
}
}
if (!nCom)
{
ShowMessage("初始化端口失败!");
return;
}
if(nZt != SYRIS_NOERROR)
{
ShowMessage("通讯失败!请检查控制器与计算机连接是否正确!");
return;
}
sTemp = dtDate.FormatString("yyyymmdd");
sTemp = sTemp + dtTime.FormatString("hhmmss");
nZt = Syris_SetDatetime(nBh,sTemp.c_str());
if(nZt==SYRIS_NOERROR)
ShowMessage("修改控制器日期时间成功!");
else
ShowMessage("修改控制器日期时间失败!");
Syris_CloseComm();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::ComboBoxBhChange(TObject *Sender)
{
TLocateOptions Opts;
Opts.Clear();
if (pKqjBh->Locate("kqjbh",ComboBoxBh->Text,Opts))
LabelMc->Caption = pKqjBh->FieldByName("kqjmc")->AsString;
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::ComboBoxLx2Change(TObject *Sender)
{
AnsiString sBh;
ComboBoxBh2->Items->Clear();
pKqjBh->Close();
pKqjBh->Parameters->ParamByName("Lx")->Value =ComboBoxLx2->Text;
pKqjBh->Open();
while(!pKqjBh->Eof)
{
sBh = pKqjBh->FieldByName("kqjbh")->AsString;
ComboBoxBh2->Items->Add(sBh);
pKqjBh->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::ComboBoxBh2Change(TObject *Sender)
{
TLocateOptions Opts;
Opts.Clear();
if (pKqjBh->Locate("kqjbh",ComboBoxBh2->Text,Opts))
LabelMc2->Caption = pKqjBh->FieldByName("kqjmc")->AsString;
}
//---------------------------------------------------------------------------
void __fastcall TFormKqjWh::BitBtn2Click(TObject *Sender)
{
int nBh,nCom,nZt;
if (ComboBoxBh2->Text.IsEmpty())
{
ShowMessage("请选择考勤机!");
ComboBoxBh2->SetFocus();
return;
}
if (Application->MessageBox("确定要清空吗?","询问",MB_YESNO) == IDNO)
return;
nBh = ComboBoxBh2->Text.ToInt();
if (ComboBoxLx2->Text == "舒特考勤机")
{
ShowMessage("舒特考勤机暂无此项功能!");
/*
nCom = _TESTCOM(nBh,1);
if (nCom == -1)
{
ShowMessage("找不到考勤机或打开串口失败!请检查考勤机与电脑连接是否正确!");
return;
}
// nZt = _DELETE(nBh,nCom);
if (nZt == 0)
{
ShowMessage("清空考勤机内刷卡数据成功!");
}
else
{
ShowMessage("清空考勤机内刷卡数据失败!");
}
*/
}
else if (ComboBoxLx2->Text == "Syris门禁控制器")
{
for (int i =1; i < 3; i++)
{
nCom = Syris_InitComm(i);
if (nCom)
{
nZt = Syris_GetVersion(nBh,NULL);
if(nZt==SYRIS_NOERROR)
{
break;
}
else
{
Syris_CloseComm();
}
}
}
if (!nCom)
{
ShowMessage("初始化端口失败!");
return;
}
if(nZt != SYRIS_NOERROR)
{
ShowMessage("通讯失败!请检查控制器与计算机连接是否正确!");
return;
}
nZt = Syris_DelAllIodata(nBh);
if(nZt==SYRIS_NOERROR)
ShowMessage("清空控制器刷卡数据成功!");
else
ShowMessage("清空控制器刷卡数据失败!");
Syris_CloseComm();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -