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

📄 untclientmain.cpp

📁 关于书籍《Borland c++Builder工程实践》的源代码
💻 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 + -