• 395.00 KB
  • 48页

桥梁养护管理系统毕业设计论文

  • 48页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'题目桥梁养护管理系统 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:      桥梁养护管理系统摘要:随着我国国民经济的迅猛发展,对交通运输提出了更高的要求,公路运输车辆大型化、重型化发展的趋势给道路特别是桥梁等道路构造物造成严重损害。文章分析了我国公路桥梁养护与管理中存在的问题,对如何进一步提高公路桥梁的养护与管理水平进行了探讨,提出了相应措施。关键词:公路桥梁;养护与管理;维修加固;危桥改造Alongwiththefastfiercedevelopmentofourcountrynationaleconomy,makehigherrequesttothetransportation,thehighwaytransportsvehiclelargeturn,weighatypeofthetrendthatturnsadevelopmenttoroadespeciallybridgeetc.roadstructurethethingresultinseriousdamage.Thearticleanalyzedbridgeintheourcountryhighwaytoprotectandtheexistentprobleminthemanagement,tohowraisedprotectingofbridgeinthehighwaytocarryonastudywithmanagementlevelfurther,putforwardtocorrespondmeasure.Keyword:Bridgeinthehighway;Protectandmanage;Maintaintoreinforce;Theshakybridgereforms 目录1绪论41.1桥梁养护系统形成和发展42开发工具及环境简介62.1ASP.NET62.2VisualStudio200572.6.2.NETFramework类库82.7C#语言92.7.1效率与安全性102.7.2扩展交互性112.7.3小结123桥梁养护系统简介123.1用户需求简介123.1.1功能需求133.1.2性能需求133.2工作过程143.3系统特点144详细设计与实现154.1代码设计154.1.1主要算法154.1.2数据库操作414.2页面设计与实现424.2.1编程关联(环境配置)434.2.2编程页面44结论45参考文献46致谢47 1绪论1.1桥梁养护系统形成和发展桥梁是确保公路安全畅通的咽喉。随着我国公路网基本形成,桥梁的数量和种类日显增多,桥梁养护工作越来越显得重要。由于历史的原因,桥梁养护工作在规范化、集约化和系统化方面还很多工作要做,从管理层面对桥梁养护的资源问题和质量问题作出研究,是提高公路桥梁运营服务水平的必要步骤。随着我国经济发展,材料、机械、设备工业相应发展,再加上广大桥梁建设者的精心设计和施工,使我国建桥水平已跃身于世界先进行列。但是长期以来,“重建设、轻养护”这个问题在我国公路桥梁管理中一直表现得比较突出,桥梁存在的问题也就比较多。因此,公路管养部门必须重视强化公路桥梁的养护与管理,提高桥梁的养护水平。  一、公路桥梁养护现状  (一)体制问题  缺乏养护骨干队伍:某些管养部门业务庞杂,人员超编,却未能建立起自己的专业化养护队伍,如一支精干的机动化桥梁巡检小分队。计划体制在某些方面使桥梁养护流于形式:引自苏联的计划养护模式过去起到了积极的作用,但在市场经济中已丧失了一定的活力。少数部门为了经济利益,不再按时按量的进行桥梁检查。养护管理大环境不顺:我国公路养护管理体制自解放以来,经历了几次下放和收回,公路养护段时分时合,历经沧桑。但目前,各省市间养护管理体制不统一,某些省、市、区内的管理体制亦不统一;某些地区机构重叠、各自为政、权责不明,有省公路管理局,有省高等级公路管理局,厅、局下的分支机构有公司,有处,有中心,有站;地域化养护管理阻碍了养护工程市场化;“条块结合”之弊,即某些养护部门人事、财政权不够统一;政、事、企不分。  (二)制度问题  无章或有章不依:某些桥梁养护机构没有全面的管理规章制度,或有却不能按其执行。片面地理解技术规范:现行公路养护技术规范缺乏相应的指南与工法说明,且个别规定不一定适合某些特别地区或特殊工程;某些管养部门片面夸大了规范的指导作用,将其神圣化、强制化;在规范问题上应摆脱传统计划体制下对统一的过分强调,各省市可根据自己的经济实力、养护能力,及时搜集、更新养护信息,编制灵活的地方性规范与指南,以适应不同地区气候、地质、经济、技术上的差异并鼓励桥梁养护技术创新。  (三)资源问题   桥梁养护行业人力资源的整体素质亟待提高:一些养护者理论水平与实践能力不成比例,或是理论缺乏,或是动手能力较差,有时甚至从其它行业里拉人凑数;很多养护工人未经或缺乏正规培训,技能单一;管理人才的数量更是微乎其微。桥梁养护人员价值取向发生变化:由于收入不高,养护行业往往留不住人才,特别是那些优秀的养护技术人才和复合型管理人才。养护资金问题:桥梁养护资金严重缺乏,远不足以完成所有桥梁的维修加固需要;待养任务和到位资金不成比例,往往造成了某些养护任务的一拖再拖;特别要指出:养护资金有限,却不时会遭到挪用。某项工程资金链出现缺口时,通常首先想到的就是截留养护经费;某些历史条件下,因管理手段落后、决策不合理做出的一些主观判断,致使好钢未能用于刀刃之上,部分桥梁养护资金未能发挥救火作用。  二、加强公路桥梁养护与管理应采取的措施  (一)建设桥梁养护工程师队伍和养护队伍  公路交通的迅猛发展,必然要求强化组织管理。在桥梁管养方面,应根据养护里程、辖区内桥梁数量设立若干名专职桥梁养护工程师,并保证其工作性质的相对稳定,不能随意换动。在其职责上,桥梁养护工程师负责制定、安排桥梁年度定期检查计划,组织实施辖区内桥梁养护的定期检查,提出检查报告,通报三、四类及危险桥梁的病害状况。从目前的养护队伍现状来看,养护工人素质参差不齐,很难做到真正的专业养护。这就要求各级公路部门高度重视,针对桥梁养护工作的需要,要逐步培养骨干,成立专业养护队。桥梁专职养护,要突出的是一个“专”字,努力做到专业人员、专门程序、专用方法,以保证桥梁工程师的工作部署落实到位,随时掌握桥梁的使用状况,处治各种危急突发事件,并使队伍逐渐从日常养护过渡到具备进行桥梁中、小修甚至大修的能力。  (二)建立健全完善的桥梁档案  桥梁档案是桥梁的历史足迹。公路竣工验收后,管理单位应及时要求建设单位提交完整的竣工资料,还要与建设单位技术人员一起,按照相关资料,对所有桥梁进行一次全面详细的检查。需要提供的竣工资料包括:每座桥的原设计、变更设计、竣工图纸、隐蔽工程图片和检测资料以及桥下河流的水文计算等。对桥梁的检查,应按照桥梁定期检查的要求进行,检查结果交管理单位留存。管理单位要按照桥梁管理系统的要求采集桥梁的静态数据和动态数据,建立数据库,输入计算机立档保存,这可为以后桥梁的维护提供资料支持。  (三)加大桥梁维修加固费的投入  为保证桥梁的正常运营,延长桥梁使用寿命,各级交通主管部门在每年的年度养护工作计划中,应该安排一定经费保证桥梁检查、维修及加固工作,保证桥梁养护与维修加固资金的合理与充足使用。同时,根据各地的实际情况,提出切实可行的公路桥梁养护管理的目标与措施,从而促进桥梁改建、维修与加固工作。国家投资重点倾斜以及集资渠道的多元化,将为我国公路桥梁发展提供资金保证。  (四)加强措施,严格检查   严格的检查措施是保证桥梁维护工作质量的有效方法。养护队应对桥梁以及各种防护设施坚持日常养护巡查,注意观察桥梁的使用状况,尽量做到1次/天养护巡查,并做好巡查记录,同时各级桥梁养护工程师应分别组织经常性检查、定期检查和专业检查。一是经常性检查。要由县级桥梁工程师组织实施,以目测为主,配合简单工具,至少每年度一次,填写“经常性检查记录表”上报。检查应拍摄总体照片,填写“桥梁定期检查数据表”,并提交检查报告。二是专业检查。凡遭受意外损害、定期检查中难以判明损坏程度以及决定改造之前均需进行专业检查。  (五)全面落实危桥改造的措施  在检查后,发现的存在符合《公路养护技术规范》桥梁技术评定标准中四类危桥状态的桥梁均系危桥。主要包括桥梁重要部件出现严重的功能性病害,且有继续扩展现象,关键部位的部分材料强度达到极限,出现部分钢筋断裂,砼压碎或压杆失稳变形的破损现象,变形大于规范值,结构的强度、刚度、稳定性不能达到平时交通安全通行的要求,以及承载能力比设计降低25%以上的类型。这些桥梁必须尽快实施加固、维修和改造,以提高其承载能力。对于桥梁改造工程,各级公路管理机构应引入竞争机制,应当实行招投标制度,工程监理制度和合同管理制度。严格质量管理,把好材料质量关,加大工程建设中的监理力度,严格按照设计图纸进行施工,从而保证桥梁建设质量,减少使用期间的后顾之忧。2开发工具及环境简介2.1ASP.NETASP.NET(ActiveServerPage.NET)是Microsoft.net的一部分,作为战略产品,不仅仅是ASP((ActiveServerPage)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。ASP.ne 提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.net的主题就是系统帮用户做了大部分不重要的琐碎的工作。新的ASP.net引入受管代码(ManagedCode)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWSRuntime下运行,而NGWSRuntime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。对于一个程序,速度是一件非常令人渴望的东西。一旦代码开始工作,接下来你就得尽可能地让它运作得快些快些再快些。在ASP中你只有尽可能精简你的代码,以至于不得不将它们移植到一个仅有很少一点性能的部件中。而现在,ASP.net会妥善地解决这一问题。在ASP.net里,你将会拥有一个“Data-Bounds”(数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。ASP.net支持多种语言,支持编译类语言,支持比如VB、C#、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.net能够适应上面的要求。对于今天的Web程序员来说,最大的挑战就是不断变化的浏览器兼容性以及它们不断升级的复杂性。在保证页面能在所有浏览器下工作的同时,又得尽量使用每个浏览器的最新属性来建立更具交互性的页面,这简直就是一场恶梦。更加可怕的是,需要对不同的用户设备建立不同的网页。最简单的解决办法就是动态地对不同的用户生成不同的输出,或者就是对不同的用户写多个页面。大多数开发者都会选择第一种方法。但是,这就意味着用户的每次点击都会让服务器判断应该向用户显示什么。而通过ASP.net,我们可以看到一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块,有助于管理和处理不同的用户类型。2.2VisualStudio2005首先,什么是VisualStudio.NET?我们说VisualStudio.NET是一个IDE,那么IDE又是什么?IDE是英文单词IntegratedDevelopmentEnvironment的缩写,是集成开发环境的意思,是指把代码的编写、程序的调试、编译、运行以及其他的相关操作都集成在一起的编程工具。我们所说的VisualStudio.NETIDE,现在的版本是VisualStudio.NET2005,它是一套完整的开发工具,可以用于创建高性能的桌面应用程序、XMLWeb服务、移动应用程序和ASPWeb应用程序。可能现在的人很难想到20世纪80年代的现在Windows操作系统的始祖MS-DOS竟然是Basic语言编写的,当然这个奇迹是由微软帝国的国王比尔盖茨亲手创造的,那时的语言开发工具和我们现在所要说的IDE相距甚远。到了1990年,VisualBasic 的产生给编程界带来了不小的震撼,因为当时用其他编程语言做一个漂亮的界面(GUI)是很奢侈的一件事情,从VisualBasic的风靡,也可以看出另一件事情,就是人们越来越关注应用程序界面等非功能方面。到1995年,VisualStudioIDE似乎开始变得成熟,这套集成开发环境不仅包括经典的VisualBasic6.0和VisualC++6.0,还包括可以进行数据库开发的VisualFoxPro,可以进行网页开发的VisualInteDev等。有了这个IDE人们不仅可以创建基于Windows的桌面应用程序,也可以创建基于IE浏览器的Web程序,可以说这套IDE是非常强大的。但问题是,在此开发环境中似乎每做一件事都有一个工具与其对应,各个开发工具之间也彼此独立,比如我们要开发网页程序,就只能使用VisualInteDev,我们用VB开发的东西,在VC中很难调用,而且针对不同的应用比如移动应用还需要另外一套与桌面应用相似的开发IDE。以往VisualStudio这些不足之处,在VisualStudio.NET中被弥补。VisualStudio.NETIDE以.NETFramework为基础,整合了VB.NET、C#.NET、VC#.NET、VJ#.NET等开发环境,提供极其强大的开发能力。注意整合的意思不仅仅指你打开一个VisualStudio.NETIDE工具即可进行上面四种语言的开发,更重要的是指不同语言的开发环境和开发技巧基本相同。值得一提的是,人们还是按照惯性思维来称呼VB.NET、VC#.NET等为开发工具,事实上我们现在只有一个开发工具,就是VisualStudio.NETIDE,VB和C#等只是这个开发工具面向不同语言的开发环境而已。比如VisualC#.NET就是VisualStudio.NETIDE面向C#的开发环境,这个开发环境同其他开发环境一样可以创建传统的桌面应用、Web应用、移动应用、工业应用等任何设备的应用程序。VisualStudio2005是一套完整的开发工具集,它向开发的各个过程提供辅助工具。举个例子,你学习英语,你当然可以照着书本学,你也可以买一个学英语的数字助理(PDA或电子词典),现在很多数字助理提供背单词、朗读课文、短句练习等功能,这里的数字助理就好比我们的VisualStudio,数字助理提供了一套学习英语的工具集,而我们的VisualStudio提供了开发应用程序的工具集。编写.NET程序最简单的环境其实有一个记事本和一个编译器就足够了,之所以需要工具集或者IDE是因为现在企业需要你快速、高效地开发出稳定、实用的计算机应用程序,而工具集的作用也在于帮助你快速、高效地开发。VisualStudio提供了在设计、开发、调试和部署应用程序时所需的工具,VisualC#集成开发环境(IDE)是VisualStudioIDE中的一种。打开VisualStudio选择C#即可进入VisualC#集成开发环境,它里面有些工具是与其他VisualStudio语言共享的,还有一些工具(如C#编译器)是VisualC#特有的。2.6.2.NETFramework类库.NETFramework 类库是一个与公共语言运行库紧密集成的可重用的类型集合。该类库是面向对象的,并提供您自己的托管代码可从中导出功能的类型。这不但使.NETFramework类型易于使用,而且还减少了学习.NETFramework的新功能所需要的时间。此外,第三方组件可与.NETFramework中的类无缝集成。例如,.NETFramework集合类实现一组可用于开发您自己的集合类的接口。您的集合类将与.NETFramework中的类无缝地混合。.NETFramework类型使您能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型。例如,可使用.NETFramework开发下列类型的应用程序和服务:(1)控制台应用程序;(2)WindowsGUI应用程序(Windows窗体);(3)ASP.NET应用程序;(4)XMLWebservices;(5)Windows服务。例如,Windows窗体类是一组综合性的可重用的类型,它们大大简化了WindowsGUI的开发。如果要编写ASP.NETWeb窗体应用程序,可使用Web窗体类。2.7C#语言在过去的二十年里,C和C++已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。与诸如MicrosoftVisualBasic等语言相比,同等级别的C/C++应用程序往往需要更长时间来开发。由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。目前有些语言,以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C++程序员所需要的。这些解决方案对编程人员的限制过多(如屏蔽一些底层代码控制的机制),其所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。微软推出C#C#(Csharp)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选--无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为 XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。2.7.1效率与安全性新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个"标志性"的版本。C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。2.7.1.1支持现有的网络编程新标准新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般无法很好地支持最新的网络技术。C#程序员可以在Microsoft.NET平台上事半功倍的构建应用程序的扩展框架。C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。还有一些精细的特性,使得C#成为一流的网络编程工具。例如,XML正逐渐成为在网络上传输结构化数据的标准。这种数据集合往往非常小。为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。这样对处理少量的数据非常有效。2.7.1.2消除大量程序错误即使是专家级的C++程序员也常会犯一些最简单的小错误--比如忘了初始化变量,但往往就是这些小错误带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。C#的现代化设计能够消除很多常见的C++编程错误。例如:(1)资源回收减轻了程序员内存管理的负担。(2)C#中变量由环境自动初始化。(3)变量是类型安全的。这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。对版本的更新提供内在的支持降低了开发成本更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。为协助开发者进行这项工作,C# 为版本的更新提供内在的支持。例如,方法重载必须显式声明。这样可以防止编码错误,保证版本更新的灵活性。还有一个相关的特性就是对接口和接口继承的内在支持。这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。总体来说,这些特性使得开发程序项目的后续版本的过程更加健壮,从而减少后续版本的开发成本。2.7.1.3商业过程和软件实现的更好对应企业的商业计划要付诸现实,必须在抽象的商业过程和实际的软件实现之间建立紧密地对应。不过大多数语言都很难做到这点。例如,如今的程序员们一般使用代码注释来注明哪个类对应于某个抽象的商业对象。C#语言允许类型定义的,扩展的元数据。这些元数据可以应用于任何对象。项目构建者可以定义领域特有的属性并把他们应用于任何语言元素-类,接口等等。然后,开发人员可以编程检查每个元素的属性。这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系。2.7.2扩展交互性作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。但实际的经验表明有些应用程序仍然需要一些底层的代码,要么是因为基于性能的考虑,要么是因为要与现有的应用程序接口兼容。这些情况可能会迫使开发者使用C++,即使他们本身宁愿使用更高效的开发环境。C#采用以下对策来解决这一问题:(1)内置对组建对象模型(COM)和基于Windows的API的支持;(2)允许有限制地使用纯指针(NativePointer)。在C#中,每个对象都自动生成为一个COM对象。开发者不再需要显式的实现IUnknown和其他COM接口.这些功能都是内置的.类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的。C#包含了一个特殊的功能,使程序可以调用任何纯API。在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。这是其相对于其它环境的极大优势。这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码。无论是支持COM还是纯API的调用,都是为了使开发者在C#环境中直接拥有必要的强大功能。 2.7.3小结C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft.NET平台的解决方案。这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。C#使C/C++程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。3桥梁养护系统简介3.1用户需求简介建立桥梁养护管理系统(桥梁养护管理系统),满足管理者需要有效的桥梁。 经理最希望的桥梁桥梁养护管理系统,以帮助他们管理桥梁维修的数据,来评估桥梁的状态,使维护决策,管理和共享信息的桥梁。 随着全球网络,传统的桥梁养护管理系统,基于C/S(客户机/服务器)基地的普及和快速发展结构不能满足现代桥梁养护管理的发展。 和桥梁养护管理的基于B/S(浏览器/服务器)模式,主要是为了研究发展direction.In的桥梁养护管理和利用,能够满足需要的桥梁管理,首先本文介绍的概念,主要功能和发展态势基地对桥梁养护管理系统等,然后本论文主要研究Web的地理信息系统及桥梁evaluation.ForWeb的地理信息系统研究,本文分析了Web的地理信息系统的概念,特征,构成,其特殊的桥梁和信息查询制图中的应用BMMS.For桥评价研究,通过分析现状和桥梁评估趋势,本论文详细研究了桥梁状态评估,桥梁承载能力评价,能力退化评估桥梁及桥梁维修费用预算。  这座桥状况评估的基础上,桥梁状态指数模型,经过详细分析了模型和桥梁的检查,本文在模型中修改组件的事实,并提出了综合检查和评价标准,这些组件,以满足桥梁状态评估的需要。 在分析了桥梁承载能力评估方法,本论文提出了桥梁模型进行着模糊理论基础能力的评估。3.1.1功能需求 该模型研究了最大裂缝宽度,钢筋锈蚀程度和承载压力等级的桥梁承载能力评价,并在所有的因素权重隶属度。 因此,以运载能力计算能力退化evaluation.The桥梁等级评价是基于马尔可夫链model.By的转换概率和事实的桥梁数据矩阵的研究检查,本文计算的参数值在转换矩阵probability.And提出了桥梁功能退化evaluation.After参考模型中的“的原则,公路养护工程预算”的维修费用和维修费用budget.this桥梁论文提出的事实弥补桥梁维修费用,其方法calculate.Finally,在方法和系统的开发流程和Web-GIS和桥梁评价的研究,设计了网络和配置模块本论文的结果的基础。 桥梁养护管理和发展能够满足桥梁维护管理工作的需要,哪些是可行的。3.1.2性能需求桥梁检验是对桥梁结构物进行包括桥梁检查和必要的理论验算以及结构试验等内容的一系列工作,并据此对桥梁结构物进行综合分析,做出符合实际的技术结论[5]。桥梁结构检测试验是桥梁结构专业的一门基础技术科学,它是对桥梁的结构物进行直接测试的一项科学试验工作。其主要任务是通过有计划的对结构物加载后的性能进行观测和对测量参数(如位移、应力、振幅、频率……等)进行分析,以便了解桥梁实际工作状态,对结构物的工作性能作出评价以及对桥梁结构的承载能力和使用条件作出正确估计,并为发展桥梁结构的计算、评定理论提供可靠依据[2]。 进行结构试验,必须首先掌握结构组成材料的力学性能,只有这样才能正确评估和判断试验结构的实际工作状况和承载能力。测定材性的方法有直接法和间接法两种。直接测定法是结构试验中最常用的方法,它把材料按有关规定做成标准试件,然后在试验机上用标准试验方法进行测定,这就是所谓的“试件试验”。间接测定法分为破损试验和半破损试验法以及两者综合使用。间接测定法是利用有关仪器测定与材料力学有关的参数,如硬度、密度等,间接判断材料的力学性能。钢筋力学性能测定的项目有屈服强度(包括η0.2)、抗拉极限强度、伸长率和弹性模量等。混凝土力学性能测定的项目有轴心抗压强度、静力受压弹性模量、静力受压泊松比和辟裂抗拉强度等[6]。桥梁结构检测方法总体上可以分为两类,即静态检测方法和动态检测方法。3.2工作过程动态检测方法的基本思想在机械工程中早有应用。例如:振动测试和故障诊断就是机械工程中比较成熟的技术,应用改技术可测试机器的动力参数,并依据机器振动的特征和变异,推断机器故障的部位[9]。然而,桥梁结构动态检测与机器动力故障诊断两类问题并不完全一致,归纳起来主要有三个方面的差别:①激振源不一样。桥梁结构一般体量较大,难以像机械结构那样在预想的位置有效施加人为的激振,以获取最能反映结构性态的动力响应;②响应信息不一样。由于激振源的原因,桥梁结构动态检测所利用的动力响应的信噪比一般较机械动力小;③识别的问题不一样。机械故障诊断主要识别故障位置,而桥梁结构损伤识别除需识别结构损伤的位置外,更重要的是还需识别损伤的程度。此外,桥梁结构动态检测时经常只能测得结构的部分动力信息,因此如何利用结构的部分信息来识别整体结构的性态,也是目前结构动态检测需解决的问题[1]。结构损伤实际上是结构性态的改变,因此结构损伤检测实质上是结构物理参数变化的检测,在检测方法上,结构损伤检测与结构性态检测并无差别,但后者求解的目标是结构当前的性态,而前者求解的目标是结构当前的性态与某一已知参考性态间的变化。结构损伤检测的基本问题有三个:①判别结构是否有损伤;②判别结构的损伤位置;③判别结构的损伤程度。其中问题①最简单,而问题③最困难。如果同时求解上述三个问题,难度还有加大。在工程实用中,如果能将上述三个问题分解,则可降低问题的求解难度。尽管动态检测方法的应用条件限制少,效率高,但由于受到结构动力量测信号质量和数量的限制,结构动力检测结果的可靠性有时无法保障。因此,综合利用静态检测和动力检测的优点,构建结构综合检测技术,可望是能够提高桥梁结构检测的有效性与可靠性的最终途径。3.3系统特点 可以根据C#的类库,对程序进行很好的诠释,程序的特点主要是可以记录、修改、删除桥梁的一些参数,并且可以把这些桥梁的健康状况进行检测。并生成报告。4详细设计与实现4.1代码设计因为本系统的程序模块比较多,以下就不一一贴代码了,举几个比较象征性的代码如下:4.1.1主要算法usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingTester.Login;usingTester.CommonClass;usingTester.GradePaper;usingTester.OtherForm;usingSystem.IO;usingMicrosoft.Win32;namespaceTester{publicpartialclassfrmMain:Form{privateGradeWordhelpWord=newGradeWord();privateGradeWindowshelpWindows=newGradeWindows();privateGradePowerPointhelpPowerPoint=newGradePowerPoint();privateGradeExcelhelpExcel=newGradeExcel();privateboolIsFinished=false;privateCommonClass.Helphelp=null;privateinttime=0;privateintmin=0;privateintsec=0;privatestring[]ChiTypeContent; privatestring[]EngTypeContent;privateintcurChiRow=0;privateintcurEngRow=0;privateintselstart;privateinttotalword;privateinttotalshow=1;//显示的字符数privateinttotalshow2=1;//显示的字符数privateint[]curpos=newint[2000];//当前输入位置privatestring[]strinput=newstring[2000];//用户所输入的字符privateint[]curlong=newint[2000];//当前行的当前长度privateintdelcount;//前后两次输入相差的字符数privateintchiTime=300;privateintchiUsedTime=0;privateintchiMin=0;privateintchiSec=0;privatefloatchiRate;privatefloatchiSpeed;privateinti=0;privateintj=0;privateintk=0;privateintengTime=300;privateintengUsedTime=0;privateintengMin=0;privateintengSec=0;privatefloatengRate=0;privatefloatengSpeed=0;privatestaticintCurChooseRow=0;privatestaticintCurJudgementRow=0;privateintMaxAmountJudgement=0;privateintMaxAmountChoose=0;publicfrmMain(){InitializeComponent();}privatevoidInit() {stringtipstr="";tipstr="注意:本次考试时长为"+CommonClass.Tester.TestTime.ToString()+"分钟。n";tipstr+="(1)选择题共"+CommonClass.Tester.SelectAmount.ToString()+"题,"+"每题"+CommonClass.Tester.SelectValue.ToString()+"分;n";tipstr+="(2)判断题共"+CommonClass.Tester.JudgementAmount.ToString()+"题,"+"每题"+CommonClass.Tester.JudgementValue.ToString()+"分;n";//tipstr+="(3)英文打字题共题,每题"+CommonClass.Tester.EngTypeValue.ToString()+"分;n";//tipstr+="(4)中文打字题共题,每题"+CommonClass.Tester.ChiTypeValue.ToString()+"分;n";//tipstr+="(5)Word试题共题,每题"+CommonClass.Tester.WordValue.ToString()+"分;n";//tipstr+="(6)Excel试题共题,每题"+CommonClass.Tester.ExcelValue.ToString()+"分;n";//tipstr+="(7)PowerPoint试题共题,每题"+CommonClass.Tester.PowerPointValue.ToString()+"分;n";//加分程序tipstr+="(8)编程共题,每题"+CommonClass.Tester.WindowsValue.ToString()+"分。";tbSno.Text=CommonClass.Tester.Sno.ToString();tbName.Text=CommonClass.Tester.Name.ToString();tbClass.Text=CommonClass.Tester.Class.ToString();lTip.Text=tipstr;time=Int32.Parse(CommonClass.Tester.TestTime)*60;//Form1aaaaaa=newWindowsApplication1.Form1();}publicvoidShowChoose(inti){tbChooseContent.Text=help.Choose_Content[i].ToString();rbKeyA.Text=help.Choose_KeyA[i].ToString();rbKeyB.Text=help.Choose_KeyB[i].ToString();rbKeyC.Text=help.Choose_KeyC[i].ToString();rbKeyD.Text=help.Choose_KeyD[i].ToString();}privatevoidShowJudgement(inti){tbJudgementContent.Text=help.Judgement_Content[i];}privatevoidShowWord(){StringBuilderContent=newStringBuilder();Content.AppendLine(help.Word_Content);Content.AppendLine();Content.AppendLine(help.Word_Request1);Content.AppendLine(); Content.AppendLine(help.Word_Request2);Content.AppendLine();Content.AppendLine(help.Word_Request3);Content.AppendLine();Content.AppendLine(help.Word_Request4);//tbWord.Text=Content.ToString();}privatevoidShowExcel(){StringBuilderContent=newStringBuilder();Content.AppendLine(help.Excel_Request1);Content.AppendLine();Content.AppendLine(help.Excel_Request2);Content.AppendLine();Content.AppendLine(help.Excel_Request3);Content.AppendLine();Content.AppendLine(help.Excel_Request4);//tbExcel.Text=Content.ToString();}privatevoidShowPowerPoint(){StringBuilderContent=newStringBuilder();Content.AppendLine(help.PowerPoint_Request1);Content.AppendLine();Content.AppendLine(help.PowerPoint_Request2);Content.AppendLine();Content.AppendLine(help.PowerPoint_Request3);Content.AppendLine();Content.AppendLine(help.PowerPoint_Request4);//tbPowerPoint.Text=Content.ToString();}privatevoidShowWindows(){StringBuilderContent=newStringBuilder();Content.AppendLine(help.Windows_Request1);Content.AppendLine();Content.AppendLine(help.Windows_Request2);Content.AppendLine();Content.AppendLine(help.Windows_Request3);Content.AppendLine();Content.AppendLine(help.Windows_Request4); tbWindows.Text=Content.ToString();}privatevoidfrmMain_Load(objectsender,EventArgse){help=newTester.CommonClass.Help();frmLoginfrm=newfrmLogin();frm.ShowDialog();help.Query();this.Init();}privatevoidShowNo(LabellNo,intno){no+=1;lNo.Text=no.ToString();}privatevoidbChooseFir_Click(objectsender,EventArgse){this.ShowChoose(0);this.ShowNo(lChooseNo,0);}privatevoidlvAnswers(intMaxAmount,ListViewlv){inti=0;ListViewItem[]lvi=newListViewItem[MaxAmount];while(i=0){min=time/60;sec=time%60;lTime.Text=min.ToString()+":"+sec.ToString(); }else{tTime.Enabled=false;IsFinished=true;if(IsFinished){MessageBox.Show("考试结束了,下面是你的成绩!");this.ShowScore();Application.Exit();}//this.bSubmit_Click(sender,e);}}privatevoidbStartChoose_Click(objectsender,EventArgse){if(help.Choose()){CurChooseRow=0;MaxAmountChoose=Int32.Parse(CommonClass.Tester.SelectAmount);this.ShowChoose(CurChooseRow);this.ShowNo(lChooseNo,CurChooseRow);this.lvAnswers(MaxAmountChoose,lvChoose);bSaveChoose.Enabled=true;tlpChoose.Enabled=true;tlpChooseKeys.Enabled=true;}bStartChoose.Enabled=false;}privatevoidbChoosePre_Click(objectsender,EventArgse){CurChooseRow--;if(CurChooseRow<0){CurChooseRow=0;}ShowChoose(CurChooseRow);this.ShowNo(lChooseNo,CurChooseRow);}privatevoidbChooseNext_Click(objectsender,EventArgse){ CurChooseRow++;if(CurChooseRow>=MaxAmountChoose){CurChooseRow=MaxAmountChoose-1;}ShowChoose(CurChooseRow);this.ShowNo(lChooseNo,CurChooseRow);}privatevoidbChooseLast_Click(objectsender,EventArgse){CurChooseRow=MaxAmountChoose-1;ShowChoose(CurChooseRow);this.ShowNo(lChooseNo,CurChooseRow);}privatevoidbStartTest_Click(objectsender,EventArgse){help.ShowMessage("考试已进入倒计时,请抓紧时间答题!",2);help.CreateExamScore();bStartTest.Enabled=false;this.tcSubjects.Enabled=true;tTime.Enabled=true;bSubmit.Enabled=true;}privatevoidrbKeyA_Click(objectsender,EventArgse){if(rbKeyA.Checked){help.Choose_StuKey[CurChooseRow]="A";lvChoose.Items[CurChooseRow].Text=(CurChooseRow+1).ToString()+":A";lvChoose.Items[CurChooseRow].ForeColor=Color.Red;}}privatevoidrbKeyB_Click(objectsender,EventArgse){if(rbKeyB.Checked){help.Choose_StuKey[CurChooseRow]="B";lvChoose.Items[CurChooseRow].Text=(CurChooseRow+1).ToString()+":B";lvChoose.Items[CurChooseRow].ForeColor=Color.Red;} }privatevoidrbKeyC_Click(objectsender,EventArgse){if(rbKeyC.Checked){help.Choose_StuKey[CurChooseRow]="C";lvChoose.Items[CurChooseRow].Text=(CurChooseRow+1).ToString()+":C";lvChoose.Items[CurChooseRow].ForeColor=Color.Red;}}privatevoidrbKeyD_Click(objectsender,EventArgse){if(rbKeyD.Checked){help.Choose_StuKey[CurChooseRow]="D";lvChoose.Items[CurChooseRow].Text=(CurChooseRow+1).ToString()+":D";lvChoose.Items[CurChooseRow].ForeColor=Color.Red;}}privatevoidbStartJudgement_Click(objectsender,EventArgse){if(help.Judgement()){MaxAmountJudgement=Int32.Parse(CommonClass.Tester.JudgementAmount);tlpJudgement.Enabled=true;this.lvAnswers(MaxAmountJudgement,lvJudegment);CurJudgementRow=0;this.ShowJudgement(CurJudgementRow);this.ShowNo(lJudgementNo,CurJudgementRow);bSaveJudgement.Enabled=true;tlpJudgementAnswer.Enabled=true;}bStartJudgement.Enabled=false;}privatevoidrbTrue_Click(objectsender,EventArgse){if(rbTrue.Checked){lvJudegment.Items[CurJudgementRow].Text=(CurJudgementRow+1).ToString()+":对";lvJudegment.Items[CurJudgementRow].ForeColor=Color.Red; help.Judgement_StuKey[CurJudgementRow]="对";}}privatevoidrbFalse_Click(objectsender,EventArgse){if(rbFalse.Checked){lvJudegment.Items[CurJudgementRow].Text=(CurJudgementRow+1).ToString()+":错";lvJudegment.Items[CurJudgementRow].ForeColor=Color.Red;help.Judgement_StuKey[CurJudgementRow]="错";}}privatevoidbSaveChoose_Click(objectsender,EventArgse){try{help.SavePaperChoose();help.ShowMessage("选择题试卷保存成功!",2);}catch{help.ShowMessage("选择题试卷保存失败!",1);}}privatevoidbSaveJudgement_Click(objectsender,EventArgse){try{help.SavePaperJudgement();help.ShowMessage("判断题试卷保存成功!",2);}catch{help.ShowMessage("判断题试卷保存失败!",1);}}privatevoidbJudgementFir_Click(objectsender,EventArgse){CurJudgementRow=0;this.ShowJudgement(CurJudgementRow); this.ShowNo(lJudgementNo,CurJudgementRow);}privatevoidbJudgementLast_Click(objectsender,EventArgse){CurJudgementRow=Int32.Parse(CommonClass.Tester.JudgementAmount)-1;this.ShowJudgement(CurJudgementRow);this.ShowNo(lJudgementNo,CurJudgementRow);}privatevoidbJudgementPre_Click(objectsender,EventArgse){CurJudgementRow--;if(CurJudgementRow<0){CurJudgementRow=0;}this.ShowJudgement(CurJudgementRow);this.ShowNo(lJudgementNo,CurJudgementRow);}privatevoidbJudgementNext_Click(objectsender,EventArgse){CurJudgementRow++;if(CurJudgementRow>=MaxAmountJudgement){CurJudgementRow=MaxAmountJudgement-1;}this.ShowJudgement(CurJudgementRow);this.ShowNo(lJudgementNo,CurJudgementRow);}privatevoidbStartWord_Click(objectsender,EventArgse){if(help.Word()){this.ShowWord();}}privatevoidbStartWindows_Click(objectsender,EventArgse){ System.Diagnostics.Process.Start("编程环境.vbp");}//////关联文件//////应用程序路径///文件类型publicstaticvoidSaveReg(string_FilePathString,stringp_FileTypeName){RegistryKey_RegKey=Registry.ClassesRoot.OpenSubKey("",true);//打开注册表RegistryKey_VRPkey=_RegKey.OpenSubKey(p_FileTypeName,true);if(_VRPkey!=null){_RegKey.DeleteSubKey(p_FileTypeName,true);}_RegKey.CreateSubKey(p_FileTypeName);_VRPkey=_RegKey.OpenSubKey(p_FileTypeName,true);_VRPkey.SetValue("","Exec");_VRPkey=_RegKey.OpenSubKey("Exec",true);if(_VRPkey!=null)_RegKey.DeleteSubKeyTree("Exec");//如果等于空就删除注册表DSKJIVR_RegKey.CreateSubKey("Exec");_VRPkey=_RegKey.OpenSubKey("Exec",true);_VRPkey.CreateSubKey("shell");_VRPkey=_VRPkey.OpenSubKey("shell",true);//写入必须路径_VRPkey.CreateSubKey("open");_VRPkey=_VRPkey.OpenSubKey("open",true);_VRPkey.CreateSubKey("command");_VRPkey=_VRPkey.OpenSubKey("command",true);string_PathString="""+_FilePathString+"""%1"";_VRPkey.SetValue("",_PathString);//写入数据}//////取消文件关联//////文件类型publicstaticvoidDelReg(stringp_FileTypeName){ RegistryKey_Regkey=Registry.ClassesRoot.OpenSubKey("",true);RegistryKey_VRPkey=_Regkey.OpenSubKey(p_FileTypeName);if(_VRPkey!=null){_Regkey.DeleteSubKey(p_FileTypeName,true);}if(_VRPkey!=null){_Regkey.DeleteSubKeyTree("Exec");}}privatevoidbStartPowerPoint_Click(objectsender,EventArgse){//bStartPowerPoint.Enabled=false;if(help.PowerPoint()){//bCreatePowerPointPaper.Enabled=true;this.ShowPowerPoint();}}privatevoidbStartExcel_Click(objectsender,EventArgse){//bStartExcel.Enabled=false;if(help.Excel()){//bCreateExcelPaper.Enabled=true;this.ShowExcel();}}privatevoidbCreatWordPaper_Click(objectsender,EventArgse){try{stringpath=Application.StartupPath+"\"+CommonClass.Tester.Sno;stringfn=path+"\WordPaper.doc";Directory.CreateDirectory(path);helpWord.FileName=fn;}catch(Exceptionex) {help.ShowMessage("生成试卷时出错!原因是:"+ex.Message,1);}}privatevoidbWordScore_Click(objectsender,EventArgse){stringCno=help.Word_Cno;try{helpWord.GetMark(Cno);help.ShowMessage("评分成功!",2);}catch{help.ShowMessage("评分失败!",1);}}privatevoidbWindowsScore_Click(objectsender,EventArgse){if(File.Exists(@"C:ProgramFilesVB精简版Vb6.exe")){SaveReg(@"C:ProgramFilesVB精简版Vb6.exe",".vbp");}else{System.Diagnostics.Process.Start("vb6.exe");SaveReg(@"C:ProgramFilesVB精简版Vb6.exe",".vbp");}}privatevoidbCreatePowerPointPaper_Click(objectsender,EventArgse){try{stringpath=Application.StartupPath+"\"+CommonClass.Tester.Sno;stringfn=path+"\PowerPointPaper.ppt";Directory.CreateDirectory(path); helpPowerPoint.FileName=fn;helpPowerPoint.CreatePaper();}catch(Exceptionex){help.ShowMessage("生成试卷时出错!原因是:"+ex.Message,1);}}privatevoidbPowerPointScore_Click(objectsender,EventArgse){stringCno=help.PowerPoint_Cno;try{helpPowerPoint.GetMart(Cno);/help.ShowMessage("评分成功!",2);}catch{help.ShowMessage("评分失败!",1);}}privatevoidbExcelScore_Click(objectsender,EventArgse){stringCno=help.Excel_Cno;try{helpExcel.GetMark(Cno);help.ShowMessage("评分成功!",2);}catch{help.ShowMessage("评分失败!",1);}}privatevoidbCreateExcelPaper_Click(objectsender,EventArgse){try{ stringpath=Application.StartupPath+"\"+CommonClass.Tester.Sno;stringfn=path+"\ExcelPaper.xls";Directory.CreateDirectory(path);helpExcel.FileName=fn;helpExcel.CreatePaper();}catch(Exceptionex){help.ShowMessage("生成试卷时出错!原因是:"+ex.Message,1);}}privatevoidLoadChiTypeRows(){this.curChiRow+=5;}privatevoidLoadEngTypeRows(){this.curEngRow+=5;}privatevoidbCreateChiTypePaper_Click(objectsender,EventArgse){if(help.ChiType()){i=0;j=0;k=0;intmax=Int32.Parse(CommonClass.Tester.MaxChiTypeWords)*5;introws=(help.ChiType_Content.Length/35)-1;ChiTypeContent=newstring[rows];for(intn=0;n1){rtb1.SelectionStart=selstart-1;rtb1.SelectionLength=1;rtb2.SelectionStart=selstart-1;rtb2.SelectionLength=1;}else{rtb1.SelectionStart=0;rtb1.SelectionLength=1;rtb2.SelectionStart=0; rtb2.SelectionLength=1;}if(rtb2.SelectedText==""){totalword--;}elseif(rtb2.SelectedText!=rtb1.SelectedText){rtb2.SelectionColor=Color.Red;totalword--;}rtb2.SelectionStart=selstart;rtb2.SelectionColor=Color.Blue;rtb2.SelectionLength=0;}privatevoidCheckBackError(RichTextBoxrtb1,RichTextBoxrtb2,intm){selstart=rtb2.Text.Length;for(intp=1;p<=m+1;p++){if(selstart-p>0){rtb1.SelectionStart=selstart-p;rtb1.SelectionLength=1;rtb2.SelectionStart=selstart-p;rtb2.SelectionLength=1;}if(rtb2.SelectedText!=""&&rtb2.SelectedText!=rtb1.SelectedText){rtb2.SelectionColor=Color.Red;totalword--;}elseif(rtb2.SelectedText==rtb1.SelectedText&rtb2.SelectedText!=""){rtb2.SelectionColor=Color.Blue;totalword++;}rtb2.SelectionStart=selstart;rtb2.SelectionColor=Color.Blue;rtb2.SelectionLength=0;}rtb2.SelectionStart=selstart;}privatevoidCheckDelError(RichTextBoxrtb1,RichTextBoxrtb2,intm) {selstart=rtb2.Text.Length;for(intp=1;p<=m+1;p++){if(selstart-p>0){rtb1.SelectionStart=selstart-p;rtb1.SelectionLength=1;rtb2.SelectionStart=selstart-p;rtb2.SelectionLength=1;}if(rtb2.SelectedText!=""&&rtb2.SelectedText!=rtb1.SelectedText){rtb2.SelectionColor=Color.Red;}elseif(rtb2.SelectedText==rtb1.SelectedText&rtb2.SelectedText!=""){rtb2.SelectionColor=Color.Blue;}rtb2.SelectionStart=selstart;rtb2.SelectionColor=Color.Blue;rtb2.SelectionLength=0;}rtb2.SelectionStart=selstart;}privatevoidBack(RichTextBoxrtb1,RichTextBoxrtb2){curpos[i++]=rtb2.SelectionStart;curlong[k++]=rtb2.Text.Length;strinput[j++]=rtb2.Text;if(i>1){if(curpos[i-1]>curpos[i-2]){totalword++;if(rtb1.Text.Substring(curpos[i-2],1)!=""){if(totalshow==totalshow2){totalshow++;totalshow2++;}elseif(totalshow>totalshow2){ totalshow=totalshow2;totalshow++;totalshow2++;}}CheckError(rtb1,rtb2);}elseif(curpos[i-1]1){if(strinput[i-2].Substring(curpos[i-1],1)==rtb1.Text.Substring(curpos[i-1],1)&&strinput[i-2].Substring(curpos[i-1],1)!=""){totalword--;}if(rtb1.Text.Substring(curpos[i-1],1)!=""){totalshow2--;}intscount=curlong[i-1]-curpos[i-1];CheckBackError(rtb1,rtb2,scount);}elseif(delcount==1){if(strinput[i-2].Substring(curpos[i-1],1)==rtb1.Text.Substring(curpos[i-1],1)&&strinput[i-2].Substring(curpos[i-1],1)!=""){totalword--;}if(rtb1.Text.Substring(curpos[i-1],1)!=""){totalshow2--;}intscount=curlong[i-1]-curpos[i-1];CheckDelError(rtb1,rtb2,scount);}}elseif(curpos[i-1]strinput[i-2].Length){totalshow++; totalshow2++;intbcount=curlong[i-1]-curpos[i-1];CheckBackError(rtb1,rtb2,bcount);}elseif(i<=1){totalword++;totalshow++;totalshow2++;CheckError(rtb1,rtb2);}}}privatevoidChangRow(RichTextBoxrtb1,RichTextBoxrtb2,RichTextBoxrtbNext){if(rtb2.Text.Length=0){chiSpeed=totalword*60/chiUsedTime;chiRate=totalword*100/totalshow;if(chiRate>100){ chiRate=100;}if(chiSpeed>float.Parse(CommonClass.Tester.MaxChiTypeWords)){chiSpeed=float.Parse(CommonClass.Tester.MaxChiTypeWords);if(chiSpeed<0)chiSpeed=0;}floatscore=float.Parse(CommonClass.Tester.ChiTypeValue)*(chiSpeed/Int32.Parse(CommonClass.Tester.MaxChiTypeWords))*chiRate/100;CommonClass.Tester.ChiTypeScore=float.Parse(Math.Round(score,1).ToString());}else{help.ShowMessage("时间已到,你的成绩已保存!",2);tChiType.Enabled=false;HelpGradeChiType=newHelpGrade();ChiType.SaveTypeScore("update_ExamScore_ChiType",CommonClass.Tester.Sno,"@ChiTypeScore",CommonClass.Tester.ChiTypeScore,chiSpeed,"@ChiTypeSpeed");}}privatevoidtEngType_Tick(objectsender,EventArgse){engTime--;engUsedTime++;engMin=engTime/60;engSec=engTime%60;if(engTime>=0){engSpeed=totalword*60/engUsedTime;engRate=totalword*100/totalshow;if(engRate>100){engRate=100;}if(engSpeed>float.Parse(CommonClass.Tester.MaxEngTypeWords)){engSpeed=float.Parse(CommonClass.Tester.MaxEngTypeWords);if(engSpeed<0)engSpeed=0;} floatscore=float.Parse(CommonClass.Tester.EngTypeValue)*(engSpeed/Int32.Parse(CommonClass.Tester.MaxEngTypeWords))*engRate/100;CommonClass.Tester.EngTypeScore=float.Parse(Math.Round(score,1).ToString());}else{help.ShowMessage("时间已到,你的成绩已保存!",2);tEngType.Enabled=false;HelpGradeEngType=newHelpGrade();EngType.SaveTypeScore("update_ExamScore_EngType",CommonClass.Tester.Sno,"@EngTypeScore",CommonClass.Tester.EngTypeScore,engSpeed,"@EngTypeSpeed");}}privatevoidbStartEngType_Click(objectsender,EventArgse){tEngType.Enabled=true;}privatevoidrtbEng3_Enter(objectsender,EventArgse){}privatevoidrtbEng1_Enter(objectsender,EventArgse){privatevoidrtbEng5_Enter(objectsender,EventArgse){}privatevoidrtbEng7_Enter(objectsender,EventArgse){}privatevoidrtbEng9_Enter(objectsender,EventArgse){ }privatevoidrtbEng2_TextChanged(objectsender,EventArgse){}privatevoidrtbEng4_TextChanged(objectsender,EventArgse){}privatevoidrtbEng6_TextChanged(objectsender,EventArgse){}privatevoidrtbEng8_TextChanged(objectsender,EventArgse){}privatevoidrtbEng10_TextChanged(objectsender,EventArgse){}privatevoidShowScore(){floatscore=CommonClass.Tester.ChiTypeScore+CommonClass.Tester.EngTypeScore+CommonClass.Tester.ChooseScore;score+=CommonClass.Tester.JudgementScore+CommonClass.Tester.WordScore+CommonClass.Tester.ExcelScore;score+=CommonClass.Tester.PowerPointScore+CommonClass.Tester.WindowsScore;stringmsg="本次考试已结束,你的考试成绩如下:n";msg+="总成绩:"+score.ToString()+"分n";msg+="选择题成绩:"+CommonClass.Tester.ChooseScore.ToString()+"分n";msg+="判断题成绩:"+CommonClass.Tester.JudgementScore.ToString()+"分n";msg+="编程题:"+fen().ToString()+"分n";msg+=i;help.ShowMessage(msg,2);} TXTClass.txtclassTXT=newTXTClass.txtclass();publicintfen(){stringfiles=Application.StartupPath+"\编程环境.frm";stringvb=TXT.txtRead(files);stringtxt=vb.Replace("n",":");stringtxter=txt.Replace("",":");stringtxtsan=txter.Replace("E",":");stringtxtshi=txtsan.Replace(")",":");stringtxtwu=txtshi.Replace(".",":");string[]str=txtwu.Split(":");inta=0;intfen=0;stringwidths="";stringheights="";for(inti=0;i