delphi物资管理系统.docx
- 文档编号:6846001
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:27
- 大小:380.17KB
delphi物资管理系统.docx
《delphi物资管理系统.docx》由会员分享,可在线阅读,更多相关《delphi物资管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
delphi物资管理系统
课程设计说明书NO.1
物资管理系统
1.课程设计目的
通过课程设计进一步掌握Delphi的基本命令,熟练掌握面向对象程序设计方法和编程技巧,掌握数据库设计方法,能用Delphi编写小型数据库应用程序。
2.设计方案论证
2.1设计思路
随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。
物资管理系统为企事业单位管理人员日常工作的调度、安排、计划。
分为计划管理、物资管理、资金管理等提供充足的信息和快捷的查询手段.其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
货运管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
2.2需求分析
2.2.1功能需求
(1)有关物资基本信息的基本输入,包括物资编号、物资名称、规格型号、种类和计量单位等。
(2)物资基本信息的查询。
物资基本信息的修改。
(3)入库物资信息的输入,入库物资信息的修改,入库物资信息的查询。
(4)出库物资信息的输入,出库物资信息的修改,出库物资信息的查询。
(5)物资余额信息的查询,物资余额信息的浏览。
功能模块如图1所示:
沈阳大学
课程设计说明书NO.2
图1系统功能模块图
2.2.2性能需求
(1)数据精确度
在进行向数据库文件提取数据时,要求数据记录定位准确
(2)时间特性
程序响应时间:
在人的感觉和视觉事件范围内;
信息交换时间:
要求在程序调用前调用后都与数据库保持同步更新,网络信息交换施加应该小于程序调用的时间
(3)适应性
要求数据库具有很好的更新能力,由于本产品是实验性软件,故对磁盘和内存容量没有很高的要求,但是数据库应该能够对并发事件,脏数据具有较强的识别处理能力。
沈阳大学
课程设计说明书NO.3
3.设计结果与分析
3.1表设计
表1Material物资基本信息表
列名
数据类型
可否为空
说明
wzid
varchar
NOTNULL
物资编号
wzname
varchar
NOTNULL
物资名称
wzspec
varchar
NOTNOT
规格型号
wzkind
varchar
NULL
类别
wzunit
varchar
NULL
计量单位
表2msave入库物资信息表
列名
数据类型
可否为空
说明
rkno
varchar
NOTNULL
入库编号
rkid
varchar
NOTNULL
入库物资编号
rkname
varchar
NULL
物资名称
rkspec
varchar
NULL
规格型号
rkkind
varchar
NULL
种类
rkunit
varchar
NULL
单位
rkaccount
numeric
NOTNULL
数量
rkprice
numeric
NOTNULL
单价
rkvalue
numeric
NOTNULL
金额
rkdate
datetime
NOTNULL
入库时间
rkdeal_person
varchar
NOTNULL
经办人
rksave_person
varchar
NOTNULL
保管人
rkbase
varchar
NULL
仓库
表3msurplus物资余额信息表
列名
数据类型
可否为空
说明
yeid
varchar
NOTNULL
物资编号
yename
varchar
NOTNULL
物资名称
yespec
varchar
NULL
规格型号
yekind
varchar
NULL
类别
yeunit
numeric
NULL
计量单位
yeaccount
numeric
NOTNULL
数量
yevalue
numeric
NOTNULL
金额
yebase
varchar
NOTNULL
仓库
yememo
text
NULL
备注
沈阳大学
课程设计说明书NO.4
表4muse出库物资信息表
列名
数据类型
可否为空
说明
lyno
varchar
NOTNULL
出库编号
lyid
varchar
NOTNULL
出库物资编号
lyname
varchar
NULL
物资名称
lyspec
varchar
NULL
规格型号
lykind
varchar
NULL
种类
lyunit
varchar
NULL
单位
lyaccount
numeric
NOTNULL
数量
lyprice
numeric
NULL
单价
lyvalue
numeric
NULL
金额
lydate
datetime
NOTNULL
出库时间
lyuse_person
varchar
NOTNULL
经办人
lydeal_person
varchar
NOTNULL
保管人
lybase
varchar
NULL
仓库
lymemo
text
NULL
备注
3.2登录的界面
登录界面用于验证用户登录本系统。
图2登录的界面
部分代码如下:
var
LogoForm:
TLogoForm;
implementation
usesLoginUnit;
{$R*.dfm}
procedureTLogoForm.FormCreate(Sender:
TObject);
var
沈阳大学
课程设计说明书NO.5
begin
Foundwin:
=FindWindow(nil,'物资管理系统-');//查找窗口
ifFoundwin<>0thenbegin
//调用Delphi自带的查询窗口函数,查找特定标题的窗体
//若找到则激活已运行的程序,同时结束自身
ShowWindow(Foundwin,SW_RESTORE);
halt;
end;
end;
procedureTForm1.Button1Click(Sender:
TObject);
begin
ifedit1.Text=''then
begin
MessageDlg('请输入用户名!
',mtInformation,[mbYes],0);
exit;
end;
ifedit2.Text=''then
begin
MessageDlg('请输入密码!
',mtInformation,[mbYes],0);
exit;
end;
ifRadioButton2.Checkedthen
withADOQuery1do
begin
Close;
SQL.Clear;
SQL.Add('select*fromT_userwhere(user_id=:
a)and(password=:
b)');
Parameters.ParamByName('a').Value:
=Trim(Edit1.Text);
Parameters.ParamByName('b').Value:
=Trim(Edit2.Text);
Open;
end
else
withADOQuery1do
begin
Close;
SQL.Clear;
SQL.Add('select*fromT_userwhere(user_id=:
a)and(password=:
b)and(type=:
c)');
Parameters.ParamByName('a').Value:
=Trim(Edit1.Text);
Parameters.ParamByName('b').Value:
=Trim(Edit2.Text);
Parameters.ParamByName('c').Value:
=Trim(RadioButton1.Caption);
Open;
end;
ifADOQuery1.RecordCount>0then
begin
showMessage('登陆成功!
');
form1.hide;
form2.show;
end
else
begin
沈阳大学
课程设计说明书NO.6
sql.Clear;
sql.Add('select*fromT_sellwhere');
sql.Add(Trim(ComboBox2.Text));
sql.Add('=');
sql.Add(':
a');
Parameters.ParamByName('a').value:
=Trim(edit2.Text);
execsql;
ADOQuery1.Active:
=true;
end
Application.MessageBox('用户名或密码有误,请重新尝试!
','提示',MB_OK+MB_ICONWARNING);
end
end;
3.3主界面设计
主界面向用户展示本系统的各种主要功能。
图3主界面
部分代码如下:
unitMainUnit;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,ExtCtrls,TFlatButtonUnit,TFlatPanelUnit,Menus,SHellapi,jpeg;
const
ChildFormNum=10;
沈阳大学
课程设计说明书NO.7
type
TMainForm=class(TForm)
MainMenu1:
TMainMenu;
N62:
TMenuItem;
N63:
TMenuItem;
N64:
TMenuItem;
N65:
TMenuItem;
N66:
TMenuItem;
Image1:
TImage;
N32:
TMenuItem;
N1:
TMenuItem;
N2:
TMenuItem;
N3:
TMenuItem;
N4:
TMenuItem;
N5:
TMenuItem;
N6:
TMenuItem;
N7:
TMenuItem;
N8:
TMenuItem;
N9:
TMenuItem;
N15:
TMenuItem;
N16:
TMenuItem;
N19:
TMenuItem;
N11:
TMenuItem;
N20:
TMenuItem;
N21:
TMenuItem;
Timer1:
TTimer;
FlatButton1:
TFlatButton;
FlatButton2:
TFlatButton;
FlatButton3:
TFlatButton;
FlatButton4:
TFlatButton;
FlatButton5:
TFlatButton;
FlatButton6:
TFlatButton;
FlatButton7:
TFlatButton;
FlatButton8:
TFlatButton;
FlatButton10:
TFlatButton;
FlatButton11:
TFlatButton;
FlatButton12:
TFlatButton;
FlatButton13:
TFlatButton;
FlatButton9:
TFlatButton;
Panel1:
TPanel;
FlatPanel2:
TFlatPanel;
沈阳大学
课程设计说明书NO.8
procedureFormCreate(Sender:
TObject);
procedureFormShow(Sender:
TObject);
procedureN6Click(Sender:
TObject);
procedureN2Click(Sender:
TObject);
procedureN3Click(Sender:
TObject);
procedureFlatButton13Click(Sender:
TObject);
procedureN4Click(Sender:
TObject);
procedureN15Click(Sender:
TObject);
procedureN16Click(Sender:
TObject);
procedureN63Click(Sender:
TObject);
procedureN64Click(Sender:
TObject);
procedureN65Click(Sender:
TObject);
procedureN66Click(Sender:
TObject);
procedureN19Click(Sender:
TObject);
procedureN20Click(Sender:
TObject);
procedureN21Click(Sender:
TObject);
procedureTimer1Timer(Sender:
TObject);
procedureFlatButton10Click(Sender:
TObject);
procedureFlatButton11Click(Sender:
TObject);
procedureFlatButton12Click(Sender:
TObject);
procedureN8Click(Sender:
TObject);
procedureN9Click(Sender:
TObject);
procedureFormCloseQuery(Sender:
TObject;varCanClose:
Boolean);
private
FirstTime:
Boolean;
vmo,vho,vso:
Real;
{Privatedeclarations}
public
QuanXian:
integer;
FName:
String;
{Publicdeclarations}
end;
var
MainForm:
TMainForm;
PrintFile:
integer;
implementation
usesHUANYINUnit,DENLUUnit,BangZhuUnit,YHGLUnit,XGKLUnit,HYUnit,
KUUnit,CDUnit,BFHFUnit,FHXXUnit,SHXXUnit,HYDJUnit,DLUnit,
YWYUnit,KHFYUnit,DMUnit,PrintUnit,CallPrint,MonthUnit,YEARUnit;
{$R*.dfm}
procedureTMainForm.FormCreate(Sender:
TObject);
沈阳大学
课程设计说明书NO.9
var
i:
integer;
begin
{ifdate>strtodate(trim('2003-9-30'))then
try
ShowMessage('本系统使用已到期,请注册!
');
Application.Terminate;
except
end;}
withMainForm.Image2.Canvasdo
begin
Pen.Color:
=clwhite;
Pen.Style:
=psSolid;
Brush.Color:
=clwhite;
Brush.Style:
=bsSolid;
Rectangle(0,0,width,Height);
pen.Color:
=clBlack;
fori:
=1to12do
Pixels[17+Round(17*sin(i/12.0*2*pi)),17-round(17*cos(i/12.0*2*pi))]:
=clblack;
end;
FirstTime:
=true;
end;
procedureTMainForm.FormShow(Sender:
TObject);
begin
DENLUForm:
=TDENLUForm.Create(Application);
DENLUForm.ShowModal;
end;
procedureTMainForm.N6Click(Sender:
TObject);
begin
BangZhuForm:
=TBangZhuForm.Create(Self);
BangZhuForm.ShowModal;
end;
procedureTMainForm.N2Click(Sender:
TObject);
begin
ifMainForm.QuanXian=2then
begin
ShowMessage('你的权限不够!
');
exit;
end;
YHGLForm:
=TYHGLForm.Create(Self);
YHGLForm.ShowModal;
沈阳大学
课程设计说明书NO.10
end;
procedureTMainForm.N3Click(Sender:
TObject);
begin
XGKLForm:
=TXGKLForm.Create(Self);
XGKLForm.ShowModal;
end;
procedureTMainForm.FlatButton13Click(Sender:
TObject);
begin
close;
end;
procedureTMainForm.N4Click(Sender:
TObject);
begin
ifMainForm.QuanXian=2then
begin
ShowMessage('你的权限不够!
');
exit;
end;
BFHFForm:
=TBFHFForm.Create(Self);
BFHFForm.ShowModal;
end;
procedureTMainForm.N15Click(Sender:
TObject);
var
i,j:
Integer;
FindOne:
Boolean;
begin
FindOne:
=False;
Fori:
=0toMDIChildCount-1do
Forj:
=0toChildFormNum-1do
ifMDIChildRen[i]isTFHXXFormthen
begin
FindOne:
=True;
FHXXForm.Show;
Break;
end;
ifnotFindOnethen
FHXXForm:
=TFHXXForm.Create(Self);
end;
procedureTMainForm.N16Click(Sender:
TObject);
var
I,j:
Integer;
FindOne:
Boolean;
沈阳大学
课程设计说明书NO.11
begin
FindOne:
=False;
Fori:
=0toMDIChildCount-1do
Forj:
=0toChildFormNum-1do
ifMDIChildRen[i]isTSHXXFormthen
begin
FindOne:
=True;
SHXXForm.Show;
Break;
end;
ifnotFindOnethen
SHXXFORM:
=TSHXXForm.Create(Self);
end;
procedureTMainForm.N63Click(Sender:
TObject);
var
i,j:
Integer;
FindOne:
Boolean;
begin
FindOne:
=False;
Fori:
=0toMDIChildCount-1do
Forj:
=0toChildFormNum-1do
ifMDIChildren[i]isTHYDJFormthen
begin
FindOne:
=True;
HYDJForm.Show;
Break;
ifnotFindOnethen
HYDJForm:
=THYDJForm.Create(Self);
end;
procedureTMainForm.N64Click(Sender:
TObject);
var
i,j:
Integer;
FindOne:
=False;
Fori:
=0toMDIChildCount-1do
Forj:
=0toChildFormNum-1do
IfMDIChildRen[i]isTKHFormthen
begin
FindOne:
=True;
KHForm.Show;
Break;
end;
沈阳大学
课程设计说明书NO.12
3.4资金入账界面
资金入账界面用于用户向系统输入资金的入账的情况。
图4资金入账界面
部分代码如下:
objectHYDJForm:
THYDJForm
Left=42
Top=132
Width=1023
Height=516
Caption='海运单价'
Color=clBtnFace
Font.Charset=DEFAULT_CHARSET
Font.Color=clWindowText
Font.Height=-11
Font.Name='MSSansSerif'
OldCreateOrder=False
WindowState=wsMaximized
OnClose=FormClose
On
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- delphi 物资 管理 系统