1、4.1数据库表设计(1)创建一个标准项目,名称为货运站货场信息管理系统。(2)在项目管理器下创建一个数据库,名称为datebase,在数据库中创建以下数据库表:czqx(操作权限)、fwpj(服务评价)、hccc(货场出车)、hcsg(货场事故)、hqhw(货区货位)、pbgl(篷布管理)、hwyd(货物运单)、yjh(月计划)、zxc(装卸车)、zxjx(装卸机械),创建完成后输入数据。具体内容见附录一。4.2表单设计设计的表单有登陆、服务评价、货场出车查询、货场事故查询、货区查询、货位查询、货物运单查询、货源信息查询、客户货物信息查询、篷布使用查询、数据备份、数据恢复、系统初始化、修改密码
2、、月计划查询、装卸车查询、装卸机械查询。4.2.1登陆界面设计图2 登录界面设计图用户进入系统前,必须通过登录进入主程序界面,登录界面主要用于确认用户的身份及使用权限,并且可对系统信息起到保密作用。系统登录界面如图2及图3所示图3 登录界面运行图(1)表单设计在货运站货场信息管理系统项目中,添加一个新表单,名称为“登陆”。在表单中添加Text控件、Label控件、Command控件、Image控件。重要控件属性:Text2的PasswordChar属性设为“*”(2)代码设计在“登陆L”按钮的Click事件中添加以下代码实现判断密码是否正确的功能。如果密码不正确,将提示密码不正确。locate
3、 for alltrim(czqx.用户名)= alltrim(thisform.text1.value); and alltrim(czqx.密码)= alltrim(thisform.text2.value)if !eof() =messagebox(欢迎您使用!,货运站货场信息管理系统) else =messagebox(密码不正确 thisform.text2.value=endifthisform.release 在“退出Z”按钮的Click事件中添加以下代码:Quit在“image1”图片的Click事件中添加以下代码:thisform.text1.value=客户在“image2
4、”图片的Click事件中添加以下代码:管理员在“image3”图片的Click事件中添加以下代码:超级管理员4.2.2系统初始化设计系统初始化会清空所有记录,在执行此操作之前,系统会自动备份数据到默认备份目录下,以防数据丢失。系统初始化界面如图4及图5。图4 系统初始化界面设计图图5 系统初始化界面运行图在货运站货场信息管理系统项目中,添加一个新表单,名称为“系统初始化”。在表单中添加shape控件、Label控件、Command控件。在“初始化F”按钮的Click事件中添加以下代码实现系统初始化的功能。private outpath a=messagebox(确定要执行初始化操作吗?,32+
5、4,系统提示if a=6 a=messagebox(初始化会清空所有数据,继续吗? if a=6 close all database outpath = if directory(sys(5)+sys(2003)+bak)=.f. MKDIR sys(5)+sys(2003)+ endif if file(系统设置.Rtt)=.t. handle=fopen(,2) m=1 do while feof(handle)=.f. mystr=fgets(handle) if m=7 outpath=mystr endif m=m+1 enddo fclose(handle) if empty(o
6、utpath)=.t. outpath =sys(5)+sys(2003)+ endif else outpath =sys(5)+sys(2003)+ endif mypath= Mypath=sys(5)+sys(2003)+data datepath=sys(5)+sys(2003)+dataDataBase wait windows 正在准备备份数据. Timeout 0.8 thisok=thisform.rainbak1.bak(mypath,outpath) if thisok=.t. wait windows 正在准备初始化. thisform.rainfunction1.da
7、teformat(datepath) messagebox(初始化失败!,16, ) return jmpath=alltrim(outpath)+DataBase.dbc thisform.lockdatebase1.lock(jmpath,正在加密备份文件.正在删除其它设置文件. dele file (系统设置.RTT if file (检测.RBT dele File( messagebox(系统初始化完成!,32, ENDIFENDIF在“退出E”按钮的Click事件中添加以下代码:thisform.release4.2.3修改密码设计通过本功能,用户可以修改自己的登陆密码,保证自身账
8、户的安全性。修改密码界面如图6及图7。图6 修改密码界面设计图图7 修改密码界面运行图在货运站货场信息管理系统项目中,添加一个新表单,名称为“修改密码”。在表单中添加Label控件、Command控件。t1=alltrim(thisfor。m.text1.value)t2=alltrim(thisform.text2.value)t3=alltrim(thisform.text3.value)t4=alltrim(thisform.text4.value)use czqxdo casecase t1=if t2=111if t3=t4 update czqz set 密码 =t3 where
9、编号=1elsemessagebox(新密码输入不一致!,48,操作失败!原密码输入错误!22223333在“退出”按钮的Click事件中添加以下代码:4.2.4数据备份设计 数据备份可以将数据保存到其他位置,当由于某些意外原因而发生数据无法使用时,可以利用数据恢复进行恢复,以减少意外所带来的损失。数据备份界面如图8及图9。图8 数据备份界面设计图图9 数据备份界面运行图在货运站货场信息管理系统项目中,添加一个新表单,名称为“数据备份”。在“备份B”按钮的Click事件中添加以下代码实现数据备份的功能。close all databasemypath=Mypath=sys(5)+sys(200
10、3)+dataoutpath=alltrim(thisform.text1.value)thisform.rainbak1.bak(mypath,outpath)JMPath=alltrim(outPath)+DateBase.dbcthisform.Lockdatebase1.lock(JmPath,messagebox(备份完成!4.2.5数据恢复设计 数据备份可以将数据保存到其他位置,当由于某些意外原因而发生数据无法使用时,可以利用数据恢复进行恢复,以减少意外所带来的损失。数据恢复界面如图10及图11。图10 数据恢复界面运行图图11 数据恢复界面运行图在货运站货场信息管理系统项目中,添
11、加一个新表单,名称为“数据恢复”。在“恢复R”按钮的Click事件中添加以下代码实现数据备份的功能。Mypath=alltrim(thisform.text1.value)outpath=sys(5)+sys(2003)+thisform.Lockdatebase1.lock(sys(5)+sys(2003)+dataDataBase.dbc,正在解密.数据恢复成功!无需要重新运行程序,可以直接使用!4.2.6月计划查询设计查询月度运输计划,包括货物重量、体积、车种及始发终到地点等内容。月计划界面如图12及图13。图12 月计划查询界面设计图图13 月计划查询界面运行图在货运站货场信息管理系统
12、项目中,添加一个新表单,名称为“月计划查询”。在表单中添加combo控件、Label控件、Commandgroup控件、shape控件、Grid控件。在表单中添加数据环境,数据环境为yjh.dbf。在“查询”按钮的Click事件中添加以下代码实现查询月计划的功能。cif=alltrim(bo1.displayvalue)ctext=alltrim(thisform.text1.value) if empty(ctext) messagebox(请输入查询条件! thisform.text1.setfocus select *; from datebase!yjh; where &cif.=al
13、ltrim(thisform.text1.value) ; order by 货物名称; into cursor linquery thisform.grid2.recordsource=linquery thisform.refresh endif其他如货场出车查询、货场事故查询、货区查询、货位查询、货物运单查询、货源信息查询等查询在界面设计及代码设计上基本一致,以下不再赘述。其他见附录二。4.2.7月计划录入设计录入月度运输计划,包括货物重量、体积、车种及始发终到地点等内容。月计划录入界面如图14及图15。图14 月计划录入界面设计图图15 月计划录入界面运行图在货运站货场信息管理系统项目
14、中,添加一个新表单,名称为“月计划录入”。在表单中添加Label控件、Commandgroup控件、text控件、shape控件。在“保存”按钮的Click事件中添加以下代码实现月计划录入的功能。t1=alltrim(thisform.text1.value)t5=alltrim(thisform.text5.value)t6=alltrim(thisform.text6.value)t7=alltrim(thisform.text7.value)t8=alltrim(thisform.text8.value)t9=alltrim(thisform.text9.value)t10=alltri
15、m(thisform.text10.value)t11=alltrim(thisform.text11.value)t12=alltrim(thisform.text12.value)insert into yjh (货物名称,日均(车),静载重(t每车),车数,运价(吨公里),发送吨,始发站,终到站,日期,车种,货源地,备注) ;values(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12) 服务评价与月计划录入在界面设计及代码设计上基本一致,以下不再赘述。4.3报表设计4.3.1运单打印设计打印货物运单,包括委托方、收货方、货物名称、重量及始发目的地等内容,并
16、统计总重量。运单打印界面如图16及图17。图16 运单打印界面设计图图17 运单打印界面运行图(1)在货运站货场信息管理系统项目中,添加一个新报表,名称为“运单打印”。(2)在表单中添加Label控件、字段控件。(3)在表单中添加数据环境,数据环境为hwyd.dbf。货场事故打印与运单打印在界面设计及控件设计上基本一致,以下不再赘述。4.4菜单设计(1)在货运站货场信息管理系统项目中,添加一个新菜单,名称为“mainmenu”。(2)按照功能模块结构依次输入子菜单和命令,命令有三种,分别是quit(退出)、do form 表单名和report form 报表名.frx preview。(3)根
17、据权限要求在跳过设置跳过条件,依靠定义全局变量实现。具体菜单界面见图18、19、20。图18 客户使用权限界面运行图图19 管理员使用权限界面运行图图20 管理员使用权限界面运行图4.5主程序设计主程序是整个系统运行的第一步,主程序可以设置全局变量、运行界面属性、调用登陆界面和菜单等,所以,设计主程序对设计数据库系统至关重要。public xx=alltrim(czqx.编号)clear screen _screen.left=-10000 do form 表单登陆 _screen.caption=do mainmenu.mpr _screen.left=0 read events 五、结束语
18、货运站货场信息管理系统的应用能够实现货场基础设备及生产作业资源化管理,货运指挥人员可以实时掌握货场的作业车分布、月计划、货区货位、装卸工作、装卸设备等资源和计划的变化和利用情况,最大程度提高货物运输的工作质量和工作效率。附录一:原始数据库表表1 月计划.DBF数据库表结构序号字段名称字段类型字段宽度小数位数索引1货物名称字符型10升序2日均(车)数值型3静载重(t/车)84车数5运价(吨公里)6发送吨7终到站始发站9日期日期时间型车种11货源地12备注备注型表2 货物运单.DBF数据库表结构货运编号收货方收货人电话15收货方地址40件数重量(t)体积(M)运费13始发地2014目的地16收货时间17表3 货区货位.DBF数据库表结构品类货区货位占货位比例货位占货区比例货位利用率表4 装卸机械.DBF数据库表结构机械名称数量可用数量报修数量适用范围表5 篷布管理.DBF数据库表结构篷布种类表6 货场事故.DBF数据库表结构事故编号事故等级事故种类损失款额赔偿款额70事故原因100表7 服务评价.DBF数据库表结构运输速度货物有无损坏运价水平字
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1