公交车乘车指南系统的设计与实现_第1页
公交车乘车指南系统的设计与实现_第2页
公交车乘车指南系统的设计与实现_第3页
公交车乘车指南系统的设计与实现_第4页
公交车乘车指南系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NORTHEASTERN UNIVERSITY辽宁省高等教育自学考试 计算机软件 专业(本科段)毕业设计(论文)GRADUATE DESIGN (THESIS)设计(论文)题目 公交车乘车指南系统的设计与实现学 生 王欣华指导教师 田佰杰准考证号 22011 年3 月 20 日摘要 本文主要是研究城市公交的线路选择问题。针对此问题,我们根据查询者的不同需求,建立了公交线路优化选择模型。随着公交网络的复杂化,为了帮助广大乘客解决公交线路优化选择问题,我考虑了乘客选择公交线路决策的因素,建立了基于时间价值和费用价值的合理公交线路选择模型。该模型采用B/S结构,使用轻量级的ASP+XML语言设计出这

2、个公交车乘车指南系统,使大家深入了解城市的公交线路,减少不必要的损失。第一章讨论了本课题的设计背景,并对所开发的软件要实现的功能特点进行了介绍。第二章通过对公交系统的需求分析,全面验证了系统开发的可行性,为下一步设计工作打下坚实基础。第三章进行了具体的系统设计,其中包括应用系统设计、模块设计及数据设计。本章还通过数据流图和模型,完善了系统框架的建造。第四章进行了具体的详细设计,图文结合,对系统的各个子模块设计进行了详尽的分析设计。第五章描述了关于本系统系统测试目的,测试环境,以及具体的测试方法和内容。通过严谨、细致的测试为系统平稳可靠的运行和实现,提供了全面的保障。关键字:公交网络,B/S,A

3、SP,XMLAbstractWith the complication of transportation network,for helping vasty passengers to resolve the problem of the transportation line optimized selected,I considered the factor that passengers select transportation line decision-making,found based of time value and charge value reasonable tra

4、nsportation line choice model,design so this transportation ride manual system,that embedded realize the transportation line of citys,reduce the unnecessary loss.Here is a brief description of the chapters contained in the article:Chapter 1: This chapter discuss the design background of the problem,

5、and introduce that the empoldered software implement function trait.Chapter 2: Through requirement analysis of traffic system, general validate the feasibility of the system exploitation which builds the stability basement of the next step design work.Chapter 3: This chapter make material system des

6、ign, including application system design, data design and system module design.Also through data flow chart and module perfect that system frame builded . Chapter 4: This chapter introduces the very important part-detailed system design specification,combine picture and character, put up exhaustive

7、analyse design. Chapter 5: This chapter describes the following about the system test: Test goal, test environments, as well as material test ways and test content. Through precise meticulous test provide general ensure for system reposeful dependable running and actualizing.Keywords:bus network,B/S

8、,ASP,XML目录摘要IAbstractII第1章 序言11.1 1.1前言11.2 1.2国内现状11.3 1.3设计背景21.4 1.4可行性分析21.5 1.5公交查询系统的特点3第2章 系统需求42.1 2.1系统现状分析42.2 2.2用户需求4第3章 概要设计53.1 3.1整体结构53.2 3.2数据格式63.3 3.3 E-R图83.4 3.4路线查询方法分析83.5 3.5开发平台、技术和工具的选择93.5.1 3.5.1 B/S结构93.5.2 3.5.2开发环境及工具介绍103.5.3 3.5.3选用的开发语言简介10第4章 系统实现124.1 4.1管理模块124.1

9、.1 4.1.1数据修改模块124.1.2 4.1.2数据显示模块174.1.3 4.1.3数据缓存模块194.2 4.2查询模块194.2.1 4.2.1车次查询194.2.2 4.2.2站点查询204.2.3 4.2.3站站查询(乘车方案查询)21第5章 系统测试245.1 5.1测试目的245.2 5.2测试环境245.3 5.3测试用例245.3.1 5.3.1 用例文档1255.3.2 5.3.2 用例文档2265.3.3 5.3.3 用例文档326参考文献28致谢29第1章 序言1.1 1.1前言在互联网普及,电子计算机技术发展日新月异的今天,计算机软件的应用早已深入到了各行各业,

10、并发挥着它们巨大的潜力。随着社会建设的发展,公交网络也日趋完善并且复杂化;交通信息服务的电子化是必然趋势。为了使大家出门方便,为了能够为市民,特别是为外来旅游、出差、就医、求职等急需了解本地的公交路线的人提供高效、方便、快捷的公交信息查询,让他们得到自己所需要的各种相关信息,以便减少各种可能产生不必要的交通流量,提高公交车的有效使用率,公交查询系统起着举足轻重的作用。1.2 1.2国内现状随着城市人口的迅猛增加和面积的不断扩大,城市建设步伐也逐步加快,城市公共交通也得到了迅速发展。公交线路越来越多,公交车的数量在不断增加;交通工具的革新,距离不再是人们足迹的羁绊,庞大复杂的交通网几乎覆盖了世界

11、的每一个角落,使人们可以到达任何一个想去的地方。公交线路日益增多,给人们的交通带来了很大的方便,使广大市民和外地游客的出行更为方便快捷。但是由于我国城市公交乘客信息系统的发展处于一个落后的水平, 在公交系统的管理上,与之相关的管理设备和手段大都处于落后的手工操作上,与其快速发展步伐不相适应。广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。我国公交乘客信息系统的现状特点如下: 1.乘客可以获得的公交信息很少,而且方式主要是常规手段。我国乘客一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式。乘客可以获得的公交信息很少,除去

12、线路,站点等基本信息以外,有关班次,车辆到离站时间的信息基本上没有。 2.乘客出行中获得信息困难,基本上没有实时信息。 除去在北京,上海等少数几个城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。在我国一些城市中,有不少装饰华美的公交站台,但在这些站台上却找不到实用的城市交通图。总而言之,我国乘客在出行中无论是“静态线路信息”还是“动态实时信息”都很难获得。 3.缺乏专门的交通信息发布管理机构,乘客获得的信息准确性得不到保证。目前,我国大多数城市对于交通信息的发布没有专门的管理机构和规章制度。在城市交通信息服务需求小的情

13、况下尚可应付。但随着城市交通信息服务需求的增长,从事交通信息服务的人员和企业数量的增加,需要有专门的管理机构和制度。当前的城市交通信息服务存在着混乱和低效的问题,有些甚至是对乘客的误导。 4.我国公交乘客信息系统与网络的结合还是低层次的。 在我国一些城市出现了基于网络的公交信息服务系统(例如中国公交查询网,它可提供全国大约七十多个城市的公交系统信息查询),但总体上还是处于一个较低的层次。这些信息系统还处于一种静态的公交信息查询系统,还不能作到为乘客的出行自动的生成出行计划或方案。1.3 1.3设计背景目前,随着我国城市建设发展越来越快的速度,公交网络正在蓬勃发展,使广大人民群众的出行变得更为方

14、便快捷。然而,公交车车次多,线路复杂,广大乘客,尤其是外地乘客,面对如此复杂的交通网络,如果出行时仅仅通过看站牌或问人,往往会出现一些失误,比如坐了不合适的车,或者是换乘错误等等。轻则会损失大量的时间以及金钱,重则误事。为了帮助广大乘客解决上述这些问题,在指导老师的指导下,我设计出了这个公交车乘车指南系统,使大家在乘车时可以提前了解城市的公交线路,上车时做到心中有数,尽可能地避免了因乘坐公交车失误而出现的损失。在整个设计过程中,我首先对公交乘客出行心理特征进行了详尽的分析,并亲自模拟实验,多次进行选择,比较,考虑了乘客选择公交线路决策的各种因素,建立了基于时间价值和费用价值的公交线路选择合理的

15、模型。在此基础上,进行程序关键部分的框架设计,理清程序设计思路;之后是程序关键部分的具体实现,包括关键程序原代码。最后完成功能介绍和使用说明。针对大连市的公交线路设计, 并进行了模拟实验。本次设计的软件可预先建立缓存,使之查询速度非常快,公交数据可跨平台多软件共享,有较强的实际应用价值。1.4 1.4可行性分析为了找到实现本系统行之有效的解决方案,我对技术的可行性和实现条件的可行性这两方面进行了论证。首先是技术上的分析,公交车乘车指南系统提供给用户的核心功能共有三个。一是显示各个车次路经的站点,二是显示各个站点所经过的车次,三是查询两个站点之间最符合要求的路线并显示。这些功能的实现,只需简单划

16、分模块,组织好储存的数据,即可实现。其次我还从实现条件的可行性进行了分析,因为当今公交车网络蓬勃发展,拥有私家车的人毕竟是少数。多数人出行的首选还是公交车。在能否为用户提供服务角度来说,本系统有其很大的使用价值。在系统运行后就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的。程序使用数据缓冲,程序预先提取所有站名,用户不需要知道各个站名,只需简单的用鼠标点击界面上各个按钮并进行选择就能执行相应的功能。所以本系统对用户而言,是定位在界面友好、操作方便的原则上的。就开发者而言,关心的是如何改进算法,快速选择符合用户需求的路线,然后提供给用户什么样的方便

17、。而以上的这些功能,都能够用所选择的开发工具来实现。综上所述,本系统的开发是可行的。1.5 1.5公交查询系统的特点公交查询系统的特点:主要表现在以下几个方面。首先,是保证信息的实时性。由于采用B/S结构设计,只需简单维护后台,便可使数据时刻随公交公司的调整而更新。做到保证在线路调整后第一时间更新数据,使用户能查询到最新的公交信息。其次,乘车方案选择的多样性。系统在提供查询结果时,要充分考虑用户需求,提供基于时间考虑和基于价格考虑的多重选择,为不同需求的用户提供便利。第三,将复杂的公交网络简单化。面对庞大的公交网络,本系统应以将复杂的问题简单化为目的,将问题抽象化,并采用数据缓冲方式提取车次和

18、站点名,使最终用户无需记忆众多站名,只要点几下鼠标即可轻松查询到想要的信息。第2章 系统需求2.1 2.1系统现状分析随着城市交通网络日趋复杂化,如何提供给用户快捷准确丰富的公交车信息,已成为信息查询系统的最大考虑问题。2.2 2.2用户需求公交查询系统需要满足两个方面的需求。一是普通用户的需求,二是数据维护人员的需求。普通用户的需求是需要查询系统能提供用户指定的公交车信息,公交站点信息和准确的乘车方案。数据维护人员的需求是需要系统提供数据的常规维护功能,如添加,修改,删除等操作。根据以上用户提出的实际需求,结合整理的需求内容如下:1.信息流程:信息的流程是数据维护人员公交数据普通用户。如图2

19、.1所示。图2.1 信息流图(DFD)2.信息内容提供公交车的基本信息。包括公交车次,始发站,终点站,途经站点等。3.系统功能车次查询:提供每条公交线路的始末车时间,途经站点等信息。车站查询:提供各车站所经过的所有车次信息。站站查询:提供两站点之间的合理乘车方案。数据维护:可对车辆信息进行增添、修改、删除操作。数据缓存:对现有数据进行整理并形成缓存,提取各种信息供用户点选。第3章 概要设计3.1 3.1整体结构软件整体划分为两个大模块:管理模块和查询模块。管理模块提供数据的显示、增加、修改、删除和数据缓存的生成及更新。由数据维护人员使用。查询模块提供车辆信息、指定站点经过车辆和两站点之间的乘车

20、方案。由普通用户使用。结构如图3.1所示:图3.1 功能结构图管理模块分为三个子模块:数据显示、数据修改、数据缓存。数据修改模块提供了新车辆数据的添加,现有车辆数据的修改和删除车辆信息的功能。程序首先通过新数据添加,输入车次和站点列表,建立XML数据文件。之后可通过数据增加修改和删除来维护XML数据文件。为了减轻服务器负担并提高查询速度,本人借鉴了一些优秀的公交查询网站,并套用了其开发者免费提供的数据缓存模块。在更新XML数据文件之后,可通过此模块预先提取每个车次的信息,所有站点名称和每个站点所经过的车次,并生成单独的列表页面。在提供车辆信息,站点经过车次等固定反馈结果的信息时,可直接定向到预

21、先生成的静态页面,而无需占用更多服务器资源进行查询运算。由于使用定向数据缓存的方式,使车辆信息查询模块和站点经过车次查询模块的设计大大简化,用户输入数据只需和数据缓存索引进行对比,如发现相应数据则定向到对应的预先生成的静态页面,如未发现则表示没有此数据,返回没有查询结果即可。 两站点之间的查询结果数据量比较大,如使用数据缓存的话生成的页面过多,不利于小型网站的建设维护。因此,本查询模块直接对XML文件中数据进行运算,即时生成查询结果并显示。模块划分及关系图如图3.2:图3.2 模块划分及关系图3.2 3.2数据格式XML数据格式的设计数据结构设计的好坏对查询性能有很大影响,设计应保证数据的高聚

22、合,低冗余,结构易于查询。经过考虑我设计如下结构: 路数 站名1 站名N站名1站名2站名N通过每个bus字段可储存并统计出对应公交车运行的经过车站数,每站名称,并最终汇总生成每个车站经过的车次。3.3 3.3 E-R图图3.3 ER图3.4 3.4路线查询方法分析路线查询模块是本系统核心功能中最重要也是实现技术难度最高的模块,两站之间存在直达和转乘到达两种情况。由于公交乘客出行路径选择心理的复杂性,往往单一的乘车路径并不能满足所有乘客的需要。例如,一些乘客希望选择换乘次数最少的乘车路径,而另外一些乘客则倾向于选择出行距离更短的乘车路径。即使是被出行者选中的路径方案,在实际中也可能由于公交车辆满

23、载或道路交通拥挤而被放弃。因此,一个先进、有效的公交乘客信息系统不能只为用户提供单一的最优化路线方案,还应提供一定数量的合理备选路径供出行者根据实际情况进行选择。我经过考虑设计出了如下查询方法:假设查询 从甲地到乙地的乘车路线1查询经过甲地的所有公交车组成集合B1,经过乙地的所有公交车组成B22B1,B2取交集得到的公交车集合就是所有的直达车。若B1,B2交集为空(即没有直达),则:3取集合B1中所有车从甲地到终点站途径的所有站点集合P1,取车集合B2中所有车从始发站到乙地途径的所有站点得集合P2,取P1,P2的交集组成的车站集合P3就是转乘站点的集合。4假设P3集合中,有一个站点是青泥洼桥站

24、,取B1中在此停车的车组成集合B3,取B2中在此停车的车组成集合B4,那么B3中的任一辆车与B4中的任一辆车组合就是可以从甲地经青泥洼桥倒车到乙地的方案。5按4中方法罗列p3集合中每个站点的转乘方案。最后比较所有的转乘方案,选出最佳推荐方案和合理备选方案。3.5 3.5开发平台、技术和工具的选择我使用流行的操作系统Microsoft Windows Vista SP1+VisualStudio2008作为开发环境。流程图采用比较流行的思维管理软件MindManager开发语言选择了比较简易且跨平台的ASP,而公交数据的储存我选择了XML。相比于其他各种数据库来说,XML具有轻量级,查询快,树形

25、结构,易于跨平台支持等优点。为将来的多平台多软件数据共享奠定基础,如单机查询系统,触摸屏终端等。3.5.1 3.5.1 B/S结构B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过I

26、nternet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。3.5.2 3.5.2开发环境及工具介绍Microsoft Windows Vista: Vista是微软新一代操作系统,以前叫做Longhorn(微软当初内部的代号)。微软对外宣布正式名称是WindowsVista。作为微软的最新操作系统,WindowsVista第一次在操作系统中引入了“Life

27、Immersion”概念,即在系统中集成许多人性的因素,一切以人为本。使得操作系统尽最大可能贴近用户,了解用户的感受,从而方便用户。Visual Studio 2008:Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 A

28、SP Web 应用程序和 XML Web Services 开发的关键技术。MindManagerMindManager是一个创造、管理和交流思想的通用标准,其可视化的绘图软件有着直观、友好的用户界面和丰富的功能,这将帮助您有序地组织您的思维、资源和项目进程。 3.5.3 3.5.3选用的开发语言简介ASP:Active server pags (动态服务器主页,简称ASP),内含于Internet InformationServer(IIS)当中,提供一个服务器端(server-side)的scripting环境,让你产生和执行动态,交互式,高效率的站点服务器的应用程序。你不必担心浏览器是否

29、能执行你设计出来的Active Server Pages,你的站点服务器会自动将Active Server Pages 的程序码,解释为标准HTML格式的主页内容,在送到用户端的浏览器上显示出来。用户端只要使用常规可执行HTML码的浏览器,即可浏览Active Server Pages所设计的主页内容。XML:XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。与HTML相似,XML是一种显示数据的标记语言,它能使数据通过网络无障碍地进行传输,并显示在用户的浏览器上。XML是一套定义语义标记的规则,

30、这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。XML最大的优势在于对各种数据的管理。任何系统都可以通过XML的解析器来读取XML数据,因此它的数据可以通行各处,而不用担心系统不支持的问题。第4章 系统实现我首先将通用操作所需的各个函数提取出来,封装为单个处理过程文件funciton.asp,并在每个文件头进行引用。操作函数如下1. objXML 负责打开并读取XML数据文件2. getBusidList() 生成公交车名称列表3. getBusStateList() 生成公交车站点列表4. getIn

31、foByBusID(busID) 得到指定车次的详细信息5. getBusIDInfoByStation(Station) 得到经过指点站点的车次列表6. isPassTheStation(Station, BusID) 判断指定车次是否经过指定的站点7. addBus(arrBusInfo) 增加一趟车次信息8. delBus(busID) 删除指定车次9. getBusIndexByBusID(BusID) 由车次名称得到车次索引号4.1 4.1管理模块管理模块包括三大功能:数据显示,数据修改,生成数据缓存。4.1.1 4.1.1数据修改模块数据修改模块是程序数据来源的保证。模块功能包括数

32、据的添加、修改和删除。数据添加admin_add.asp图4.1 增加车次界面窗体中form内提供三个text输入框。Text1负责接收车次名,text2负责接收每个站点名称,text3为站点列表,并通过两个按钮函数addItem()和delItem()进行维护。关键代码如下:function addItem()var t2=document.form1.text2;var t3=document.form1.text3;var flag=false;if (t2.value != )for (i=0;it3.length;i+)if (t2.value=t3.optionsi.text)fl

33、ag=true;break; if (flag)alert(添加的站点名称已经存在);elset3t3.length+.text=t2.value;t2.value=;t2.focus();function doCheck()var f=document.form1;if (f.text1.value=)alert(请填写车次!);f.text1.focus();else if(f.text3.length 2)alert(至少要输入两个站点);f.text2.focus();elseselectAllItem();f.submit();如通过doCheck函数的检查,则将内容送入admin_

34、save.asp文件中继续处理。关键函数如下:modifyID=request(modifyID)if modifyID thenmodifyID=cstr(modifyID)returnResult=delBus(modifyID)response.Write(returnResult)response.Write(modifyID)end iftext1=trim(request(text1)text3=request(text3)eachState=split(text3,)i=ubound(eachState)+1redim arrBusInfo(i)arrBusInfo(0)=tex

35、t1for j=1 to istrTemp=trim(eachState(j-1)strTemp=replace(strTemp,;,)strTemp=replace(strTemp,|,)strTemp=replace(strTemp, ,)arrBusInfo(j)=strTempnextif addBus(arrBusInfo)=true thenresponse.Redirect(admin_listbus.asp)elseresponse.Write(添加失败,有同名车次!)end if数据修改admin_modify.asp图4.2 修改车次界面由busInfo=getInfoBy

36、Busid(request(modifyID)得到要修改的车次ID,并通过function.asp中函数读取要修改的车次信息到各text中显示,操作方式及函数同数据添加一样。数据删除admin_del.asp删除操作是通过admin_listbus.asp车辆信息列表中选择相应车次并将ID传到admin_del.asp中进行操作实现的。关键代码如下:dim checkedItem,eachItemdim icheckedItem=request(ckbox)eachItem=split(checkedItem,)for i=0 to ubound(eachItem)delBus(trim(ea

37、chItem(i)nextresponse.Redirect(admin_listbus.asp)response.end4.1.2 4.1.2数据显示模块admin_listbus.asp图4.3 数据显示界面本文件将XML文件中公交数据逐条读取并采用混合HTML代码的方式输出形成列表,提供显示所有公交数据详情,修改各个车次信息,并可选择对单个或多个公交车数据进行删除操作。关键代码如下:function delSubmit()var flag=false;for (i=0;idocument.form1.ckbox.length;i+)if (document.form1.ckbox(i).

38、checked=true)flag=true;break;if (flag)document.form1.submit();elsealert(请先选择需要删除的车次!);function checkAll()for (i=0;idocument.form1.ckbox.length;i+)document.form1.ckbox(i).checked=true;function checkNone()for (i=0;idocument.form1.ckbox.length;i+)document.form1.ckbox(i).checked=false;采用循环方式列出所有站点:%dim

39、busIdList,busStateListdim i,jbusIdList=getBusidListfor i=0 to ubound(busIdList)response.Write()response.Write()response.Write(& busIdList(i) &)response.Write()busStateList=getInfoByBusId(busIdList(i)for j=3 to ubound(busStateList)response.Write(busStateList(j)+ )nextresponse.Write()response.Write()r

40、esponse.Write()next%4.1.3 4.1.3数据缓存模块admin_flush_buffer.asp本模块首先通过flush_busIDInfo()函数得到并生成每个车次信息的单独页面,然后由flush_busStationInfo()函数生成每个站点经过的车次,最后由flush_search_js()生成车次和站点的索引。4.2 4.2查询模块图4.4查询模块界面4.2.1 4.2.1车次查询Index.asp本模块首先通过输入或选择缓存目录中busIDList.htm文件中项目得到车次,调用do1()进行名称检查,通过则调用busID_search()函数与索引data.

41、js中的busIDList数组进行对比,如果有则定向到相应缓存文件,没有则返回未找到结果。主要代码如下:function do1()if (document.form1.text1.value=)alert(请输入或选择车次!);elsebusID_search();function busID_search()var flag=false;var busIDKey=document.form1.text1.value;for (ii=0;iibusIDList.length;ii+)if(busIDKey=busIDListii)flag=true;break;if (flag)window

42、.open(buffer/busIDInfo/bus+ii+.htm)elsealert(抱歉!+busIDKey+ 车次不存在);document.form1.text1.select();4.2.2 4.2.2站点查询Index.asp本模块首先通过输入或选择缓存目录中busStationList.htm文件中项目得到站名,调用do2()进行名称检查,通过则调用busStation_search()函数与索引data.js中的busStationList数组进行对比,如果有则定向到相应缓存文件,没有则返回未找到结果。主要代码如下:function do2()if (document.for

43、m2.text2.value=)alert(请输入或选择站名!);elsebusStation_search();function busStation_search()var flag=false;var busStationKey=document.form2.text2.value;for (jj=0;jjbusStationList.length;jj+)if(busStationKey=busStationListjj)flag=true;break;if (flag)window.open(buffer/busStationInfo/busStation+jj+.htm)elsea

44、lert(抱歉!+busStationKey+ 站不存在);document.form2.text2.select();4.2.3 4.2.3站站查询(乘车方案查询) busStationToStation_do.asp本模块首先在首页index.asp中通过输入或选择缓存目录中busStationList.htm文件中项目得到起点站和目的站名称,调用do3()进行名称检查,通过则将两站点名称传递给busStationToStation_do.asp。读取XML数据文件,将所有站点读取出来。首先判断两个站点名是否都有记录for i=0 to ubound(busStateList)if bus

45、Start=busStateList(i) thenflag=trueend ifif busTo=busStateList(i) thenflag2=trueend ifif (flag and flag2) then exit for通过判断flag and flag2值为0则至少有一个站点不存在。值为1则开始查找是否有直达车:strTemp=for i=0 to ubound(busIdList)busInfo=getInfoByBusid(busIdList(i)flag3=0for j=3 to ubound(busInfo) if busInfo(j)=busStart thenf

46、lag3=flag3+1end ifif busInfo(j)=busTo thenflag3=flag3+1end ifif flag3=2 then exit fornextif flag3=2 thenstrTemp=strTemp+cstr(busInfo(0)+| end ifnext如果strTemp没有值则没有直达,开始查找换乘1次的方案:for ii=0 to ubound(passStartStationBusID)for jj=0 to ubound(passToStationBusID)busInfoA=getInfoByBusid(passStartStationBusID(ii)busInfoB=getInfoByBusid(passToStationBusID(jj)for mm=3 to ubound(busInfoA)for nn=3 to ubound(busInfoB)if busInfoA(mm)=busInfoB(nn) thenflagII=truefirstBusID=passSt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论