可视化报告物流系统.docx
- 文档编号:24732952
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:19
- 大小:263.82KB
可视化报告物流系统.docx
《可视化报告物流系统.docx》由会员分享,可在线阅读,更多相关《可视化报告物流系统.docx(19页珍藏版)》请在冰豆网上搜索。
可视化报告物流系统
信息科学与工程学院
课程设计报告书
课程名称:
可视化编程技术与应用
班级:
电子信息工程2008级2班
学号:
姓名:
日期:
2010年12月17号
项目名称:
“物流管理”系统
项目要求:
1.用户登录模块
2.查询模块:
能查询物品信息,包括物品类型,发件人,发件地址,收件人,收件人地址,接收时间,投递时间等信息。
3.接受操作:
能接受一件待发送物品。
4.投递操作:
将一件待发送物品送达收件人
1.总体设计
(1).用户登录模块
该模块用来确认用户输入的代码和密码是否合法,若合法着进入主界面,否则只能退出系统,从而保证系统的基本安全。
(2).物品查询模块
该模块用来实现按物品编号或者收件人姓名对物品的基本信息进行查询,还可采用顺序进行查询相关信息。
(3).接受操作模块
该模块用来实现用户接受发送过来的物品,确认无误后,进行删除操作。
(4).投递操作模块
该模块用来物品的添加,包括将要发送的物品的相关信息添加输入及发送操作。
(5).用户管理模块
该模块为系统管理员提供增加或删除用户的手段,也提供一般用户修改密码的操作。
2.创建数据表
(1)创建物品的相关信息表
(2)创建用户的用户名及密码管理
将以上的两个数据表创建好后,存入建好的一个子目录中,并为系统设置好一个数据别名wlxt。
3.创建主界面
在主界面中,可以通过设计菜单或命令按钮的时间响应函数,将完成各个功能的模块连成一个整体。
主界面的程序代码文件UMain.cpp内容如下:
//---------------------------------------------------------------------------
#include
#pragmahdrstop
#include"UMain.h"
#include"UDataQuery.h"
#include"UDataInput.h"
#include"UDataOnput.h"
#include"UPassWord.h"
//---------------------------------------------------------------------------
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
TForm1*Form1;
//---------------------------------------------------------------------------
__fastcallTForm1:
:
TMain(TComponent*Owner)
:
TForm(Owner)
{
}
//---------------------------------------------------------------------------
void__fastcallTMain:
:
BitBtn1Click(TObject*Sender)
{
FDataQuery->Show();
}
//---------------------------------------------------------------------------
void__fastcallTMain:
:
BitBtn2Click(TObject*Sender)
{
FDataInput->Show();
}
//---------------------------------------------------------------------------
void__fastcallTMain:
:
BitBtn3Click(TObject*Sender)
{
FDataOnput->Show();
}
//---------------------------------------------------------------------------
void__fastcallTMain:
:
BitBtn4Click(TObject*Sender)
{
FPassWord->Show();
}
//---------------------------------------------------------------------------
void__fastcallTMain:
:
BitBtn5Click(TObject*Sender)
{
if(MessageDlg("确实要结束程序运行吗?
",mtWarning,TMsgDlgButtons()<<
mbYes< { Application->Terminate(); } } //--------------------------------------------------------------------------- 4.物品查询模块 可实现的查询方式有两种,一是按物品编号,另外还可按姓名查询,只要在编辑Edit中输入有关内容,再单击查询按钮,即可进行查询。 界面中还安排有一组顺序浏览按钮,实际上由DBNavigator组件形成。 //--------------------------------------------------------------------------- #include #pragmahdrstop #include"Unit3.h" #include"Unit6.h" //--------------------------------------------------------------------------- #pragmapackage(smart_init) #pragmaresource"*.dfm" TForm3*Form3; //--------------------------------------------------------------------------- __fastcallTForm3: : TForm3(TComponent*Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void__fastcallTForm3: : Button1Click(TObject*Sender) { boolLocateSuccess; TLocateOptionsSearchOption; SearchOption< switch(RadioGroup1->ItemIndex) { case0: if(Edit1->Text=="") { ShowMessage("请输入要查询的物品编号! "); return; } DataModule1->Table1->SetKey(); DataModule1->Table1->FieldByName("WPBH")->Value=Edit1->Text; if(! DataModule1->Table1->GotoKey()) ShowMessage("经查没有物品编号为"+Edit1->Text+"的学生记录"); break; case1: if(Edit1->Text=="") { ShowMessage("请输入要查询的姓名! "); return; } LocateSuccess=DataModule1->Table1 ->Locate("SJR",Edit1->Text,SearchOption); if(! LocateSuccess) ShowMessage("经查没有姓名为"+Edit1->Text+"的学生记录"); break; } } //--------------------------------------------------------------------------- void__fastcallTForm3: : RadioGroup1Click(TObject*Sender) { switch(RadioGroup1->ItemIndex) { case0: Edit1->Clear(); Edit1->MaxLength=10; break; case1: Edit1->Clear(); Edit1->MaxLength=8; break; } } //--------------------------------------------------------------------------- 5.接受操作模块 接受: 对收到的物品进行确认并通知系统收件人已收到。 删除: 完成接收后将物品从系统清单中删除。 对于以上操作,在DBNavigator元件中可以使用nbDelete和nbCancel两个按钮元件解决删除和取消操作。 //--------------------------------------------------------------------------- #include #pragmahdrstop #include"Unit4.h" //--------------------------------------------------------------------------- #pragmapackage(smart_init) #pragmaresource"*.dfm" TForm4*Form4; //--------------------------------------------------------------------------- __fastcallTForm4: : TForm4(TComponent*Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void__fastcallTForm4: : DBNavigator1Click(TObject*Sender, TNavigateBtnButton) { } //--------------------------------------------------------------------------- 6.投递操作模块 对于以上操作,在DBNavigator元件中可以使用nbFirst,nbNext,nbInsert和nbCancel两个按钮元件解决删除和取消操作。 //--------------------------------------------------------------------------- #include #pragmahdrstop #include"Unit5.h" //--------------------------------------------------------------------------- #pragmapackage(smart_init) #pragmaresource"*.dfm" TForm5*Form5; //--------------------------------------------------------------------------- __fastcallTForm5: : TForm5(TComponent*Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void__fastcallTForm5: : DBNavigator1Click(TObject*Sender, TNavigateBtnButton) { } //--------------------------------------------------------------------------- 7.用户管理模块 //--------------------------------------------------------------------------- #include #pragmahdrstop #include"Unit6.h" //--------------------------------------------------------------------------- #pragmapackage(smart_init) #pragmaresource"*.dfm" TForm6*Form6; //--------------------------------------------------------------------------- __fastcallTForm6: : TForm6(TComponent*Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void__fastcallTForm6: : Edit1KeyUp(TObject*Sender,WORD&Key, TShiftStateShift) { if(Key==12&&Edit1->Text! ="") { Edit2->Text=""; Edit2->SetFocus(); } if(Key==27) { if(Edit1->Text=="") Application->Terminate(); elseEdit1->Text=""; } } //--------------------------------------------------------------------------- void__fastcallTForm6: : Edit2KeyUp(TObject*Sender,WORD&Key, TShiftStateShift) { if(Key==13&&Edit2->Text! ="") { Table1->SetKey(); Table1->FieldByName("UserID")->Value=Edit1->Text; if(Table1->GotoKey()) { if(Table1->FieldByName("UserPwd")->AsString==Edit2->Text) { if(Table1->FieldByName("UserLev")->AsString==1) GroupBox2->Visible=true; elseGroupBox3->Visible=true; }else { ShowMessage("用户密码错误! "); return; } }else { ShowMessage("用户帐号错误! "); return; } } } //--------------------------------------------------------------------------- void__fastcallTForm6: : Button1Click(TObject*Sender) { if(Edit3->Text! =Edit4->Text) { ShowMessage("两次输入的密码不一致,猪头! "); return; } else { Table1->Edit(); Table1->FieldByName("UserPwd")->AsString=Edit3->Text; Table1->Post(); ShowMessage("密码修改成功! "); Close(); } } //--------------------------------------------------------------------------- void__fastcallTForm6: : Button2Click(TObject*Sender) { Close(); } //--------------------------------------------------------------------------- void__fastcallTForm6: : FormShow(TObject*Sender) { Edit1->Text=""; Edit2->Text=""; GroupBox2->Visible=false; GroupBox3->Visible=false; } //--------------------------------------------------------------------------- 8.用户登录模块 //--------------------------------------------------------------------------- #include #pragmahdrstop #include"Unit2.h" #include"Unit1.h" //--------------------------------------------------------------------------- #pragmapackage(smart_init) #pragmaresource"*.dfm" TForm2*Form2; //--------------------------------------------------------------------------- __fastcallTForm2: : TForm2(TComponent*Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void__fastcallTForm2: : Edit1KeyUp(TObject*Sender,WORD&Key, TShiftStateShift) { if(Key==13&&Edit1->Text! ="") { Edit2->Text=""; Edit2->SetFocus(); } if(Key==27){ if(Edit1->Text=="") Application->Terminate(); elseEdit1->Text=""; } } //--------------------------------------------------------------------------- void__fastcallTForm2: : Edit2KeyUp(TObject*Sender,WORD&Key, TShiftStateShift) { if(Key==13&&Edit2->Text! ="") { if(CheckUser(Edit1->Text.Trim(),Edit2->Text.Trim())) { this->Hide(); Form1->ShowModal(); } else { MessageDlg("请输入正确的用户名和密码! ",mtWarning,TMsgDlgButtons()< Edit1->Text=""; Edit1->SetFocus(); } } if(Key==27) { if(Edit2->Text=="") Application->Terminate(); elseEdit2->Text=""; } } //--------------------------------------------------------------------------- void__fastcallTForm2: : FormShow(TObject*Sender) { Edit1->SetFocus(); Edit2->Text=""; Edit2->Text=""; } //--------------------------------------------------------------------------- bool__fastcallTForm2: : CheckUser(AnsiStringUserID,AnsiStringUserPsw) { Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("SELECT*FROMUSERMWHEREUserID='"+UserID+"'"); try { Query1->Open(); } catch(...) { ShowMessage("请输入正确的用户名和密码! "+Query1->SQL->Text); Edit1->Text=""; Edit1->SetFocus(); } if(Query1->RecordCount! =0) { while(! Query1->Eof) { if(Trim((AnsiString)Query1->FieldByName("UserPwd")->Value)==UserPsw) { Query1->Close(); returntrue; } Query1->Next(); } returnfalse; } Query1->Close(); returnfalse; } 心得体会: 经过C++的学习,我终于见识到来什么是可视化编程,做界面就像画图,把程序员的主要精力集中于编写代码。 学习的过程起伏曲折,开始时,什么都不明白,在一次次老师的引导下,和自己不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 报告 物流 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)