《物流信息系统》课程设计报告 物流管理专业
第3章 系统实现
3.1登录模块设计
启动程序,首先进入登录模块,该模块用来确认用户身份,保证数据的安全性。在该模块中使用了TDBLookupListBox组件,该组件能将被查找字段的值自动添加到它的列表中,用户可以在该组件中选取用户名进行登录。
3.1.1设计步骤
1)新建窗体,设置BorderStyle属性(边框类型)为“bsNone”,在窗体上放置一个TImage组件,设置其Stretch属性为“true”图片放大或缩小以TImage组件边框为准,pictures属性选择图片(背景图片)。
2)在TImage组件上放置一个TDBLookupListBox组件,设置Ctl3D属性为“False”;设置ListSourse属性为“dm.dsuser1table”;设置KeyField属性为“name”;设置ListField属性为“name”。在窗体上添加一个TEdit组件,设置Ctl3D属性为“False”;设置passwordChar属性为“*”。
3)在TImage组件上放置两个TBitBtn组件,为了按钮的美观,设置其Glyph属性加载按钮图片。
3.1.2程序代码设计
主要的代码在单击【登录】按钮和【取消】按钮。单击【登录】按钮,系统在数据库中查找与用户输入的“用户名”和“密码”相符的记录。如果有,则用户可以登录,如果没有且输入3次都不正确,系统将自动退出。单击【取消】按钮,退出系统。(代码详见附录)
3.2主界面设计
3.2.1主窗体设计概述
主窗体设计在系统中占据很重要的地位,因为只有界面友好、操作方便的软件才能被用户所接受。
本系统使用TSpeedButton组件作为工具栏按钮,使用TTreeView组件作为
18
《物流信息系统》课程设计报告 物流管理专业
功能目录树,使用TStatusBar组件显示当前系统状态信息。
图3-1用户主界面
3.2.2 菜单设计
菜单是窗体的重要组成部分,本系统菜单主要是通过Additional页中的TActionMainmenuBar和TactionManager组件实现。下面是菜单设计的步骤:
1)向窗体中添加TActionMainmenuBar和TactionManager组件,TActionMainmenuBar一般摆放在窗体的最上边。
2)双击TactionManager组件,将显示如图(3-2)所示的编辑窗口,在该窗口的Action选项卡中,单击【Add New】按钮可以添加一个TAction对象,单击【Delete Selected】按钮可以删除所选TAction对象。这里添加的TAction对象要与菜单功能项个数相等并且相对应。当选中一个TAction对象后在“Object Inspector”窗口中可以编辑其属性。双击TAction对象,进行代码编辑,实现操作。
图 3-2 TAction对象编辑 3)添加好TAction对象后返回主窗体,选中TActionManager组件,在“Object Inspector”窗口中单击ActionBars属性右边的【...】按钮,打开编辑窗口。
4)在显示的编辑窗口中单击【add new】按钮添加TActionBarItem对象,并选中它,在“Object Inspector”窗口中设置ActionBar的值为前面加入窗体的TActionMainmenuBar组件。
5)在选中的TActionBarItem对象,在“Object Inspector”窗口中选择Items属性,单击其右边的【...】按钮,打开编辑窗口,在窗口中单击【Add New】
19
《物流信息系统》课程设计报告 物流管理专业
添加TActionClientItems对象,并选中它,在“Object Inspector”窗口中为Action属性选择一个TAction对象,该TAction对象是前面在TactionManager组件中添加的,在此可以通过Caption属性来改变TAction的标题。
3.2.3 状态栏
状态栏用于显示系统状态、用户信息及其提示信息,本系统的状态栏是通过TStatusBar组件实现的。
1.日期时间信息
在状态栏的第一栏中显示日期时间信息,代码如下:
procedure Tmainform.Timer1Timer(Sender: TObject); begin
self.StatusBar1.Panels[0].Text:='当前时间: '+datetimetostr(now); end;
2.用户名及其编码的动态信息
在状态栏的第二栏中显示用户名及其编码的动态信息。
图3-3 状态栏
3.2.4 树状功能目录
在主窗体左边放置一个功能目录,可以通过TTreeView组件实现。在 TTreeView组件中的每一个节点都可以有一个图标,添加图标可以通过TImageList组件实现。
20
《物流信息系统》课程设计报告 物流管理专业
图3-4树状功能目录设计图
3.2.5 工具栏
本系统使用TSpeedButton组件作为工具栏按钮。
图3-5工具栏设计图
3.2.6主窗体背景
主窗体背景设计需要用一个TImage组件实现。
3.3数据模块设计
数据模块是将连接和处理数据的数据库组件统一规范管理的模块,在设计期间数据模块是以窗口的形式显示在界面中的。但是不可以向数据模块中加入可视化组件,因为该模块不会在系统运行时显示出来。
使用数据模块进行数据库设计与数据处理有以下优点: 1.便于数据库的移植
21
《物流信息系统》课程设计报告 物流管理专业
2.增加了程序的清晰性
3.可以最大程度的实现代码重用 总之,可以将数据集全部放在数据模块中,这样可以方便地设置数据关联等,而且数据处理起来也相对方便,因为不需要在工程文件中去寻找对应的数据集。
在本系统中使用数据模块统一管理数据库组件,下面是创建数据模块的过程: (1)建立数据模块。使用File菜单下的New Application建立一个新应用程序。在New Item中双击Data Module建立一个数据模块(命名为dm),
图3-6数据模块
(2)在数据模块中添加数据组件。首先添加TADOConnection组件到dm中,取名为kdconn,并设置它的ConnectionString属性,是它与数据库建立连接。
图3-7 ConnectionString属性编辑
22