C++物流管理系统(功能结构图+源代码+论文参考文献) 第9页
//将文本存入数组
Cstring sValue[50],sCaption[50],sType[50];
for(int I=0;I<m_ColCount;I++)
{
sType[I]=rst.GetFieldType(i);
pEdt[I].GetWindowText(sValue[I]);
pSta[I].GetWindowText(sCaption[I]);
sCaption[I]=sCaption[I].Left(sCaption[I].GetLength()-1);
if(sValue[I].IsEmpty()==true && rst.IsNull(i)==true){//判断数据表中字段是否允许为空
MessageBox(“『”+sCaption[I]+”』 字段不允许为空!”,”系统提示”,\
MB_OK|MB_ICONSTOP);
pEdt[I].SetFocus();
return;
}
if(rst.GetFieldType(i)==”日期型”){
if(IsTime(sValue[I])==false) { //判断用户输入的日期格式是否正确
MessageBox(“请输入正确的日期格式,如“1983-06-16”、“83/6/16”等”,\
“系统提示”,MB_OK|MB_ICONSTOP);
pEdt[I].SetFocus();
return;
}
}
}
//组成新字符串
Cstring sValueString,str,sFiledString;
if(m_IsAdd==true) {
sValueString=””;
sFiledString=””;
for(I=0;I<m_ColCount;I++){
str=””;
str=sValueString;
if(sType[I]==”数值型”)
sValueString.Format(“%s,%s”,str,sValue[I]);
else
sValueString.Format(“%s,’%s’”,str,sValue[I]);
str=””;
str=sFiledString;
sFiledString.Format(“%s,%s”,str,sCaption[I]);
}
}
else{
sValueString=””;
for(I=1;I<m_ColCount;I++){
str=””;
str=sValueString;
if(sType[I]==”数值型”)
sValueString.Format(“%s,%s=%s”,str,sCaption[I],sValue[I]);
else
sValueString.Format(“%s,%s=’%s’”,str,sCaption[I],sValue[I]);
}
}
sFiledString=sFiledString.Right(sFiledString.GetLength()-1);
Cstring sSQL;
if(m_IsAdd==true)
sSQL.Format(“INSERT INTO %s (%s) VALUES(%s)”,\
m_DataBaseName,sFiledString,sValueString.Right(sValueString.GetLength()-1));
else{
if(sType[0]==”数值型”)
sSQL.Format(“UPDATE %s SET %s WHERE %s=%s”,m_DataBaseName\
sValueString.Right(sValueString.GetLength()-1),sCaption[0],sValue[0]);
else
sSQL.Format(“UPDATE %s SET %s WHERE %s=’%s’”,m_DataBaseName,\
sValueString.Right(sValueString.GetLength()-1),sCaption[0],sValue[0]);
}
if(rst.Open(sSQL,adCmdText)==false) {
MessageBox(“数据保存失败!”,”系统提示”,MB_OK|MB_ICONSTOP);
pEdt[1].SetFocus();
return;
}
this->Enabled(false);
this->m_ButCommand[1].SetFocus();
}
void CDBaseDlg::OnButexit() //退出
{
this->OnCancel();
}
4.3 业务类
1.销售结款模块
实现目标
销售结款模块主要完成如下功能:
自动生成结款票号及开票日期。
可以由销售开票单直接生成销售结款单,简化经手人的作业。
提供预计偿还欠款日期设置。
支持数据统计及金额核算功能。
支持合计金额的大小写的转换功能。
支持销售结款单据的打印。
销售结款及打印模块运行界面如图8所示。
图8 销售结款模块运行界面
设计步骤
(1)向项目中添加一个新Dialog资源,资源ID为IDD_OPERATION。从Controls面板上向Dialog资源中添加18个Static、4个Edit、1个ListControl、3个Button控件。IDD_OPERATION对应的类为CDOperation。
(2)与销售结款模块对应的类为CDCheck,它是从业务基类CDOperation直接派生而来。
代码分析
重载父类纯虚函数,进行初始化设置。
void CDCheck::Init()
{
this->DrawCheck();
this->SetCaption("销售结款");
this->SetManTitle("经 手 人:");
this->SetNoteIDTitle("结款票号:");
this->SetStoreTitle("销售票号:");
this->SetOperationTitle("客 户:");
this->SetGridHeader("扫描码 , 商品名称 , 规格 , 产地 , 计量单位 , 销售数量 , \
销售单价 , 合计金额");
this->SetHeadersWidth("70 , 100 , 60 , 100 , 74 , 74 , 74 , 76");
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
C++物流管理系统(功能结构图+源代码+论文参考文献) 第9页下载如图片无法显示或论文不完整,请联系qq752018766