




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
快递单专用打印软件的设计与开发摘要自工业革命以后,伴随着新兴产业的不断发展,各地区交流日益频繁,物流产业应运而生,成为了当今时代不可或缺的一大新兴产业,掀起了快递公司发展的热潮。对于经常寄送文件、物品等给大量客户的公司而言,手写的工作量太大,急需一款软件能够实现自动读入寄送名单然后根据选择的快递公司成批地打印出快递单。现如今,全国有一千多家公司在开展业务,庞大的信息量不得不加大运输环节的管理,功能强大的快递单打印系统就可以很好地解决这个问题。本系统着重处理快递单号管理、快递单信息查询和快递单打印这三大模块。支持自定义模板、打印等项目,方便企事业单位填写打印快递单以及团购批量打印快递单。在本项目开发之前,首先收集了一些市面上已有的快递单模板,并对其内容进行了研究和分析,总结了其他快递单模板实用性较强的信息内容,并积极开发新模板来满足淘宝买家高质量、低成本、高效率的信息化管理要求。关键词快递单号,打印快递单,管理要求,新模板EXPRESSPRINTINGSYSTEMDESIGNANDDEVELOPMENTABSTRACTSINCETHEINDUSTRIALREVOLUTION,WITHTHECONTINUOUSDEVELOPMENTOFEMERGINGINDUSTRIES,ANDTHEEVERINCREASINGCOMMUNICATIONSWITHVARIOUSAREAS,SO,LOGISTICSINDUSTRYEMERGESATAHISTORICMOMENTWHICHHASBECOMETHEINDISPENSABLEINTODAYSWORLDASANEMERGINGINDUSTRYRAISEDAHOTWAVEOFEXPRESSCOMPANYDEVELOPMENTTOSOMECOMPANIES,THEYOFTENSENDDOCUMENTS,ITEMSTOALARGENUMBEROFCUSTOMERS,IFWETAKENOTESBYOURSELVES,THEWORKLOADISTOOHEAVYASOFTWARETHATCANAUTOMATICALLYREADINSENDLISTISBADLYINNEEDTHENWEPRINTOUTTHEDELIVERYSHEETACCORDINGTOSELECTTHEEXPRESSCOMPANYNOWADAYS,THEREAREMORETHANONETHOUSANDCOMPANIESINTHEBUSINESS,LARGEAMOUNTOFINFORMATIONHASTOINCREASETHETRANSPORTATIONMANAGEMENTHOWEVER,APOWERFULEXPRESSSINGLESPRINTINGSYSTEMCANWELLSOLVETHEPROBLEMTHISSYSTEMMAINLYFOCUSEDONTHECOURIERNUMBERMANAGEMENT,DELIVERYSHEETINFORMATIONQUERYANDEXPRESSPRINTSUPPORTINGSELFDEFINEDTEMPLATE,PRINTINGANDSOONSOTHATENTERPRISESANDINSTITUTIONSCANFILLPRINTCOURIERFORMCONVENIENTLYASWELLASTHEBULKBATCHPRINTDELIVERYLISTBEFORETHEPROJECTDEVELOPMENT,FIRSTOFALLCOLLECTEDSOMEEXISTINGEXPRESSSINGLETEMPLATEONMARKETSTUDIEDASINGLETEMPLEINTHEWAYOFINFORMATIONCONCLUSIONS,CONTENTANALYSIS,ANDACTIVELYDEVELOPNEWTEMPLATESTOMEETTAOBAOBUYERSINFORMATIONMANAGEMENTOFHIGHQUALITY,LOWCOST,HIGHEFFICIENCYREQUIREMENTSKEYWORDSCOURIERNUMBER,EXPRESSPRINT,MANAGEMENTREQUIREMENTS,NEWTEMPLATES目录摘要IABSTRACTII第1章绪论111开发背景212系统目标213开发方法2131软件定义阶段2132软件开发阶段2133运行维护阶段314开发工具3141SQLSEVER数据库系统3142GDI图形设备接口3143VISUALCNET编程语言4第2章系统分析421需求分析422功能分析523系统结构框图524系统流程图525系统开发环境6第3章数据库分析与设置31数据库分析32数据库概念设计33数据表逻辑结构设计第4章系统设计与功能实现41操作类42GDI绘图43系统登录模块44主窗体菜单栏设计45快递单设置模块451快递单基本信息模块452设计快递单模板46操作员维护模块47修改摸吗模块48快递单查询模块481条形码的概述49快递单打印模块第5章系统测试51系统测试的意义52测试项目53初始化快递单模板54系统测试内容结束语致谢参考文献附录前言20世纪90年代以来,随着我国经济发展水平的提高,社会经济活动也日趋频繁,各种文件、包裹以至后来的高价值、小批量、个性化的货物,都成为了快递寄托的内容,快递产业也因此有着巨大的市场规模,可观的发展潜力。近年来,随着互联网的普及,我国电子商务蓬勃发展并且日益成熟,各种网上交易也日益频繁,“网购”成为了当今社会的又一个新词,快递行业与网购紧密相连,对促进国民经济的发展起着举足轻重的作用。如今的市场,快递业务成为了电子商务的重要组成部分,是电子商务实现实物配送的主要途径。我国每年快递业务量约20亿件,如何更好地运作物流咨询成为引人关注的话题,快递单打印软件倍受青睐。随着快递单打印软件的普及,快递打印工作也可以变得很简单。目前,在国内使用较多的是小灰狼快递单打印软件,它是一款专业的大众的快递单打印及管理软件,小灰狼快递单打印软件是一款专业的大众的快递单打印及管理软件。它支持包括EMS邮政、EMS国际、UPS、DHL、FEDEX、TNT、中速国际、顺丰、申通、申通淘宝单、圆通、DDS、全日通、能达、越丰、彪记、盈飞、邮政包裹单、韵达、邮政物流、中诚、中通、飞康达、新邦、宅急送、YCC、奇速、汇通等200多种快递单据的打印。快递单打印软件秉承小灰狼票据软件简洁、易用、直观、快速的优点。该快递单打印软件借鉴了许多小灰狼快递单打印软件的功能,它使用灵活方便,不受各种快递单格式的限制,由使用者自行定义单据的打印格式,并且该系统可以设置多种单据格式,这满足了一个用户使用多种快递单的要求。本设计根据企业对快递单格式的个性化定制需求,基于VISUALC平台开发一个单机版快递单打印专用软件。选择SQLSERVERMANAGEMENTSTUDIO数据库软件,对各类信息进行分类管理。本系统还运用到GDI编程绘制快递单模板,直接使用由GDI提供的类的方法可以调用打印机,C语言作为前台编程语言,对前台界面进行相应的编写与实现。第1章绪论11开发背景二十一世纪,是信息化蓬勃发展以及科学事业全面进步的年代,计算机和一系列的通讯技术在当今社会起着举足轻重的作用,信息的传递和处理离不开它们,社会的进步和工业的发展离不开它们,办公的自动化和生活的优化更离不开它们。以计算机为载体的信息系统也呈现着日新月异的局面,计算机与外部设备连接进行信息的传递,不仅提高了处理信息的效率,节约大量的时间,减少不必要的劳动力,而且其安全性方面的保障也大大提高。通过计算机和打印机的连接,更方便地进行信息的管理和处理,是本课题的主要研究方向。快递单在我们日常生活中到处可见,天天、圆通、申通、丰速达、宅急送、韵达等,虽然快递单的种类多种多样,但上面都会记载着运输环节中必要的信息。快递公司作为物品、文件、资料等传输的中心环节,可以有效地保障运输环节的安全。根据调查,古代传输信息的主要方法有飞鸽、烽火、快马、暗号、手语、书信、旗帜等,可以传递信息,但无法押韵物品,后来,出现了“镖局”,现在快递公司的运作程序在某些方面沿袭了古代镖局的行镖程序。当时,在商人、雇主眼里,镖师就是他们的护身符,有镖师在他们身边,他们的物件就可以安全到达目的地,他们的生意就会兴隆。由于信息技术的发展,互联网的出现,操作流程的多元化,选择空间的广泛化、信息的全面化,快递公司的兴起成为了信息化时代的必然产物,快件、物品如何准确、安全地到达收件人手里,是快递公司不得不考虑的问题,快递单打印软件的应用,方便了运输物品的管理,为企业管理带来了明显的经济效益,服务于各界人士,也带来了可观的社会效益。主要体现在快递单的成批打印,对于收件人信息、地址、联系电话、发件人信息、地址、联系电话等,如果手工填写,难免会出现纰漏,如果运输途中时间过长,也难免会出现字迹模糊的现象。该系统有效地解决了这一弊端。快递单号的管理,派件员可以根据快递单号查找物件,而不需要在一堆杂乱的物件中漫无目的地寻找。用计算机查询快递单信息,输出到打印机打印出快递单信息,操作的自动化和管理的电子化,全面地提高了物件的管理水平。随着互联网的深入,淘宝、京东、当当等购物网站的不断兴起,物件派送的多样化以及日益频繁,快递公司在市场中的竞争也越来越激烈,这就离不开现代化的管理,建立快递单查询打印系统,物件安全、高效地到达目的地,尽可能地减少运输环节的疏漏和低效,显得十分必要。作为一种对大量快递单信息实施管理和打印的系统,与手工管理相比,有着明显的优点,具体体现在以下几个方面。(1)用户界面美观、友好,系统中各界面之间紧密联系,方便用户操作。(2)根据界面上的命令按钮可以迅速检索到用户所需要的信息,查找方便,简单明了。(3)出错的几率较小,系统中存储容量大,录入信息丢失的可能性很小,可靠性能高。(4)进入系统需经过身份验证和对部分重要环节设置权限,保密性较好,安全有保障。(5)根据业务需要实时更新,减少人工,降低成本,优化操作,安全有保障。12系统目标快递单专用打印软件的开发目标是成为客户长期需要使用的产品,具体过程为根据快递公司的具体操作流程,首先设计快递单的样式和快递单信息内容,然后将具体信息录入数据库,转化为对数据库信息的读取,通过主外键的约束来确定系统表的信息,尽可能地完备数据库。快递单专用打印软件的目标是朝着运用灵活、样式多元、可塑造性强的方向发展。13开发方法调查分析快递单专用打印软件应该具备的相关功能,结合本次毕业设计的相关要求进行系统地开发,软件的生命周期可分为软件定义、软件开发、运行维护三个阶段,其中软件定义是由问题定义,可行性研究、需求分析三方面构成,软件开发可分为总体设计、详细设计、编码、单元测试、综合测试,运行维护主要是持久满足用户的需求。131软件定义阶段问题定义主要是明确该系统要解决的主要问题是什么。根据快递公司的目标和发展战略,明确本系统的开发方向,同时考虑系统开发过程中受的约束条件。罗列出系统开发的主要模块和模块中可能会出现的问题,提出备选方案。可行性研究考虑的主要问题是研究开发本系统是否有必要,从技术、经济、社会等三方面考虑,C是运行于NETFRAMEWORK之上的高级程序设计语言,它是一种安全、稳定的面向对象的编程语言。MICROSOFTSQLSERVER2005是一个全面的数据库平台,使用BI工具提供了企业级的数据管理。使用GDI图形设备接口,GDI具备图像处理和打印的功能。随着经济的发展,信息化时代的到来,该软件对于庞大的信息量、运货量的处理显得很合理,也很有必要。传统的手工记录信息和押送货物的方法低效、容易出错,难以满足当前大量业务操作需求。因此,一套行之有效的管理软件迫在眉睫,快递公司通过扫描快递单号的条形码可以查询到物品的详细信息,客户可以通过在网上搜寻快递单号,查找物件的具体位置,确保物件安全,这样可以使得物件的管理有序、高效。132软件开发阶段软件开发阶段回答的主要问题是“怎么做”,我们可采取的措施及方法有实践调查法,文献研究法、经验总结法等。在设计中,首先查阅资料,对本课题进行系统地研究,提出相应的设计方案并进行方案论证,然后对该课题进行模块划分并找出模块之间的关联关系,针对每一个模块需要完成的任务,系统地画出流程图,在此基础上进行源代码编写和调试,每个阶段写出实施进度报告,并进行周记录,系统测试成功后写出系统测试报告。133运行维护阶段投入使用后,需要经常对系统进行维护,数据库的更新和备份,残余信息的清理,用户的使用权限等,根据具体情况对系统进行修改,扩大系统的使用范围,完善系统的各模块功能,提高系统的工作质量,为企业带来更大的经济效益。14开发工具使用一台连接有打印机的中等配置的电脑,在操作系统为WINDOWS7的环境下使用MICROSOFTSQLSERVER2005作为数据库,该软件的数据库名称为DB_EXPRESS,该数据库包含了4个数据表,分别用来存储单据模板、快递单记录、单据类型和操作员等信息,VISUALCNET程序设计语言开发该软件系统,GDI负责在屏幕和打印机上显示信息,以及对快递单格式排版的处理。141SQLSERVER数据库系统数据库管理系统SQLSERVERMANAGEMENTSTUDIOSQLSERVER是微软公司的新一代数据管理和分析解决方案的大型数据库系统,它给企业级应用数据和分析程序带来了更好的安全性、稳定性和可靠性,使得数据库更易于创建、部署和管理。MICROSOFTSQLSERVER具有分布式数据和数据仓库功能,能进行分布式事务处理和联机处理,用户可以在数据库中创建多个数据表,通过主外键进行相关数据的关联设置,可以方便、有效地处理庞大的信息量。142GDI图形设备接口GDI的主要功能有五类二维矢量图像、图像处理、板式、打印、设计。本系统主要用到打印、图像处理和板式的功能。GDI提供了在编程时使用的应用程序接口API,通过这些API,GDI让程序员在设计程序中不必考虑到具体的显示器或打印机,直接使用由GDI提供的类的方法便可以调用显示器或打印机,真正做到与设备无关。图像处理主要运用基本的图像处理功能,基本的功能是在IMAGE类中定义的,IMAGE类提供了加载、创建和保存图像的成员。板式是指文本的设计和外观,GDI提供了创建和使用字体的类,一些与字体相关的类如FONT、FONTFAMILY和FONTCONVERTER等,程序员还可以在字体集中添加自定义的字体等。绘制出的图形可以转化为BMP格式保存到指定文件夹中。143VISUALCNET编程语言NET技术是微软公司推出的一个全新概念,它代表一个集合、一个环境和一个可以作为平台支持下一代INTERNET的可编程结构。NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展,用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。NET计划将是微软今后几年发展的战略核心,其内容非常庞大。它的技术开发平台是VISUALSTUDIONET,而C作为VISUALJ的替代语言也集成在该平台中。第二章系统分析21需求分析快递单专用打印软件是一个高度集成的快递单管理软件,通过对快递单管理各个流程进行分析,各种功能模块进行整合。从而达到快速检索、降低风险、提高效率等目的,一个典型的快递单打印系统应包含常见的一些快递单模板,快递单信息检索查询和打印的功能。该系统可以通过对条形码的扫描快速地查找快递单具体信息,也可以通过快递单上某一信息查找对应的快递单的具体信息,通过打印机的连接,打印出该快递单。一个完整的快递单打印系统应包括前台和后台,前台主要是显示在计算机屏幕上的界面、控件按钮、指令文本框等,后台主要是为前台的操作提供必要的指令和数据,也就是各界面运行的指令和相对于系统比较完整的数据库。用户登录的信息、操作员维护信息、快递单设置、查询信息等。快递单专用打印系统应包含如下基本功能(1)设置用户信息保存文件;(2)设置登录模块,用户通过输入用户名代码、密码,进入快递单打印系统的管理界面。(3)在快递单设置场口中,用户可创建任意样式的快递单模板,并可以根据实际需要随时修改模板。(4)设置快递单基础模块,主要完成快递单信息的添加、删除、查找操作。设置单据管理模块,可对快递单进行打印和查询操作。设置快递单查询模块,可以根据快递单的类型对快递单进行查询。设置操作员维护模块,实现操作员的添加、修改和删除等操作。设置操作员密码修改功能,使操作员可修改其密码。(5)在快递单打印模块中,用户可以使用多种类型的快递单,进行信息的录入,并进行快递单的即时打印。22功能分析根据快递单打印软件应该具备的基本功能分析,本系统主要包括五大模块。分别是快递单打印模块、快递单查询模块、快递单设置模块、操作员维护模块和修改密码模块。该系统模块的具体功能说明如下操作员维护模块该模块主要负责登录该系统的人员信息管理操作。修改密码模块用户可以修改自己的密码,修改前需核实自己的原始密码。快递单设置模块该模块分为管理快递单和给快递单设计模板两个子模块。快递单打印模块该模块主要负责打印快递单及单据内容,保存快递单数据。快递单查询模块该模块主要负责对快递单信息的查询以及查询结果的处理。23系统结构框图为了保证系统的安全,该快递单打印系统是一个指定用户登陆的系统,需要经过身份验证,才可以使用该软件。这些用户分为超级用户和非超级用户,他们都可以进行快递单设置、快递单查询和快递单的打印操作,在快递单维护和修改密码两个模块中有权限设置。该系统的结构框图如图23所示。快递单专用软件打印系统快递单打印快递单查询快递单设置基础设置单据管理操作员设置退出操作员维护修改密码图23系统结构框图24系统流程图首先打开系统的登录窗体,在快递单打印通菜单栏和工具栏中可以操作链接进入相应的操作界面,该系统可以使用多种单据格式,这也就满足了一个用户使用多种快递单的要求,该软件主要包括五个操作模块,其系统流程图如图24所示。开始用户登录超级用户非超级用户添加操作员删除操作员添加成功删除成功修改登录用户信息YY修改成功保存操作员信息YY退出操作NN快递单设置快递单查询快递单打印添加快递单修改快递单删除快递单图24系统流程图25系统的开发环境(1)运行平台WINDOWS7。(2)数据库管理系统软件MICROSOFTSQLSEVER2005。(3)开发语言VISUALCNET。(4)系统开发平台NETFRAMEWORK4。(5)分辨率1360768。第三章数据库分析与设置31数据库分析考虑到快递公司需要处理庞大的信息量,数据库维护工作量较大,在开发快递单软件打印系统时,选用SQLSEVER2005作为数据库管理系统。在该数据库管理系统中,新建一个数据库,数据库名为DB_EXPRESS,在DB_EXPRESS数据库中新建4个数据表,分别用来存储单据模板、快递单记录、单据类型和操作员等信息,新建的数据表信息如图31所示。图31DB_EXPRESS数据库的说明32数据库概念设计操作员在登录该系统时,需要经过身份的验证,操作员分为超级用户和非超级用户,在本系统中,只设置一个超级用户,其他的都是非超级用户,他们的区别主要体现在“操作员维护”模块,超级用户可以对非超级用户进行添加和删除。操作员信息ER图321所示。操作员代码操作员登录信息操作员名称密码操作员级别图321操作员信息ER图单据类型主要是指该系统中快递单信息的基本参数,快递单设置是整个系统流程的基础,系统存在多种类型的快递单,为了方便快递单的管理以及数据表之间关联信息的整合,所以该数据表为每个单据类型设置了对应的编码表示。在单据类型信息表快递单记录信息表单据模板信息表操作员信息表“ISENABLED”列表中,“1”启用单据类型,“0”表示禁用单据类型。单据类型信息的ER图如图322所示。单据类型信息单据类型编码单据类型名称单据宽度单据高度单据图片标记是否启用编码长度图322单据类型信息ER图单据模板是通过GDI图形程序设计语言绘制,转换为BMP格式保存到指定文件夹下,本系统绘制了五种单据模版,分别是丰速达快递单、申通快递单、天天快递单、中通快递单和追封快递单,它们涉及到的信息名称不同,用控制编码标识控制的名称,在“ISFLAG”列表中,“1”标记快递单号,其它名称用“0”标记。单据模板信息ER图323所示。控制编码单据模板信息单据类型编码模板起点X轴坐标模板起点Y轴坐标模板宽度值模板高度值模板信息标记符控制名控制名的默认设置值控制名的交换项图323单据模板信息ER图在单据模版信息表完善、明确后,才能填写快递单记录信息,一个单据类型编码可以对应多个快递单号,一个快递单号控制着整张快递单的全部信息内容,通过控制编码找到控制名称下的具体信息内容。本系统的快递单号采用的是条形码中的39码,快递单记录信息ER图324所示。快递单号快递单记录信息控制编码控制内容代号标记单据类型编码图324快递单记录信息ER图33数据表逻辑结构设计根据设计好的实体ER图创建数据库的逻辑结构,DB_EXPRESS数据库各表的结构如下(1)操作员登录信息表用来储存操作员的类别信息,包括操作员代码,操作员名称、密码、操作员级别4个字段。TB_OPERATOR表的逻辑结构如表331所示。表331操作员登录信息表字段名数据类型是否主键是否允许空值描述OPERATORCODE文本型(VARCHAR)是否操作员代码OPERSTORNAME文本型(VARCHAR)否否操作员名称PASSWORD文本型(VARCHAR)否否密码ISFLAG文本型(CHAR)否否操作员级别(2)单据类型信息表用来存储快递单信息的参数属性,包括单据类型编码,单据类型名称、标记、单据宽度、单据高度、单据图片、是否启用、编码长度8个字段。TB_BILLTYPE表的逻辑结构如表332所示。表332单据类型信息表字段名数据类型是否主键是否允许空值描述BILLTYPECODE文本型(VARCHAR)是(自动递增)否单据类型编码BILLTYPENAME文本型(VARCHAR)否是单据类型名称BILLWIDTH整数型(INT)否是单据宽度BILLHEIGHT整数型(INT)否是单据高度BILLPICTURE二进制数据类型(IMAGE)否是单据图片BILLCODELENGTH整数型(INT)否是编码长度REMARK长文本型(TEXT)否是标记快递类型ISENABLED文本型(CHAR)否是是否启用(3)单据模版信息表用来存储快递单各属性的具体参数值,包括控制编码、单据类型编码、模板起点X轴坐标、模板起点Y轴坐标、模板宽度值、模板高度值、模板信息标记符、控制名、控制名的默认设置值、控制名的交换项10个字段。TB_BILLTEMPLE的逻辑结构如表333所示。表333单据模板信息表字段名数据类型是否主键是否允许空值描述CONTROLID整数型(INT)是否控制编码BILLTYPECODE文本型(VARCHAR)否否单据类型编码X整数型(INT)否是模板起点X轴坐标Y整数型(INT)否是模板起点Y轴坐标WIDTH整数型(INT)否是模板宽度值HEIGHT整数型(INT)否是模板高度值ISFLAG文本型(CHAR)否是模板信息标记符CONTROLNAME文本型(VARCHAR)否是控制名DEFAULTVALUE文本型(VARCHAR)否是控制名的默认设置值TURNCONTROLNAME文本型(VARCHAR)否是控制名的交换项(4)快递单信息记录表用来存储快递单上各参数的具体信息内容,包括代号标记,单据类型编码、快递单号、控制编码、控制内容5个字段。TB_BILLTEXT的逻辑结构如表334所示。表334单据类型信息表字段名数据类型是否主键是否允许空值描述NOTEID整数型(INT)是否代号标记BILLTYPECODE文本型(VARCHAR)否否单据类型编码EXPRESSBILLCODE文本型(VARCHAR)否是快递单号CONTROLID整数型(INT)否否控制编码CONTROLTEXT文本型(VARCHAR)否是控制内容第四章系统设计与功能实现41操作类为了便于系统的维护和管理,减少代码的冗余,同时增加代码的可复用性,本软件定义了4个类,分别是DATAOPERATE,COMMCLASS,GLOBALPROPERTY,READFILE。新建文件夹DAL和COMMON,将DATAOPERATOR类归集到DAL文件夹中,其他三个类放入COMMON文件夹。本系统自定义了一个数据操作类DATAOPERATE,该类主要是用来封装应用程序与数据库的连接,并实现对数据信息的添加、删除、修改以及读取等操作。在命名空间引人USINGSYSTEMDATASQLCLIENT命名空间,因为加了这个命名空间之后才可以使用该数据库操作。在该类的主体代码中,(1)先声明数据库连接引用和数据库命令引用;(2创建DATAOPERATE构造方法,该构造方法主要用来读取和加载数据库连接信息,创建数据库连接对象和命令对象并设置数据库命令对象的连接属性,并对他们进行异常捕获;(3)为了获取数据库连接对象和数据库命令对象,定义CONN和CMD两个只读属性,以方便在该类的外部操作数据;(4)定义EXECDATABYSQLS方法的作用是为了同时提交多条TRANSACTSQL语句,若该方法执行成功,则返回TRUE值,否则返回FALSE值;(5)定义GETDATAREADER方法来读取数据库中的数据,该方法封装了COMMAND对象的EXECUTEREADER方法,最终返回SQLDATAREADER对象;(6)定义EXECUTESCALAR方法的作用是为了得到结果集中的第一行的第一列的数值,返回EXECUTESCALAR对象。(7)自定义GETDATATABLE方法来将数据绑定到界面上的DATAGRIDVIEW控件,该方法的返回值为DATATABLE对象。42GDI绘图模型本系统包含5种类型的快递单,分别是丰速达快递单、申通快递单、天天快递单、中通快递单、追封快递单,从快递单的外观上看,一张快递单由多种不同的字体和格式样的图案组成,考虑到快递单模板绘制的复杂性和快递单的打印需求,本系统采用面向对象的NET应用程序绘图模型GDI。GDI是与NETFRAMEWORK中的图形设备接口进行交互的入口,它有以下几方面的优点,(1)GDI提供了一个与对象无关的模型,在GDI中,程序员根据实际需要独立地创建和使用钢笔、画笔、图像或文字,并可以随时对它们修改,操作简易方便。(2)该应用程序可以在同一窗体上使用多种颜色和样式的钢笔绘制不同的图形对象。(3)程序员可以在GDI编写与打印机、监视器或文件等图形设备进行交互的WINDOWS和WEB图形应用程序。GDI编程的核心SYSTEMDRAWINGGRAPHICS类,它封装了一个GDI绘图表面,它可能是一个窗口,也可以是内存里的位图,本系统的快递单模板是通过创建SYSTEMDRAWINGBITMAP类的一个实例来创建内存文件的位图。首先要确保USINGSYSTEMDRAWINGDRAWING2D和USINGSYSTEMDRAWING命名空间被引用,然后创建实例BMP将绘制在窗口界面上的图形转化为24位RGB格式的图像存储到内存文件中,单位为像素,该对象需要指定图像的高度和宽度,主要代码格式BITMAPBMPNEWBITMAP(X,Y,SYSTEMDRAWINGIMAGINGPIXELFORMATFORMAT24BPPRGB然后引用SYSTEMDRAWINGGRAPHICS对象来为图像创建GDI绘图的上下文,使用静态方法GRAPHICSFROMIMAGE()在内存里的位图上绘制内容,主要代码格式GRAPHICSGRAPHICSGRAPHICSFROMIMAGEBMP使用多个SYSTEMDRAWINGFONT对象来呈现静态的标签信息,使用SYSTEMDRAWINGPEN对象来创建画笔,使用SYSTEMDRAWINGSOLIDBRUSH对象来创建画刷,接下来的部分就是使用GRAPHICS类的方法绘制快递单上复杂的文本、形状等内容。首先用GDI库绘制出这些快递单的模板,然后导出转换为BMP格式,再通过绘图软件转换为JPG格式,通过窗体界面上的命令按钮添加到运行界面,GDI库还提供了图形的打印功能,连接打印机设备后,这些绘制出的快递单图形是可以打印出来的。43系统登录模块系统登录是本软件的起点,也是程序的入口,本系统取名为“红太狼快递单打印软件”,只有指定的合法用户才可以登录,在这些用户中,有一个超级用户,其他为非超级用户,他们的权限主要体现在“操作员维护”模块。在空白框内填入指定的用户编码和登录代码,如果验证通过,用户将进入系统的主界面,“系统登录”模块的运行界面如图431所示。图431系统登录界面新建一个WINDOWS窗体,命名为FORMLOGIN,该窗体中用到的主要控件和它们属性值的设置如下,最大化按钮(MINIMIZEBOX)和最小化按钮(MAXIMIZEBOX)属性均为FALSE,文本(TEXT)属性设为“系统登录”,在应用小图标(ICON)属性中加载图标,表示系统登录的标志,背景设置(BACKGROUND)属性中导入背景图片。该窗体用到的主要控件如表432所示。表432“系统登录”窗体中用到的主要控件控件类型控件ID主要属性设置用途LABELLABEL1,LABEL2TEXT属性分别设置为“用户编码”,“登录密码”。显示标签文本TEXTBOXTXTCODE,TXTPWD接收用户编码和登录密码输入信息BUTTONPICLOGIN,PICRESET,PICQUITTEXT属性分别设置为“登录”,“重置”,“退出”。创建登录、重置、退出按钮“系统登录”模块包括登录、重置、退出三个部分,该模块的流程图如图433所示。系统登录登录重置退出用户编码登录密码软件提示请输入用户编码软件提示请输入登录密码登录主界面清空“用户编码”清空“登录密码YNN退出界面Y图433系统登录流程图44主窗体菜单栏设计“快递单打印通”窗体是登录本系统后的主窗体界面,它包含了该软件所有的功能需求,用户可以通过该页面实施对快递单管理的各项操作。它主要是通过调用COMMCLASS公共类中SHOWFORMBYMDIPARENT方法来实现各模块的链接操作,该窗体的运行界面如图441所示。图441主窗体界面新建一个WINDOWS窗体,命名为APPFORM,设置MAINMENUSTRIP属性为MENUSTRIPMAIN,STARTPOSITION属性为CENTERSCREEN,TEXT属性为“快递单打印通”,在应用小图标(ICON)属性中加载图标,表示系统登录的标志,背景设置(BACKGROUND)属性中导入背景图片。该窗体用到的主要控件如表442所示。表442“系统登录”窗体中用到的主要控件控件类型控件ID主要属性设置用途MENUSTRIPMENUSTRIPMAIN其ITEMS属性的详情设置请查看源程序。制作菜单栏TOOLSTRIPTOOLSTRIPMAIN其ITEMS属性的详情设置请查看源程序。制作工具栏该模块主要的程序如下(1)引入命名空间USINGEXPRESSUIBASESETUSINGEXPRESSUIEXPRESSUSINGEXPRESSCOMMON(2)触发MENUITEMBILLPRINT(快递单打印)按钮的CLICK事件,转到“快递单打印”的窗体界面;触发MENUITEMBILLQUERY(快递单查询)按钮的CLICK事件,转到“快递单查询”的窗体界面;触发MENUITEMSETBILL(快递单设置)按钮的CLICK事件,转到“快递单设置”的窗体界面;触发MENUITEMSETOPERATOR(操作员维护)按钮的CLICK事件,转到“操作员维护”的窗体界面;触发MENUITEMAMENDPASS(修改密码)按钮的CLICK事件,转到“密码修改”的窗体界面。主窗体的菜单栏由基础设置、单据管理和退出三部分组成,该部分框图如图443所示。快递单打印通快递单打印快递单设置快递单查询基础设置单据管理退出操作员设置操作员维护修改密码图443主窗体菜单栏框图45快递单设置模块“快递单设置”窗体主要用于自定义快递单样式,用户可以通过该窗体添加绘制出的快递单模板,也可以根据实际需要添加、修改、删除快递单,该窗体的运行界面如图451所示。图451“快递单设置”窗体新建一个WINDOWS窗体,命名为FORMBILLTYPE,设置MINIMIZEBOX和MAXIMIZEBOX属性值均为FALSE,TEXT属性值为“快递单设置”,在应用小图标(ICON)属性中加载图标。该窗体用到的主要控件如表452所示。表452“系统登录”窗体中用到的主要控件控件类型控件ID主要属性设置用途DATAGRIDVIEWDGVBILLTYPEALLOWUSERTOADDROWS属性设置为FALSEMODIFIERS属性设置为PUBLIC。在COLUMNS集合中添加列名,从左依次为“是否启用”、“快递单代码”、“快递单名称”、“单据宽度”、“单据高度”、“单据号码位数”、“备注”、“快递单图片”。显示快递单的基本信息BINDINGSOURCEBSBILLTYPEMODIFIERS属性设置为PUBLIC。用于管理数据源TOOLSTRIPTOOLSTRIP1其ITEMS属性的详情设置请查看源程序。制作工具栏“快递单设置”模板包括两大部分,第一部分是管理快递单,第二部分是快递单模板设计,管理快递单又分为添加快递单、修改快递单和删除快递单3种操作,快递单设置流程图如图453所示。快递单设置添加快递单修改快递单删除快递单设计模板输入快递单参数设置快递单图片选择快递单记录选择快递单记录选择快递单记录保存数据修改快递单是否删除添加文本框保存数据删除数据是否图453“快递单设置”流程图该模块主要的程序如下(1)引入命名空间USINGEXPRESSCOMMON;(2)触发TOOLADD(添加)按钮的CLICK事件,转到“快递单基本信息”窗体。触发TOOLAMEND(修改)按钮的CLICK事件,若存在选中的修改快递单的内容,则转到“快递单基本信息”窗体。触发TOOLDELETE(删除)按钮的CLICK事件,若存在选中的删除快递单的内容,就启动软件提示对话框,若选择“是”,将会级联删除数据库中对应的模板和快递单记录的信息,窗口界面上这条快递单的所有信息随之被移除。触发TOOLSETTING(修改模板)按钮的CLICK事件,转到“设计模板”窗体。触发TOOLEXIT(退出)按钮的CLICK事件,则退出该页面。451快递单基本信息模块新建一个WINDOWS窗体,命名为FORMBILLTYPEINPUT,该窗体是“快递单设置”窗体下的一个子窗体,选择“快递单设置”窗体上的“添加”或“修改”按钮将打开“快递单基本信息”窗体,选择“添加”按钮时,该窗体用于录入快递单的基本信息,选择“修改”按钮时,该窗体用于修改递单基本信息参数,该窗体的运行结果如图454所示。图454“快递单基本信息”窗体快递单参数在录入和修改的过程中,有的参数值可以为空,有的参数值不能为空,该部分流程图如图455所示。快递单参数单据代码单号位数备注软件提示单据宽度不许为空单据名称软件提示单据名称不许为空单据宽度N单据高度软件提示单据高度不许为空Y状态YNYN图455“快递单参数”录入流程图452设计快递单模板在打开的“快递单设置”窗体中,首先选中一条快递单记录,然后单击该窗体上的“设计模板”按钮,程序将会打开“设计模板”的窗体,在该窗体代码中,程序首先从数据库中读取快递单图像,然后获取当前窗体的图像分辨率,通过加载TB_BILLTEMPLATE数据表中的信息来动态地创建文本框。运行界面如图456所示。图456设计模板窗体该子模块的程序思路如下(1)构造模板中的文本控件,因为各种类快递单模板的信息内容不相同,所以要从TB_BILLTEMPLATE数据表中动态地读入,这些控件在窗体界面上不显示,只有运行本系统时,根据实际需要调整这些文本控件的大小。(2)绘制该文本框的颜色、形状、文本框中字体的大小,计算出每个文本框的长度和宽度。在保存按钮的CLICK事件中,必须查找到设置为快递单号的控件,否则弹出程序无法执行的软件提示对话框。这些文本控件,可以删除和重新添加,调整布局。(3)单击该模板上的“关闭”命令,弹出“模板设置信息已被更新,是否保存”的软件提示对话框,若单击是,重新执行保存按钮的操作,否则不予保存。46操作员维护模块“操作员”窗体的主要功能是添加、删除、修改操作员记录,该窗体的运行界面如图461所示。图461“操作员”窗体新建一个WINDOWS窗体,命名为FORMOPERATORCS,TEXT属性为“操作员”,在应用小图标(ICON)属性中加载图标。该窗体用到的主要控件如表462所示。表462“操作员维护”窗体中用到的主要控件控件类型控件ID主要属性设置用途DATAGRIDVIEWDGVBILLTYPEALLOWUSERTOADDROWS属性设置为FALSEMODIFIERS属性设置为PUBLIC在COLUMNS集合中添加列名,从左依次为“操作员代码”、“操作员名称”、“操作员密码”、“是否超级用户”。显示快递单的基本信息BINDINGSOURCEBSOPERATORMODIFIERS属性设置为PUBLIC。用于管理数据源TOOLSTRIPTOOLSTRIP1其ITEMS属性的详情设置请查看源程序。制作工具栏操作员分为超级用户和非超级用户,当用超级用户的身份登入该系统时,可以通过“操作员”窗体添加用户、修改用户名和删除用户;当用非超级用户的身份登入该系统时,不能对其他用户进行添加、修改和删除操作,但可以修改自己的用户名。“操作员维护”模块框图如图463所示。操作员超级用户非超级用户添加操作员修改操作员名称删除操作员修改自己的操作名称修改自己的操作密码修改自己的操作密码图463“操作员模块”框图“操作员编辑”模块是“操作员维护”模块下的子模块,当单击“操作员维护”窗体上的“添加”和“修改”按钮,会出现如图464所示的运行界面。图464“操作员编辑”窗体该模块的程序思路如下(1)在该窗体的LOAD事件中,若是添加命令,添加操作员的信息到TB_OPERATOR数据表;若是修改命令,读取该数据表的信息,主要是“操作员名称”,然后进行编辑。(2)触发BTNSAVE(保存)按钮的CLICK事件,检索TXTOPERATORNAME控件中的内容,若为空,则弹出“操作名称不许为空”的软件提示对话框。添加按钮需添加“操作代码”,“操作名称”,“操作密码”,“确认密码”,而修改按钮只能修改“操作名称”。47修改密码模块“修改密码”窗体的主要功能是修改当前用户的密码,如果原密码与当前用户的输入密码不相符,软件提示错误。修改后的密码保存到数据表TB_OPERATOR中的“PASSWORD”字段中。该窗体的运行界面如图471所示。图471“修改密码”窗体“修改密码”模块涉及到原密码、新密码、确认密码之间的确认问题,该模块流程图如图472所示。修改密码原密码与登录密码相同Y新密码N确认密码与新密码相同Y密码修改成功原密码不正确确认密码与新密码不相同N图472“修改密码”模块流程图该模块的程序思路如下(1)引入命名空间USINGEXPRESSDAL;和USINGEXPRESSCOMMON;(2)触发BTNOK(保存)按钮的CLICK事件,检索“TXTOLDPASSWORD”文本框中的内容是否为空,若是空值,则弹出“原密码不能为空”的软件提示对话框,否则判断原密码内容是否和登录本系统时的“用户密码”相符,若相符,继续下面的操作,否则弹出“原密码不正确”的软件提示对话框。接下来检索TXTPASSWORD文本框中的内容是否为空,若是空值,则弹出“新密码不能为空”的软件提示对话框,否则判断“新密码”和“确认信密码”文本框中的内容是否一致,若一致,更新TB_OPERATOR数据表中原来的密码,弹出“密码修改成功”的软件提示对话框,否则弹出“确认密码与新密码不相同”的软件提示对话框。48快递单查询模块“快递单查询”窗体除了提供对快递单记录的查询、修改、打印和删除3个基本功能外,还具有对快递单信息修改后重新打印单据的功能,打印后的快递单记录重新被保存到数据表“TB_BILLTEXT”中,该界面的运行结果如图481所示。图481“快递单查询”窗体新建一个WINDOWS窗体,命名为FORMEXPRESSBILL,TEXT属性为“快递单查询”,在应用小图标(ICON)属性中加载图标。该窗体用到的主要控件如表482所示。表482“系统登录”窗体中用到的主要控件控件类型控件ID主要属性设置用途DATAGRIDVIEWDGVBILLTYPEALLOWUSERTOADDROWS属性设置为FALSEMODIFIERS属性设置为PUBLIC显示快递单的基本信息DROPDOWNLISTTOOLCBXBILLTYPECODEFORECOLOR属性设置为WINDOWTEXT选择单据类型TOOLSTRIPTOOLSTRIP1其ITEMS属性的详情设置请查看源程序。制作工具栏本系统包括在5种类型的快递单,查询快递单时,首先选择需要查询的单据类型,选择“查询”按钮会弹出“查询条件输入”的界面,可以在文本框中输入快递单号,地址等任意信息查询到该快递单的相关记录,也可以直接选择“快递单输入条件”界面上的查询按钮,查找该快递单的所有记录。选择“打印”按钮会弹出“单据打印”的界面,选择“删除”按钮将会删除该条快递单的记录。快递单查询的流程图如图483所示。快递单查询选择单据类型输入查询条件显示查询结果选择的其中一条记录是否删除YN删除指定单据打印和修改单据图483快递单查询流程图该模块的程序思路如下(1)使用GET属性来访问设置变量,在该界面的LOAD事件中,使用IDICTIONARY泛型封装“客户基础分类”信息。(2在“选择单据类型”文本框的SELECTEDINDEXCHANGED事件中,根据快递单类型的编码查找对应的单据,若找到此类单据,用户可以根据该单据上的某一信息查找对应的所有信息内容,但如果该单据不存在快递单号,就会弹出“该单据的模板未设置快递单号输入框,无法查询”的软件提示对话框。(3)触发TOOLQUERY(查询)按钮,转到“快递单据”窗体,执行该窗体上的“查询”命令按钮。(4)触发TOOLPRINT(打印)按钮,转到“快递单据”窗体,执行该窗体上的“打印”命令按钮。(5)触发TOOLDELETE(删除)按钮,若有选中的内容,则会弹出“确定要删除吗”的软件提示对话框,若单击是,则会连带数据表中的内容一并删除。481条形码的概述条形码是一种标准符号,它可供电子仪器自动识别,它的应用领域十分广泛,在工业领域、物流交通领域、商业领域和邮电通信等领域等都可以见到各式各样的条形码。本系统将它运用到快递单上,以便于对庞大的快递单信息量的管理。本软件中的条形码采用CODE39码,它既可表示数字,也可以表示字母,在管理领域该类条形码应用最广发,它的编码规则是,每五条线表示一个字符,粗线用表示,细线用0表示,这些线条间间隙较宽的用1表示,较窄的用0表示,它的每一字符都是由5个条和4个空共9位元素组成,这9位元素中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论