南昌航空工业学院计算机系本科毕业设计论文内容摘要:
//p1,p2为参数 ADODataSet1ParametersParamByName(p1)Value=Date()。 ADODataSet1ParametersParamByName(p2)Value=Edit1Text。 南昌航空工业学院计算机系本科毕业设计论文 第 22 页 共 55页 ADODataSet1Prepared=true。 ADODataSet1Open()。 „„ ③ 纯数字判断过程 (第一位可以为 0) 本过程主要通过对输入字符串的每一位的判断来确定该字符串是否为纯数类型并且允许第一位为 0,以达到输入数据的合法性检验。 核心代码如下: bool PureNumber(AnsiString str) { int j=0。 for(int i=1。 i=int(StrLen(()))。 i++) if(!(str[i]=39。 039。 amp。 amp。 str[i]=39。 939。 )) j++。 if(j==0) return true。 else return false。 } ④ 浮点数字判断过程 本过程通过对输入字符串的每一位的判断来确定该字符串是否为浮点数字类型 (最多只能有一个小数点 )。 核心代码如下: bool JudgeNumber(AnsiString str) { int j=0,k=0,m=0。 for(int i=1。 i=int(StrLen(()))。 i++) { 南昌航空工业学院计算机系本科毕业设计论文 第 23 页 共 55页 if(str[i]==39。 .39。 ) j++。 else if(str[i]=39。 039。 amp。 amp。 str[i]=39。 939。 ) k++。 else m++。 } if(j=1amp。 amp。 k=1amp。 amp。 m==0) return true。 else return false。 } 图 成品中包装箱记录模块窗口 南昌航空工业学院计算机系本科毕业设计论文 第 24 页 共 55页 (1) 实现功能 该模块主要实现中包装箱时对条形码的延续记录,便于产品出库时销往的记录和产品召回时地区的确定。 其中,“条形码输入”为中包条形 码和外箱条形码的输入框;“当前箱子条形码”主要提示装箱者当前正在装入的外箱条形码;“已装入中包数”记录当前外箱中已经装入的中包数目,变换外箱条形码时自动置“ 0”;已装入中包条形码号”显示当前外箱中已经装入的中包条形码号,每行显示 3 个条形码。 符合条件的记录将被插入装箱记录表 (ProductBox)中。 具体流程如图 所示 读入条形码号格式 正确换箱操作插入当前记录中包计数器加1是否 中包条 形 码是否 结束改变当前外箱条形码号中包计数器清零第一次 输入YYYYNNN 开 始 结 束 图 成品中包装箱记录模块流程图 南昌航空工业学院计算机系本科毕业设计论文 第 25 页 共 55页 (2) 设计过程 用 ADOTable1指向数据表 ProductBox,本过程主要通过判断条 形码长度(外箱为 14 位,中包为 16 位)来确定是换箱还是装入中包,在换箱之前,每装入一个中包,系统将自动识别当前外箱条形码,把中包条形码和外箱条形码一并插入数据库中,换箱时自动更新外箱条形码,“当前外箱条形码”自动清空。 考虑到生产实际情况,该模块具有无需交互操作的特点,直接利用“条形码输入”框的 OnKeyDown 事件判断是否换箱的操作,使生产效率大大提高。 核心代码如下: int i=0。 if(Key==VK_RETURN) { if(StrLen(Edit1())==14) { Edit1Clear()。 RichEdit1Clear()。 i=0。 } if(StrLen(Edit1())==16) { if(ADOTable1Locate(midbarcode,Edit1Text,Opts)) Edit1Clear()。 //如果重复输入条形码,则清除 else if(Edit2Text==) Edit1Clear()。 //如果在没输入外箱条形码前输 入中包条形码,则清除 else { 南昌航空工业学院计算机系本科毕业设计论文 第 26 页 共 55页 RichEdit1Text=RichEdit1Text+Edit1Text+。 i=StrLen(RichEdit1())/18。 //计算装入中包数目 „„ Edit1Clear()。 } } else Edit1Clear()。 Edit3Text=IntToStr(i)。 } 在本系统的设计中除了源头生产记录模块和成品中包装箱记录模快外,还有外购外协件入 中间库记录模块、中间库领料记录模块、条码生成记录模块、责任追溯模块和不合格产品召回模块等,各模块功能介绍和设计过程详见附录 D。 南昌航空工业学院计算机系本科毕业设计论文 第 27 页 共 55页 4. 程序调试 程序的调试与测试是软件开发周期中最重要的环节之一。 由于本系统后台数据库较大而专门分配了一个后台数据库设计人员,且针对系统操作按照数据的完整性和规范化设计了相关的视图和存储过程,所以在程序调试期间,数据库设计部分基本上没有产生错误。 程序调试包括本系统的调试和整个 ERP 系统的调试。 在调试过程主要有以下几个需要注意的地方: 序调试 (1) 对数据表查询时应注意记录指针的复位 由于 Borland C++Builder 对 SQL SERVER2020 数据表进行查询时不能自动复位数据记录指针,所以如果数据表中记录为 0或者没有符合条件的记录时,系统就会报如下错误: 图 数据查询调试错误 解决问题的方法有: ① 若数据表中最少有一条记录但没有符合条件的记录时,在查找后数据指针指向表尾,出现此类情况时应设置一条复位语句: if(ADOTable1Eof) ADOTable1First()。 //其中 ADOTable1可为其他 ADO控件 执行该语句后,数据指针自动返回到首记录,以备下次查询时数据指针从首记录开始而不会报如图。 南昌航空工业学院计算机系本科毕业设计论文 第 28 页 共 55页 ② 比较统一的方法就是用 try 语句去测试对 ADO 控件操作时的各个动作,如果检测到异常语句,则让系统采用 catch 语句捕捉异常,使系统能够正常处理。 具体实现如下: try { ADOTable1Active=false。 //可设置为 ADO控件的其他操作 } catch (Exception amp。 exception) { ApplicationShowException(amp。 exception)。 } return 0。 (2) 利用 ADO控件对数据表进行带参数的定位或符合查询时,要注意参数形式的设置(是“ =:”而不是“ :=” )。 在调试本系统时,系统提示找不到参数,如图。 图 参数格式设置错误 经过仔细检查,发现设置参数形式不正确,正确的形式应为: select GroupNo from barcode where barcode=:index1 本系统是整体 ERP系统的一部分,能否与整体系统实现接口的完全连接,关系到系统的整体性是否完善。 在将本系统的 Unit 单元加入到整体系统当中时,编译后连接错误: 南昌航空工业学院计算机系本科毕业设计论文 第 29 页 共 55页 [Linker Fatal Error] RLINK32: Error opening file E:\ 调试\FINAL61110\ZHUISU\ 由于是一个连接的致命性错误,调试不能找出原因所在,只好改变原来将本系统的 Unit单元 一次性加入到整体系统的方法为将 Unit单元逐个加入整体系统,每加一个运行一次,最终取得了成功。 整体系统是经过各个子系统的各自编译后才组合的,加上数据库中触发器、视图和存储过程设计的合理性,整体系统的联调基本成功,对数据控制达到了预期要求。 南昌航空工业学院计算机系本科毕业设计论文 第 30 页 共 55页 5. 设计评价和改进要求及目标 . 设计评价 本程序的设计结果达到了目标要求: (1) 界面简洁、风格一致且操作简便,易于上手。 (2) 系统流程设计符合生产实际工作流程,合理设置各种操作和交互能力,几乎不影响生产效率。 (3)实现了整个条形码追踪系统的软、硬件系统的设计。 (4)设计的条形码完全满足客户需要并能对生产过程中的各个工序成功记录。 (5)满足了客户多种形式的责任追溯和产品召回的要求,能将生产责任至少定位到小组并将不合格产品的召回费用减少到最低限度。 (6)在尽量考虑客户的硬件投资成本的条件下合理布置和安装实现系统所需硬件。 用条形码实现对生产过程物流的控制的技术应该比较成熟,但将条形码运用于一次性医疗器械产品的质量可追溯系统中尚属首次,再加上本系统的所有模型都是从实际生产过程中通过需求 分析抽象出来的,并且设计的时间有限,本系统难免有很多不尽人意的地方,主要体系在以下几个方面: (1) 系统主要针对注射器和输液器生产而设计,对公司的其他产量很少的产品考虑不多。 (2) 没有专门开发条形码设计和打印软件,只提供了接口,在一定程度上增加了操作人员的工作复杂度。 (3) 责任追溯和不合格产品召回的类型是固定的,当客户有新的要求时,系统不能为提供有效的扩展。 南昌航空工业学院计算机系本科毕业设计论文 第 31 页 共 55页 致 谢 首先要感谢的是指导教师舒坚老师,在他的指导下,我真正体验了开发一个实际项目的步骤,即从需求分析到系统测试一系列过程。 舒坚 老师严格要求的作风和从用户出发的设计要求使我体会到了一个程序开发人员应具有的最基本的态度。 在毕业设计期间,舒坚老师为我的设计工作以及方案的设计提供了极大的帮助,对我的设计提出了许多宝贵的意见,同时也给了我很多有益的启发。 在此对他给予的帮助和关心表示衷心的感谢。 其次要感谢的是刘琳岚老师和班主任刘洪老师。 刘琳岚老师是我的计算机启蒙老师,不但教给了我扎实的计算机专业基础知识,在毕业设计期间还在文档编写方面提出了重要的意见。 刘洪老师不仅在生活中给了我非常多的帮助,他还在系统设计方案和硬件实验等方面给了我很大的帮助。 再次要感谢大学四年中的专业任课老师,是他们的辛勤工作和谆谆教诲使我有了扎实的专业知识。 他们是叶水生老师、胡景春老师、舒坚老师、刘洪老师、刘琳岚老师、张小峰老师、吴军老师、刘玉桥老师、罗海平老师等。 感谢整体系统的其他成员,他们的有益建议使我少走了很多弯路,他们的协作让我体会到了软件开发团队的精神。 对在四年的学习和工作生活中,所有关心和爱护过我的人表示由衷的感谢。 最后,我要特别感谢给予我无限关怀与支持的父母,感谢他们在四年的大学生活中给与我的关心、鼓励和帮助。 南昌航空工业学院计算机系本科毕业设计论文 第 32 页 共 55页 参考文献 [1] 张海藩,软件 工程导论,清华大学出版社, ,第 8 页~第 41 页 [2] 马晓婷、程承恩,条形码技术手册,中国计量出版社, ,第 12页~第 92页 [3] 黄以群、董湘陵,条形码技术,国防工业出版社, ,第 156页~第 173页 [4] 张驿、王耀球,条形码技术与电子数据交换,中国铁道出版社, ,第 5页~第 98页 [5] William , Systems Analysis and Design: A Structured Approach, AddisonWesley Publishing Company, 1983,第 6 页~第 28 页 [6] 刘振安、刘大路、张蕊、秦俊, C++Builder 4 编程技术,人民邮电出版社, ,第 122页~第 138页 [7] 张龙卿, Delphi ,北京希望电子出版社, ,第 235页~第 318页 [8] 刘海涛, Borland C++Builder 入门与提高,清华大学出版社, ,第 519页~第 527页 南昌航空工业。南昌航空工业学院计算机系本科毕业设计论文
相关推荐
评标的业绩。 并用本企业的 CA数字证书对生成的内容进行签章。 业绩资料取自投标申请人在广州公共资源交易中心企业库,在广州公共资源交易中心企业库记录的该部分资料将被视为投标申请人递交的投标资料的一部分,投标资料不需另行提交) 《响应招标文件所附施工组织设计要点的承诺书》(格式见第四章)。 应包含以下内容:
行签章。 业绩资料取自投标申请人在广州公共资源交易中心企业库,在广州公共资源交易中心企业库记录的该部分资料将被视为投标申请人递交的投标资料的一部分,投标资料不需另行提交) 《响应招标文件所附施工组织设 计要点的承诺书》(格式见第四章)。 应包含以下内容: 施工专业承包单位的专职安全员兼任工地的余泥渣土运输与排放管理员(适用于施工专业承包招标且没有施工总承包单位的项目)。 《 对 投标文件编制
者盖章具有 同等的法律效力。 除工程量清单报价表相关的内容、《广州建设工程施工招标投标书》 外,投标文件的其他内容均以电子文件(纸质原件的扫描件)编制,其格式要求详见第四章投标文件格式说 明。 投标文件应按上述编排要求编制。 如因不按上述编排要求编制而所引起系统无法检索、读取相关信息时,其后果由投标人承担。 12.投标文件格式 投标人递交的投标文件应当使用招标文件所规定的投标文件全部格式。
进行严密的封堵,确保气密性。 硐室门选用钢结构密闭门。 过渡室与外部之间选用抗冲 钢制 262WDF058 型船舶用密封门,该门采用手动操作方式,在内外都能开关和锁紧。 在门框架的型材内,内外两层均镶嵌有用于密封的密封条。 该门锁紧机构采用 6 点式压紧方式来保证密封性能,能有效阻止有毒有害气体的入侵,该门同时具备防火功能。 钢制 262WDF058 型密封门外形如图 331 所示
工创造条件。 在河道修整 施工时 ,靠河道边先预留宽 33 m 的土坎 ,防止河水倒流 ,到枯水季节再施工预留部分。 偏关河道修整设计方量 15 万 m3,施工时采用 1 部推土机集料 ,一部 CAT 反铲和一部装载机装车 ,配 10t10部自卸汽车运料至弃渣场堆放。 围堰和防洪堤施工 1)填筑材料:围堰和防洪堤填筑材料取自附近河道及泵站开挖的土石料,由推土机集料 ,装载机装 15t
长度不小于 10cm。 ⒊用穿有塑料焊垫的水泥钉沿隧道轮廓从上向下钉,钉子要钉在土工布上,切忌钉在外层防水板上。 ⒋开启 TH 一双轮自动爬焊机,调试好温度及爬行速度,把防水板搭接部分焊接起来。 防水板施工应注意以下几点: ⒈固定防水板时,应视初期支护的平整度将防水板预留一定的富余量,以防过紧防水板被混凝土挤 破。 ⒉防水板尽量从拱顶一直铺到拱脚,施工缝环向设置,尽量避免横向施工缝