📄 untclientmain.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "untClientMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmClientMain *frmClientMain;
//---------------------------------------------------------------------------
__fastcall TfrmClientMain::TfrmClientMain(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmClientMain::btnExitClick(TObject *Sender)
{
//关闭对话框
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmClientMain::Ini()
{
TLabel *pLabel;
TEdit *pEdit;
int i;
//选定实验而实验存在的时候提交按钮才可用
btnSubmit->Enabled=False;
//依次获得Label1~Label18控件的索引号,赋给pLabel
//通过pLabel改变Label1~Label18的visible
//pEdit同上类似
for(i=1;i<=18;i++)
{
pLabel=(TLabel*)FindComponent("Label"+IntToStr(i));
pLabel->Visible=False;
pEdit=(TEdit*)FindComponent("Edit"+IntToStr(i));
pEdit->Visible=False;
number[i]=0;
}
}
void __fastcall TfrmClientMain::FormCreate(TObject *Sender)
{
frmClientMain->Ini();
}
//---------------------------------------------------------------------------
void __fastcall TfrmClientMain::btnOkClick(TObject *Sender)
{
int iCount;
TLabel *pLabel;
TEdit *pEdit;
if (ComboBox1->ItemIndex!=-1)
{
frmClientMain->Ini();
ClientDataSet1->Close();
//把获得实验名称赋值给参数
ClientDataSet1->Params->ParamByName("paramtestid")->AsString=
"%#"+IntToStr(ComboBox1->ItemIndex+1)+"#%";
ClientDataSet1->Open();
//如果没有该实验的相关记录
if(BoolToStr(ClientDataSet1->Eof)=="-1")
{
ShowMessage("没有这个实验的器材信息");
}
//该实验的相关记录存在
else
{
btnSubmit->Enabled=True;
ClientDataSet1->First();
//显示与该实验相关的器材名称+规格
//每个器材名称后面一个edit控件用于输入该器材预定数量
for(iCount=1;iCount<=ClientDataSet1->RecordCount;iCount++)
{
pLabel=(TLabel*)FindComponent("Label"+IntToStr(iCount));
pLabel->Visible=True;
pLabel->Caption=ClientDataSet1->FieldByName("EQUIPNAME")->AsString+
ClientDataSet1->FieldByName("SPECIFICATION")->AsString;
pEdit=(TEdit*)FindComponent("Edit"+IntToStr(iCount));
pEdit->Visible=True;
pEdit->Text="0";
//把该实验用到每种器材的总数储存在number数组中
number[iCount]=ClientDataSet1->FieldByName("NUMBER")->AsInteger;
ClientDataSet1->Next();
Edit1->SetFocus();
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmClientMain::btnSubmitClick(TObject *Sender)
{ int iCount;
TLabel *pLabel;
TEdit *pEdit;
ClientDataSet1->First();
for(iCount=1;iCount<=ClientDataSet1->RecordCount;iCount++)
{
pEdit=(TEdit*)FindComponent("Edit"+IntToStr(iCount));
//现有实验器材数量小于要预定的器材数量
if(StrToInt(pEdit->Text)>number[iCount])
{ ClientDataSet1->CancelUpdates();
ShowMessage("器材数量不够,请明天来预约!");
return;
}
else
{
ClientDataSet1->Edit();
ClientDataSet1->FieldByName("NUMBER")->AsInteger=
number[iCount]-StrToInt(pEdit->Text);
ClientDataSet1->Next();
}
}
//向后台数据库提交更新
ClientDataSet1->ApplyUpdates(0);
ShowMessage("预约成功!");
//窗体初始化,ComboBox1获得焦点
frmClientMain->Ini();
ComboBox1->SetFocus();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -