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

📄 cost.cpp

📁 校园刷卡系统
💻 CPP
字号:
#include"PassWord.h"
#include"Query3_0.h"

#ifndef HIS
#include"../ClassHead/User.hpp"
#include"../ClassHead/Hospitalize.hpp"
#endif

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Cost.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

extern void HISQuery(TQuery*qPtr,String&s,bool b);
extern void logout(User*u,TForm*form,TQuery*query);
extern bool isDouble(AnsiString str);
extern User*currentUser;

extern bool isInteger(AnsiString str,bool minus);

static Coster currEmp;

double mon;

String s1;

int flag=0;

static TQueryForm3_0* QForm0=NULL;

TCostForm *CostForm;

static void ClearPage1(TCostForm*fp)
{
 fp->LabeledEdit2->Text="";
 fp->LabeledEdit3->Text="";
 fp->LabeledEdit4->Text="";
 fp->LabeledEdit5->Text="";
 fp->LabeledEdit6->Text="";
}

static void ClearPage2(TCostForm*fp)
{
 fp->LabeledEdit1->Text="";
 fp->LabeledEdit2->Text="";
 fp->LabeledEdit3->Text="";
 fp->LabeledEdit4->Text="";
 fp->LabeledEdit5->Text="";
 fp->LabeledEdit6->Text="";
}

//---------------------------------------------------------------------------
__fastcall TCostForm::TCostForm(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------

void __fastcall TCostForm::FormCreate(TObject *Sender)
{
QForm0=new TQueryForm3_0(this);
}
//---------------------------------------------------------------------------


void __fastcall TCostForm::FormActivate(TObject *Sender)
{
if(currEmp.getEmpID()==0)
{
String name=currentUser->getName();
currEmp.setData(currentUser->getEmpID(),name);
showname->Caption=IntToStr(currentUser->getEmpID())+" "+name;
}
currentUser->setStartTime();
LabeledEdit6->Visible=false;
Button2->Visible=false;
}
//---------------------------------------------------------------------------


void __fastcall TCostForm::LabeledEdit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
TField*f,*f1,*f2,*f3;
if(Key==13)
{
ClearPage1(this);
if(LabeledEdit1->Text!="")
{
if(isInteger(LabeledEdit1->Text,false))
{
s1=LabeledEdit1->Text;
String sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
if(Query2->IsEmpty())
{ShowMessage("无此学生!");Query2->Close();}
else
{
f=Query2->FieldByName("schoolID");
String s2=f->AsString;
sql="select*from Student where schoolID="+s2;
HISQuery(Query1,sql,true);
f1=Query1->FieldByName("name");
f2=Query1->FieldByName("sex");
f3=Query2->FieldByName("moneyLeft");
LabeledEdit2->Text=f1->AsString;
LabeledEdit3->Text=f2->AsString;
LabeledEdit4->Text=f3->AsString;
Query1->Close();
Query2->Close();
}
}
else
{ShowMessage("卡号非法,必须是整型数!");}
}
else
{ShowMessage("卡号不能为空!");}
}
}
//---------------------------------------------------------------------------



void __fastcall TCostForm::LabeledEdit5KeyDown(TObject *Sender,
      WORD &Key, TShiftState Shift)
{TField*f;
if(Key==13)
{
if(LabeledEdit2->Text!="")
{
if(isInteger(LabeledEdit2->Text,false))
{
s1=LabeledEdit1->Text;
String sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
if(isDouble(LabeledEdit5->Text))
{
double num=(LabeledEdit5->Text).ToDouble();
f=Query2->FieldByName("moneyLeft");
mon=f->AsFloat;
if(mon-num<0)
{ShowMessage("余额不足,请先充值!");}
else
{
if(num<=50)
{
sql="update Card set moneyLeft=moneyLeft-("+LabeledEdit5->Text+") where cardID='"+s1+"'";
HISQuery(Query2,sql,false);
sql="insert into Record(cardID,useTime,shop,inType,inMoney)values('"+s1+"','"+Now().CurrentDateTime()+"','"+"2"+"','"+"2"+"','"+LabeledEdit5->Text+"')";
HISQuery(Query3,sql,false);
currEmp.addStudentSum();
currEmp.addMoneySum(num);
{ShowMessage("刷卡完成!");}
sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
f=Query2->FieldByName("moneyLeft");
LabeledEdit4->Text=f->AsString;
flag=0;
Button2->Visible=true;
}
else
{
ShowMessage("请在密码区域中输入密码。");
LabeledEdit6->Visible=true;
}
}
}
else
{ShowMessage("请正确输入金额!");}
}
else
{ShowMessage("卡号非法,必须是整型数!");}
}
else
{ShowMessage("请先输入卡号后按回车确定!");}
Query2->Close();
Query3->Close();
}
}
//---------------------------------------------------------------------------


void __fastcall TCostForm::LabeledEdit6KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
TField*f;
TField*f1;
if(Key==13)
{
if(LabeledEdit6->Text!="")
{
if(isInteger(LabeledEdit6->Text,false))
{
s1=LabeledEdit1->Text;
String sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
double num=(LabeledEdit5->Text).ToDouble();
f=Query2->FieldByName("moneyLeft");
mon=f->AsFloat;
if(mon-num<0)
{ShowMessage("余额不足,请先充值!");}
else
{
f1=Query2->FieldByName("code");
double c1=f1->AsFloat;
double c2=(LabeledEdit6->Text).ToDouble();
if(c1==c2)
{
sql="update Card set moneyLeft=moneyLeft-("+LabeledEdit5->Text+") where cardID='"+s1+"'";
HISQuery(Query2,sql,false);
sql="insert into Record(cardID,useTime,shop,inType,inMoney)values('"+s1+"','"+Now().CurrentDateTime()+"','"+"2"+"','"+"2"+"','"+LabeledEdit5->Text+"')";
HISQuery(Query3,sql,false);
currEmp.addStudentSum();
currEmp.addMoneySum(num);
{ShowMessage("刷卡完成!");}
sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
f=Query2->FieldByName("moneyLeft");
LabeledEdit4->Text=f->AsString;
flag=0;
LabeledEdit6->Visible=false;
Button2->Visible=true;
}
else
{
ShowMessage("密码错误,请重新输入!");
LabeledEdit6->Text="";
}
}
}
else
{ShowMessage("卡号非法,必须是整型数!");}
}
else
{ShowMessage("请先输入卡号后按回车确定!");}
Query2->Close();
Query3->Close();
}
}

//---------------------------------------------------------------------------

void __fastcall TCostForm::Button2Click(TObject *Sender)
{
if(flag==0)
{
TField*f;
String sql;
sql="update Card set moneyLeft=moneyLeft+("+LabeledEdit5->Text+") where cardID='"+s1+"'";
HISQuery(Query2,sql,false);
sql="insert into Record(cardID,useTime,shop,inType,inMoney)values('"+s1+"','"+Now().CurrentDateTime()+"','"+"2"+"','"+"0"+"','"+LabeledEdit5->Text+"')";
HISQuery(Query3,sql,false);
sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
f=Query2->FieldByName("moneyLeft");
LabeledEdit4->Text=f->AsString;
ShowMessage("上次刷卡已撤销!");
flag=1;
}
else
{ShowMessage("不能再次撤销!");}
}
//---------------------------------------------------------------------------


void __fastcall TCostForm::Timer1Timer(TObject *Sender)
{
showtime->Caption=Now().CurrentDateTime();
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N4Click(TObject *Sender)
{
logout(currentUser,this,PassWordForm->Query1);
ClearPage2(this);
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N6Click(TObject *Sender)
{
PassWordForm->Close();
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N7Click(TObject *Sender)
{
ShowMessage("开始工作时间:"+currentUser->getStartTime().TimeString());
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N9Click(TObject *Sender)
{
ShowMessage("刷卡人数:"+IntToStr(currEmp.getSSum()));
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N10Click(TObject *Sender)
{
ShowMessage("刷卡总金额:"+String(currEmp.getMSum()));
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N11Click(TObject *Sender)
{
Application->HelpContext(13);
}
//---------------------------------------------------------------------------

void __fastcall TCostForm::N13Click(TObject *Sender)
{
Application->HelpContext(27);
}
//---------------------------------------------------------------------------


void __fastcall TCostForm::N14Click(TObject *Sender)
{
QForm0->Show();
}
//---------------------------------------------------------------------------




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -