精华内容
下载资源
问答
  • [程序名称]Hi5360列车时刻表查询(V1.3.1108) [功能简介] 本程序主要包括全国各地列车的站站查询、车站查询以及车次查询等功能;站站查询还提供了详尽的中转方案。 [V1.3版本更新说明] 新增了高级查询功能...
  • 本程序主要包括全国各地列车的站站查询、车站查询以及车次查询等功能;站站查询还提供了详尽的中转方案。 查询结果采用ASP伪静态模式显示,无任何广告,界面简洁! [V1.3版本更新说明] 新增了高级查询功能(直观...
  • 于是也考虑了一下大家经常使用的时刻表查询工具的后台SQL实现。我估计大多数的工具比如极品时刻表、路路通时刻表等等,都是这样实现的。首先给出表结构, 基于这样的表结构,给出常用的查询SQL。--车次查询 select ...

            刚开始上班,闲着没什么事情,搞到一份2012年1月1号的列车时刻表数据库,是access版本的,稍后我会给出下载链接,研究了一下表结构,觉得这样的表结构还是比较合理的。于是也考虑了一下大家经常使用的时刻表查询工具的后台SQL实现。我估计大多数的工具比如极品时刻表、路路通时刻表等等,都是这样实现的。首先给出表结构,

    基于这样的表结构,给出常用的查询SQL。

    --车次查询
    select * from train where  id='K7726/K7727';
    --车站查询
    select * from train where  station='龙家营';
    --站站查询
    SELECT T1.id, T1.station, t1.d_time, T2.station, T2.a_time,t2.p1-t1.p1 as 票价
    FROM train AS T1, train AS T2
    WHERE T1.station='龙家营' and T2.Station='邯郸' and T1.S_NO<T2.S_NO and T1.id=T2.id;
    --中转查询(邯郸到聊城没有直达车)
    select t1.id,t1.station,t2.station,t2.a_time,t3.id,t3.d_time,t4.station,(t2.distance-t1.distance)+(t4.distance-t3.distance) as 总里程
    from  train T1,train t2,train t3,train t4
    where  T1.station='邯郸'
    and    t4.station='聊城'
    and    t1.id=t2.id  and t1.s_no<t2.S_No
    and    t3.id=t4.id  and t3.s_no<t4.s_no
    and    t2.station=t3.station and t3.d_time>t2.A_time
    order by  (t2.distance-t1.distance)+(t4.distance-t3.distance) asc;
    下面给出数据库的下载链接:

       点击此处到达下载地址

    展开全文
  • 极品列车时刻表是最流行的列车时刻表查询软件,快速的在线升级功能,实力与技术完美体现,不修改注册表,无需安装,直接运行。极品列车时刻表主要功能:1.车次查询:输入车次,可查找到该车次所经过的站名。2.站名...
  • 最新列车时刻表数据库下载

    热门讨论 2009-08-09 14:40:25
    完整版列车时刻表Access数据库...ID 列车车次 Type 列车类型 Station 车站 S_No 站序 Day 天数 A_Time 到达时间 D_Time 离开时间 Distance 里程 P1 硬座票价 P2 软座票价 P3 硬卧票价 P4 软卧票价
  • 列车时刻表查询 是我的其中一个小项目,通过调用网上的免费的web服务完成信息的获取,非常感谢 http://webxml.com.cn/网站 为我们这些学生程序员提供了很多免费的服务。 里面的很多服务都可以利用 做出自己的小项目...

     

    学习wp好长一段时间了,做了很多的小项目 。和大家一起分享一下心得 。

    列车时刻表查询 是我的其中一个小项目,通过调用网上的免费的web服务完成信息的获取,非常感谢 http://webxml.com.cn/网站 为我们这些学生程序员提供了很多免费的服务。

    里面的很多服务都可以利用 做出自己的小项目来,通过这个简单的车次查询小应用, 希望给热爱wp程序开发的同学带来开放程序的热情,用自己的创新思维开发新的应用,为wp应用世界不断辉煌贡献自己的力量。谢谢...

    开始啦 .......

     vs2010

     blend

     模拟器打开了没?

    分享自己的一点心得 ,每当我想做小项目的时候我都会在一张纸上勾画一下界面 这样在用blend的时候可以很快的把项目的界面给大家起来 这样我们就可以很快的投入到代码的编写了。

    我想大家一定都会理解我画的界面 虽然不是很好看(我不是美工哦)希望能理解我每个箭头所指的应用什么控件 ,顺时针 Pagetitle(车次查询) TextBox ListBox applicationbarIcon  textBlocks

    这是设计好的界面

    在这里最重要的是设计listbox的项模版和数据模版.

    讲讲我在blend中如何设计的.

    由于我是设计完了所以选择编辑当前项.

     

    这里的TrainStation arriveTime StartTime KM  是TextBlock的名字  这样命名 是和你的类名一样的 这样就不会在绑定数据的时候出错哦 !

    当你设计好了这个界面以后就可以单击 这个来完成设计了.

    界面设计好了以后想必大家都期待写代码了吧。先别急 数据源咱们还没分析呢

    打开我给大家推荐的网站

     http://webxml.com.cn/

    找到

    web服务 http://webservice.webxml.com.cn/WebServices/TrainTimeWebService.asmx

    打开这个服务 大家会看到很多的调用方法 如何去使用这些方法呢

    。。。。。。。

    用vs打开我们刚才设计好的项目,添加服务

    在地址栏中输入web服务地址哦!

    添加成功完服务后我们来分析我们应该使用那个方法呢 这么多的方法想必大家都想使用 做的应用越强大越好,现在我在这里只说说

    getDetailInfoByTrainCode

     这个方法吧 ,

    单击调用会在ie中

      <?xml version="1.0" encoding="utf-8" ?>
    - <DataSet xmlns="http://WebXml.com.cn/">
    - <xs:schema id="getDetailInfo" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    - <xs:element name="getDetailInfo" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
    - <xs:complexType>
    - <xs:choice minOccurs="0" maxOccurs="unbounded">
    - <xs:element name="TrainDetailInfo">
    - <xs:complexType>
    - <xs:sequence>
      <xs:element name="TrainStation" type="xs:string" minOccurs="0" />
      <xs:element name="ArriveTime" type="xs:string" minOccurs="0" />
      <xs:element name="StartTime" type="xs:string" minOccurs="0" />
      <xs:element name="KM" type="xs:short" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
      </xs:element>
      </xs:choice>
      </xs:complexType>
      </xs:element>
      </xs:schema>
    - <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    - <getDetailInfo xmlns="">
    - <TrainDetailInfo diffgr:id="TrainDetailInfo1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
      <TrainStation>哈尔滨(车次:K1124\K1121)</TrainStation>
      <ArriveTime />
      <StartTime>17:35:00</StartTime>
      <KM>0</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
      <TrainStation>兰棱</TrainStation>
      <ArriveTime>18:25:00</ArriveTime>
      <StartTime>18:26:00</StartTime>
      <KM>72</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo3" msdata:rowOrder="2" diffgr:hasChanges="inserted">
      <TrainStation>长春</TrainStation>
      <ArriveTime>20:14:00</ArriveTime>
      <StartTime>20:24:00</StartTime>
      <KM>246</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo4" msdata:rowOrder="3" diffgr:hasChanges="inserted">
      <TrainStation>公主岭</TrainStation>
      <ArriveTime>21:02:00</ArriveTime>
      <StartTime>21:04:00</StartTime>
      <KM>308</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo5" msdata:rowOrder="4" diffgr:hasChanges="inserted">
      <TrainStation>四平</TrainStation>
      <ArriveTime>21:43:00</ArriveTime>
      <StartTime>21:46:00</StartTime>
      <KM>361</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo6" msdata:rowOrder="5" diffgr:hasChanges="inserted">
      <TrainStation>铁岭</TrainStation>
      <ArriveTime>23:01:00</ArriveTime>
      <StartTime>23:04:00</StartTime>
      <KM>479</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo7" msdata:rowOrder="6" diffgr:hasChanges="inserted">
      <TrainStation>沈阳北</TrainStation>
      <ArriveTime>00:24:00</ArriveTime>
      <StartTime>00:40:00</StartTime>
      <KM>546</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo8" msdata:rowOrder="7" diffgr:hasChanges="inserted">
      <TrainStation>大虎山</TrainStation>
      <ArriveTime>02:50:00</ArriveTime>
      <StartTime>02:53:00</StartTime>
      <KM>673</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo9" msdata:rowOrder="8" diffgr:hasChanges="inserted">
      <TrainStation>沟帮子</TrainStation>
      <ArriveTime>03:21:00</ArriveTime>
      <StartTime>03:24:00</StartTime>
      <KM>715</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo10" msdata:rowOrder="9" diffgr:hasChanges="inserted">
      <TrainStation>锦州</TrainStation>
      <ArriveTime>04:06:00</ArriveTime>
      <StartTime>04:15:00</StartTime>
      <KM>779</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo11" msdata:rowOrder="10" diffgr:hasChanges="inserted">
      <TrainStation>葫芦岛</TrainStation>
      <ArriveTime>04:48:00</ArriveTime>
      <StartTime>04:51:00</StartTime>
      <KM>829</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo12" msdata:rowOrder="11" diffgr:hasChanges="inserted">
      <TrainStation>山海关</TrainStation>
      <ArriveTime>06:19:00</ArriveTime>
      <StartTime>06:25:00</StartTime>
      <KM>963</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo13" msdata:rowOrder="12" diffgr:hasChanges="inserted">
      <TrainStation>北戴河</TrainStation>
      <ArriveTime>06:54:00</ArriveTime>
      <StartTime>06:57:00</StartTime>
      <KM>1001</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo14" msdata:rowOrder="13" diffgr:hasChanges="inserted">
      <TrainStation>昌黎</TrainStation>
      <ArriveTime>07:18:00</ArriveTime>
      <StartTime>07:31:00</StartTime>
      <KM>1029</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo15" msdata:rowOrder="14" diffgr:hasChanges="inserted">
      <TrainStation>滦县</TrainStation>
      <ArriveTime>07:58:00</ArriveTime>
      <StartTime>08:02:00</StartTime>
      <KM>1070</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo16" msdata:rowOrder="15" diffgr:hasChanges="inserted">
      <TrainStation>唐山</TrainStation>
      <ArriveTime>08:53:00</ArriveTime>
      <StartTime>08:59:00</StartTime>
      <KM>1141</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo17" msdata:rowOrder="16" diffgr:hasChanges="inserted">
      <TrainStation>芦台</TrainStation>
      <ArriveTime>09:29:00</ArriveTime>
      <StartTime>09:34:00</StartTime>
      <KM>1183</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo18" msdata:rowOrder="17" diffgr:hasChanges="inserted">
      <TrainStation>天津</TrainStation>
      <ArriveTime>10:35:00</ArriveTime>
      <StartTime>10:54:00</StartTime>
      <KM>1264</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo19" msdata:rowOrder="18" diffgr:hasChanges="inserted">
      <TrainStation>霸州</TrainStation>
      <ArriveTime>12:21:00</ArriveTime>
      <StartTime>12:25:00</StartTime>
      <KM>1351</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo20" msdata:rowOrder="19" diffgr:hasChanges="inserted">
      <TrainStation>任丘</TrainStation>
      <ArriveTime>13:00:00</ArriveTime>
      <StartTime>13:03:00</StartTime>
      <KM>1406</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo21" msdata:rowOrder="20" diffgr:hasChanges="inserted">
      <TrainStation>深州</TrainStation>
      <ArriveTime>14:52:00</ArriveTime>
      <StartTime>14:56:00</StartTime>
      <KM>1498</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo22" msdata:rowOrder="21" diffgr:hasChanges="inserted">
      <TrainStation>衡水</TrainStation>
      <ArriveTime>15:26:00</ArriveTime>
      <StartTime>15:32:00</StartTime>
      <KM>1533</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo23" msdata:rowOrder="22" diffgr:hasChanges="inserted">
      <TrainStation>枣强</TrainStation>
      <ArriveTime>15:56:00</ArriveTime>
      <StartTime>16:00:00</StartTime>
      <KM>1564</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo24" msdata:rowOrder="23" diffgr:hasChanges="inserted">
      <TrainStation>清河城</TrainStation>
      <ArriveTime>16:44:00</ArriveTime>
      <StartTime>16:49:00</StartTime>
      <KM>1613</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo25" msdata:rowOrder="24" diffgr:hasChanges="inserted">
      <TrainStation>临清</TrainStation>
      <ArriveTime>17:20:00</ArriveTime>
      <StartTime>17:25:00</StartTime>
      <KM>1639</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo26" msdata:rowOrder="25" diffgr:hasChanges="inserted">
      <TrainStation>聊城</TrainStation>
      <ArriveTime>18:00:00</ArriveTime>
      <StartTime>18:03:00</StartTime>
      <KM>1685</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo27" msdata:rowOrder="26" diffgr:hasChanges="inserted">
      <TrainStation>梁山</TrainStation>
      <ArriveTime>18:49:00</ArriveTime>
      <StartTime>19:03:00</StartTime>
      <KM>1761</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo28" msdata:rowOrder="27" diffgr:hasChanges="inserted">
      <TrainStation>菏泽</TrainStation>
      <ArriveTime>19:50:00</ArriveTime>
      <StartTime>19:52:00</StartTime>
      <KM>1841</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo29" msdata:rowOrder="28" diffgr:hasChanges="inserted">
      <TrainStation>商丘南</TrainStation>
      <ArriveTime>21:01:00</ArriveTime>
      <StartTime>21:03:00</StartTime>
      <KM>1946</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo30" msdata:rowOrder="29" diffgr:hasChanges="inserted">
      <TrainStation>亳州</TrainStation>
      <ArriveTime>21:45:00</ArriveTime>
      <StartTime>21:48:00</StartTime>
      <KM>2010</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo31" msdata:rowOrder="30" diffgr:hasChanges="inserted">
      <TrainStation>阜阳</TrainStation>
      <ArriveTime>23:00:00</ArriveTime>
      <StartTime>23:10:00</StartTime>
      <KM>2114</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo32" msdata:rowOrder="31" diffgr:hasChanges="inserted">
      <TrainStation>淮滨</TrainStation>
      <ArriveTime>00:14:00</ArriveTime>
      <StartTime>00:18:00</StartTime>
      <KM>2175</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo33" msdata:rowOrder="32" diffgr:hasChanges="inserted">
      <TrainStation>潢川</TrainStation>
      <ArriveTime>01:03:00</ArriveTime>
      <StartTime>01:05:00</StartTime>
      <KM>2230</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo34" msdata:rowOrder="33" diffgr:hasChanges="inserted">
      <TrainStation>麻城</TrainStation>
      <ArriveTime>02:34:00</ArriveTime>
      <StartTime>02:38:00</StartTime>
      <KM>2350</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo35" msdata:rowOrder="34" diffgr:hasChanges="inserted">
      <TrainStation>黄州</TrainStation>
      <ArriveTime>03:27:00</ArriveTime>
      <StartTime>03:29:00</StartTime>
      <KM>2417</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo36" msdata:rowOrder="35" diffgr:hasChanges="inserted">
      <TrainStation>浠水</TrainStation>
      <ArriveTime>03:56:00</ArriveTime>
      <StartTime>03:58:00</StartTime>
      <KM>2446</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo37" msdata:rowOrder="36" diffgr:hasChanges="inserted">
      <TrainStation>蕲春</TrainStation>
      <ArriveTime>04:22:00</ArriveTime>
      <StartTime>04:24:00</StartTime>
      <KM>2476</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo38" msdata:rowOrder="37" diffgr:hasChanges="inserted">
      <TrainStation>九江</TrainStation>
      <ArriveTime>05:36:00</ArriveTime>
      <StartTime>05:49:00</StartTime>
      <KM>2573</KM>
      </TrainDetailInfo>
    - <TrainDetailInfo diffgr:id="TrainDetailInfo39" msdata:rowOrder="38" diffgr:hasChanges="inserted">
      <TrainStation>南昌</TrainStation>
      <ArriveTime>07:55:00</ArriveTime>
      <StartTime />
      <KM>2708</KM>
      </TrainDetailInfo>
      </getDetailInfo>
      </diffgr:diffgram>
      </DataSet>
    ——————————————————————————————————
    对于这个xml数据我们需要
    <TrainStation>九江</TrainStation>
      <ArriveTime>05:36:00</ArriveTime>
      <StartTime>05:49:00</StartTime>
      <KM>2573</KM>
    解析哦
    当我们输入车次时候我们需要的是这个数据在获取这个数据之前我们需要设计个类

    public class TrainDetailInfo
        {
            public string TrainStation { get; set; }
            public string ArriveTime { get; set; }
            public string StartTime { get; set; }
            public string KM { get; set; }

        }

     

    好了写到这里 开始进入最重要的地方哦 集中精力哦!

    调用这个web服务我们需要建立一个实例 

     

             public TrainCode()
            {
                 InitializeComponent();

             //建立一个web服务的client实例
                 ServiceReference1.TrainTimeWebServiceSoapClient client= new ServiceReference1.TrainTimeWebServiceSoapClient();

            //处理获取信息完成的事件

         
                client.getDetailInfoByTrainCodeCompleted += new EventHandler<ServiceReference1.getDetailInfoByTrainCodeCompletedEventArgs>(client_getDetailInfoByTrainCodeCompleted);
            }

            void client_getDetailInfoByTrainCodeCompleted(object sender, ServiceReference1.getDetailInfoByTrainCodeCompletedEventArgs e)
            {
                //throw new NotImplementedException();
                if (e.Result==null)
                {
                    MessageBox.Show("你查询的车次不存在!");
                    return;
                }


                try
                {
                  //e.result为反回来的xml数据下面这段代码就是解析xml数据的核心代码 属于linq 查询

                 //需要添加using System.Xml.Linq;using System.Linq;引用

                 //

                   var list = e.Result.Nodes[0];
                  
             
                    var train = from table in list.Descendants("TrainDetailInfo")//类初始化器
                                select new TrainDetailInfo
                                {
                                    TrainStation = (string)table.Element("TrainStation"),
                                 
                                  
                                    StartTime = (string)table.Element("StartTime"),
                                  
                                    ArriveTime =(string) table.Element("ArriveTime").Value,
                                    KM = (string)table.Element("KM")
                                 
                                };

                  //这里是绑定数据

                    this.listTrain.ItemsSource = train;

             
                    
                }
                catch
                {
                    MessageBox.Show("没有找到你要的信息!");
                }
                   
            }

          
                 private void AppBar_search_Click_Click(object sender, System.EventArgs e)
            {
                      client.getDetailInfoByTrainCodeAsync(textBox1.Text,null);

            }

    好了大家都写完了没 出现很多bug?

    希望在家在遇到真么不懂的直接baidu和google吧 !


                   有什么不懂的地方大家一起讨论哦!

     

     
     
     

    转载于:https://www.cnblogs.com/fxiaoquan/archive/2012/03/17/2404120.html

    展开全文
  • 然后我们来建立命令,分别由按照列车车次检索和目的地检索的按钮事件来调用,然后在前端控制器中配置: 编写命令 GetStationDetailCommand.as package ...

    然后我们来建立命令,分别由按照列车车次检索和目的地检索的按钮事件来调用,然后在前端控制器中配置:

    编写命令

    GetStationDetailCommand.as

     

    1. package com.example.command
    2. {
    3. import com.adobe.cairngorm.commands.ICommand;
    4. import com.adobe.cairngorm.control.CairngormEvent;
    5. import com.example.business.TrainDelegateWS;
    6. import com.example.business.TrainDelegateDB;
    7. import com.example.event.SearchByStationEvent;
    8. import com.example.model.TrainModelLocator;
    9.  
    10. import mx.collections.ArrayCollection;
    11. import mx.controls.Alert;
    12. import mx.rpc.IResponder;
    13. import mx.rpc.events.FaultEvent;
    14.  
    15. public class GetStationDetailCommand implements ICommand, IResponder
    16. {
    17. private var modelLocator:TrainModelLocator = TrainModelLocator.getInstance();
    18. private var deaultNS:Namespace = new Namespace("http://WebXml.com.cn/");
    19. private var diffNS:Namespace = new Namespace("diffgr","urn:schemas-microsoft-com:xml-diffgram-v1");
    20. public function execute( event : CairngormEvent ): void {
    21. var searchEvent:SearchByStationEvent = SearchByStationEvent(event);
    22. modelLocator.startStation = searchEvent.start;
    23. modelLocator.arriveStation = searchEvent.end;
    24. switch(modelLocator.currentService) {
    25. case "webService":
    26. var delegate : TrainDelegateWS = new TrainDelegateWS(this);
    27. delegate.getStationDetail();
    28. break;
    29. case "dataBase":
    30. var delegateDB : TrainDelegateDB = new TrainDelegateDB(this);
    31. delegateDB.getStationDetail();
    32. break;
    33. }
    34. }
    35.  
    36. public function result( event : Object ) : void {
    37. default xml namespace = deaultNS;
    38. var resultXML:XML = new XML(event.result.toString());
    39. var resultList:XMLList = resultXML.getStationAndTimeByStationNameResult.diffNS::diffgram.getStationAndTime.TimeTable;
    40. var model : TrainModelLocator = TrainModelLocator.getInstance();
    41. model.currentStaionList.trainStationList = new ArrayCollection();
    42. var count:uint = 1;
    43. for each(var item:XML in resultList) {
    44. var nodeItem:Object = new Object();
    45. nodeItem.num = count;
    46. count++;
    47. nodeItem.TrainCode = item.TrainCode;
    48. nodeItem.FirstStation = item.FirstStation;
    49. nodeItem.LastStation = item.LastStation;
    50. nodeItem.StartStation = item.StartStation;
    51. nodeItem.StartTime = item.StartTime;
    52. nodeItem.ArriveStation = item.ArriveStation;
    53. nodeItem.ArriveTime = item.ArriveTime;
    54. nodeItem.KM = item.KM;
    55. nodeItem.UseDate = item.UseDate;
    56. model.currentStaionList.trainStationList.addItem(nodeItem);
    57. }
    58. model.currentState = "resultByStationList";
    59. }
    60.  
    61. public function fault( event : Object ) : void {
    62. var faultEvent : FaultEvent = FaultEvent( event );
    63. Alert.show("Train could not be retrieved!");
    64. }
    65.  
    66. }
    67. }

     

    GetTrainDetailCommand.as

     

    1. package com.example.command
    2. {
    3. import com.adobe.cairngorm.commands.ICommand;
    4. import com.adobe.cairngorm.control.CairngormEvent;
    5. import com.example.business.TrainDelegateWS;
    6. import com.example.business.TrainDelegateDB;
    7. import com.example.event.SearchByTrainNameEvent;
    8. import com.example.model.TrainModelLocator;
    9.  
    10. import mx.collections.ArrayCollection;
    11. import mx.controls.Alert;
    12. import mx.rpc.IResponder;
    13. import mx.rpc.events.FaultEvent;
    14.  
    15. public class GetTrainDetailCommand implements ICommand, IResponder
    16. {
    17. private var modelLocator:TrainModelLocator = TrainModelLocator.getInstance();
    18. private var deaultNS:Namespace = new Namespace("http://WebXml.com.cn/");
    19. private var diffNS:Namespace = new Namespace("diffgr","urn:schemas-microsoft-com:xml-diffgram-v1");
    20. public function execute( event : CairngormEvent ): void {
    21. var searchEvent:SearchByTrainNameEvent = SearchByTrainNameEvent(event);
    22. modelLocator.currentTrain.name = searchEvent.trainName;
    23. switch(modelLocator.currentService) {
    24. case "webService":
    25. var delegate : TrainDelegateWS = new TrainDelegateWS(this);
    26. delegate.getTrainDetail();
    27. break;
    28. case "dataBase":
    29. var delegateDB : TrainDelegateDB = new TrainDelegateDB(this);
    30. delegateDB.getTrainDetail();
    31. break;
    32. }
    33. }
    34.  
    35. public function result( event : Object ) : void {
    36. default xml namespace = deaultNS;
    37. var resultXML:XML = new XML(event.result.toString());
    38. var resultList:XMLList = resultXML.getDetailInfoByTrainCodeResult.diffNS::diffgram.getDetailInfo.TrainDetailInfo;
    39.  
    40. var model : TrainModelLocator = TrainModelLocator.getInstance();
    41. model.currentTrain.journey = new ArrayCollection();
    42. var count:uint = 1;
    43. for each(var item:XML in resultList) {
    44. var nodeItem:Object = new Object();
    45. nodeItem.num = count;
    46. count++;
    47. nodeItem.TrainStation = item.TrainStation;
    48. nodeItem.ArriveTime = item.ArriveTime;
    49. nodeItem.StartTime = item.StartTime;
    50. nodeItem.KM = item.KM;
    51. model.currentTrain.journey.addItem(nodeItem);
    52. }
    53. model.currentState = "resultByTrainName";
    54. }
    55.  
    56. public function fault( event : Object ) : void {
    57. var faultEvent : FaultEvent = FaultEvent( event );
    58. Alert.show("Train could not be retrieved!");
    59. }
    60.  
    61. }
    62. }

     

    前端控制器

    然后让我们来完成前端控制器,这里比较简单,就是映射两个事件到相应的命令上:

    TrainController.as

     

    1. package com.example.control
    2. {
    3. import com.adobe.cairngorm.control.FrontController;
    4. import com.example.command.*;
    5. import com.example.event.SearchByTrainNameEvent;
    6. import com.example.event.SearchByStationEvent;
    7.  
    8. public class TrainController extends FrontController
    9. {
    10. public function TrainController() {
    11. initialiseCommands();
    12. }
    13.  
    14. public function initialiseCommands() : void {
    15. addCommand( SearchByTrainNameEvent.SEARCH_BY_TRAIN_NAME, GetTrainDetailCommand);
    16. addCommand( SearchByStationEvent.SEARCH_BY_STATION, GetStationDetailCommand);
    17. }
    18.  
    19. }
    20. }

     

    自定义事件

    我们需要自定义事件的播放来触发命令的操作,这里我们建立两个自定义事件,分别对应两种搜索状态:

    SearchByStationEvent.as

     

    1. package com.example.event
    2. {
    3. import flash.events.Event;
    4. import com.adobe.cairngorm.control.CairngormEvent;
    5. public class SearchByStationEvent extends CairngormEvent {
    6.  
    7. public static var SEARCH_BY_STATION : String = "searchByStation";
    8.  
    9. public var start : String;
    10. public var end : String;
    11.  
    12. public function SearchByStationEvent() {
    13. super(SEARCH_BY_STATION);
    14. }
    15.  
    16. override public function clone() : Event {
    17. return new SearchByStationEvent();
    18. }
    19.  
    20. }
    21. }

     

    SearchByTrainNameEvent.as

     

    1. package com.example.event
    2. {
    3. import flash.events.Event;
    4. import com.adobe.cairngorm.control.CairngormEvent;
    5. public class SearchByTrainNameEvent extends CairngormEvent {
    6.  
    7. public static var SEARCH_BY_TRAIN_NAME : String = "searchByTrainName";
    8.  
    9. public var trainName : String;
    10.  
    11. public function SearchByTrainNameEvent() {
    12. super(SEARCH_BY_TRAIN_NAME);
    13. }
    14.  
    15. override public function clone() : Event {
    16. return new SearchByTrainNameEvent();
    17. }
    18.  
    19. }
    20. }

     

    下一步实现数据模型:

    TrainModelLocator.as

     

    1. package com.example.model
    2. {
    3. import com.adobe.cairngorm.model.ModelLocator;
    4. import com.example.vo.StationListVO;
    5. import com.example.vo.TrainVO;
    6.  
    7. [Bindable]
    8. public class TrainModelLocator implements ModelLocator {
    9.  
    10. private static var modelLocator : TrainModelLocator;
    11.  
    12. public static function getInstance() : TrainModelLocator {
    13. if ( modelLocator == null ) {
    14. modelLocator = new TrainModelLocator();
    15. }
    16. return modelLocator;
    17. }
    18.  
    19. public function TrainModelLocator() {
    20. if ( modelLocator != null ) {
    21. throw new Error( "Only one TrainModelLocator instance should be instantiated" );
    22. }
    23. }
    24. //serviceConfig
    25. public var wsWSDL:String = "http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx?wsdl";
    26.  
    27. public var currentTrain : TrainVO = new TrainVO();
    28. public var currentStaionList : StationListVO = new StationListVO();
    29. public var currentService:String = "webService";
    30. public var startStation:String = "";
    31. public var arriveStation:String = "";
    32. //当前状态
    33. public var currentState:String = "";
    34.  
    35. }
    36. }

     

    我们定义两个ValueObject类,用于保存按照两种搜索模式检索的返回结果:

    StationListVO.as

     

    1. package com.example.vo
    2. {
    3. import com.adobe.cairngorm.vo.IValueObject;
    4.  
    5. import mx.collections.ArrayCollection;
    6.  
    7. [RemoteClass(alias="com.example.vo.StationListVO")]
    8. public class StationListVO implements IValueObject
    9. {
    10. //始发站
    11. [Bindable]
    12. public var startStation:String;
    13. //目的地
    14. [Bindable]
    15. public var endStation:String;
    16. //列车以及行程
    17. [Bindable]
    18. public var trainStationList:ArrayCollection;
    19. }
    20. }

     

    TrainVO.as

     

    1. package com.example.vo
    2. {
    3. import com.adobe.cairngorm.vo.IValueObject;
    4.  
    5. import mx.collections.ArrayCollection;
    6.  
    7. [RemoteClass(alias="com.example.vo.TrainVO")]
    8. public class TrainVO implements IValueObject
    9. {
    10. //列车车次
    11. [Bindable]
    12. public var name:String;
    13. //列车行程,是一个数组,数组的每一项包含序号,车站,到达时间,发车时间,里程(公里)
    14. [Bindable]
    15. public var journey:ArrayCollection;
    16. }
    17. }

     

    至此完成了编码工作,然后我们打开AIR的配置文件(TrainSchedule-app.xml),修改宽度和高度为(800*600),这样返回结果可以显示的更全面一些。

    源码下载地址:

    http://doc.riameeting.com/download/TrainSchedule.rar

    转载于:https://www.cnblogs.com/zhuwenlubin/archive/2010/11/03/1868493.html

    展开全文
  • 本项目是一个基于安卓的查询列车时刻表的小项目源码,使用http://webservice.webxml.com.cn/WebServices/TrainTimeWebService.asmx接口提供的列车数据,结合ksoap2进行数据解析。可以查询两站之间的车次信息和指定...
  • 盛名列车时刻表·手机版是一款 运行在支持Java 手机上的查询全国列车时刻表的单机版软件,它的运行不需要网络支持。通过它您可以方便的查询全国铁路时刻表,无论你在身处何处只要您需要掏出手机便可查询全国所有线路...
  • 极品列车时刻表查询软件,不仅可查车次和票价,还能实时查询余票,以免你白跑一趟火车站!快速的在线升级功能,实力与技术完美体现。主要功能:1.车次查询:输入车次,可查找到该车次所经过的站名。2.站名查询:输入...
  • 路路通时刻表安卓版是一款针对手机平台开发的时刻表,软件能实现站站查询、站站反向查询车次查询、车站所有车次查询车次查询和车站查询可循环查等诸多功能。运行速度超过同类软件数倍,首字母查询,简单易用,...
  • :Train 字段(所有字段均为字符串类型): ID 列车车次 S_No 站序 Station 车站 A_ID 实际车次 A_Time 到达时间 D_Time 离开时间 T_Time 历时 P1 硬座票价 P2 软座票价 P3 硬卧票价 P4 软卧票价 P5 一等座票价 P6...
  • 1.列车时刻表查询:输入车次,可查找到该车次所经过的站名。 2.站名 火车时刻表查询:输入站名,可查找到经过该站的所有车次。 3.火车票余票查询:输入出发站和到达站的站名,可查找到在该两站都要停的所有车次的...
  • 南针列车时刻表是一款查询全国列车时刻表的单机版免费软件,具有以下特点: 单机版软件:无需联网即可运行,把铁路问讯处搬回家;  最全的数据:含全部近4000车次,3000多车站的4万多条停靠站信息; 最新的数据...
  • [指南针列车时刻表]是一款查询全国列车时刻表的单机版免费软件,具有以下特点: ·单机版软件:无需联网即可运行,把铁路问讯处搬回家; ·最全的数据:含全部近4000车次,3000多车站的4万多条停靠站信息; ·最新...
  • 上海到苏州的列车时刻表查询,火车票价查询车次出发站上海开车到达站苏州到达硬座软座硬卧软卧K528上海04:39苏州05:3115.022.034.047.02002上海04:51苏州05:4813.020.032.045.0N4...
    上海到苏州的列车时刻表查询

    ,火车票价查询

    车次出发站上海开车到达站苏州到达硬座软座硬卧软卧
    K528上海04:39苏州05:3115.022.034.047.0
    2002上海04:51苏州05:4813.020.032.045.0
    N438上海05:03苏州06:0115.022.034.047.0
    D460上海05:38苏州06:1726.032.00.00.0
    D456上海05:55苏州06:3426.032.00.00.0
    T776/T777上海06:21苏州07:0715.022.034.047.0
    2526/2527上海06:27苏州07:2413.020.032.045.0
    D406上海07:48苏州08:2426.032.00.00.0
    T764上海08:00苏州08:4515.022.034.047.0
    D410上海08:58苏州09:3426.032.00.00.0
    K376/K377上海09:07苏州10:3215.022.034.047.0
    D412上海09:15苏州09:5126.032.00.00.0
    K290/K291上海09:33苏州10:3815.022.034.047.0
    K470上海10:00苏州11:4215.022.034.047.0
    K56/K57上海10:15苏州11:5015.022.034.047.0
    D416上海10:25苏州10:5626.032.00.00.0
    D420上海10:40苏州11:1126.032.00.00.0
    T786/T787上海11:05苏州12:0015.022.034.047.0
    K516/K517上海11:31苏州12:2815.022.034.047.0
    K234/K235上海11:52苏州13:2215.022.034.047.0
    D422上海12:08苏州12:3926.032.00.00.0
    D424上海12:18苏州12:5426.032.00.00.0
    T766上海12:27苏州13:1315.022.034.047.0
    2182/2183上海12:40苏州13:397.012.023.032.0
    K360/K361上海12:51苏州13:4515.022.034.047.0
    1462上海13:00苏州13:577.012.023.032.0
    K256/K257上海13:15苏州14:0615.022.034.047.0
    K294/K295上海13:21苏州14:1315.022.034.047.0
    D428上海14:05苏州14:3626.032.00.00.0
    T770上海14:10苏州15:2015.022.034.047.0
    D434上海14:33苏州15:0426.032.00.00.0
    T782/T783上海14:39苏州15:2615.022.034.047.0
    1352/1353上海14:45苏州16:5113.020.032.045.0
    K461/K464上海14:56苏州16:2915.022.034.047.0
    1658/1659上海15:13苏州16:5813.020.032.045.0
    D438上海15:40苏州16:1126.032.00.00.0
    D440上海15:45苏州16:2126.032.00.00.0
    T132/T133上海15:50苏州16:3515.022.034.047.0
    T138/T139上海15:57苏州16:4215.022.034.047.0
    T116/T117上海16:32苏州17:1815.022.034.047.0
    T772/T773上海16:38苏州17:2315.022.034.047.0
    K152/K153上海16:44苏州17:4115.022.034.047.0
    T34上海17:00苏州17:5215.022.034.047.0
    D444上海17:35苏州18:1126.032.00.00.0
    T768上海17:41苏州18:3315.022.034.047.0
    K557/K560上海17:49苏州18:4115.022.034.047.0
    K188/K189上海17:56苏州18:4815.022.034.047.0
    1342/1343上海18:07苏州18:5913.020.032.045.0
    D454上海19:10苏州19:4426.032.00.00.0
    D450上海20:20苏州20:5626.032.00.00.0
    T52/T53上海20:48苏州21:3315.022.034.047.0
    T178上海20:54苏州21:4715.022.034.047.0
    K282/K283上海21:02苏州22:0015.022.034.047.0
    1228/1229上海21:09苏州22:0713.020.032.045.0
    N434/N435上海21:17苏州22:1515.022.034.047.0
    N432上海21:24苏州22:3315.022.034.047.0
    T982/T983上海21:38苏州22:2415.022.034.047.0
    K372/K373上海21:44苏州22:4015.022.034.047.0
    N406/N407上海21:51苏州22:4815.022.034.047.0
    N402上海21:57苏州23:1515.022.034.047.0
    K76/K77上海22:16苏州23:0815.022.034.047.0
    5066/5067上海22:23苏州23:2213.020.032.045.0
    5072上海22:29苏州23:2813.020.032.045.0
    N418/N419上海22:35苏州23:3515.022.034.047.0
    N458/N459上海22:41苏州23:4215.022.034.047.0
    5078上海22:50苏州23:5813.020.032.045.0
    2582/2583上海23:00苏州23:527.012.023.032.0
    T986上海23:28苏州00:1515.022.034.047.0

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29987/viewspace-52020/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/29987/viewspace-52020/

    展开全文
  • 列车时刻查询和决策工作是一项琐碎、繁杂的工作,由于列车时刻在各种节日休假时期经常性的调整,导致列车时刻表必须经常修改,以确保准确无误的向用户及时的提供列车时刻信息。几十年前的那种传统的方式存在着许多...
  • ID 文本 列车车次 Type 文本 列车类型(普快,空调快速,动车…) S_No 数字 站序 Station 文本 车站 Day 数字 日期(当天,第2天,第3天) A_Time 时间 到达时间 D_Time 时间 离开时间 Distance 数字 里程 ...
  • 设计题目:列车时刻表信息管理系统 设计目的  1.巩固和加深学生对C语言课程的基本知识的理解和掌握;  2.掌握C语言编程和程序调试的基本技能;  3.利用C语言进行基本的软件设计;  4.掌握书写程序设计说明文档的...
  • 为了使数据冗余量和查询速度最优,所有的列车时刻数据均为一张结构如下: :Train 字段(所有字段均为字符串类型): ID 列车车次 Type 列车类型 Station 车站 S_No 站序 Day 天数 A_Time 到达...
  • 极品时刻表是款列车时刻表查询软件,快速的在线升级功能,实力与技术好体现,半张软盘即可放下,不修改注册表,无需安装,直接运行。极品时刻表主要功能:1.车次查询:输入车
  • 一、访问 http://www.ip138.com/ 查询网的火车时刻表工具:http://qq.ip138.com/train/选择“列车车次查询”,并使用CHROME开发者工具,可以发现并没有有关数据的XHR包,这是我们选择用正则表达式提取数据。...
  • 路路通时刻表(PC版)是一款针对电脑平台开发的时刻表,软件具有数据最准确、软件最小、功能最全、完全免费、更新最及时、操作最简单等优点,能实现站站查询、站站反向查询车次查询、车站所有车次查询车次查询和...
  • 3145火车时刻表是一款可以查询全国列车时刻表的单机版软件,它为您提供全国超过3,000个站点、4,000多列列车车次的最新信息,让您实时了解列车客运最新动态,假期旅行,过节回家,3145火车时刻表是您的好助手。
  • 3145火车时刻表是一款可以查询全国列车时刻表的单机版软件,它为您提供全国超过3,000个站点、4,000多列列车车次的最新信息,让您实时了解列车客运最新动态,假期旅行,过节回家,3145火车时刻表是您的好助手
  • 路路通时刻表PC版是一款针对电脑...数据包括部份已知的将要开行列车及将要改点列车,会有部份列车重复,请以列车车次后不带符号( -*)的为准。 本时刻表仅供参考,具体以车站公告为准。 更新日志: 优化模糊查询
  • python 制作火车时刻表

    千次阅读 2019-12-14 20:02:04
    python 制作火车时刻表 火车时刻表是一种方便快捷的查询火车班次信息的工具,那么,如何实现用...选择“列车车次查询”,并使用CHROME开发者工具,可以发现并没有有关数据的XHR包,这是我们选择用正则表达式提取数...
  • 时刻表车次后增加“ ”的说明列车在指定的日期列车已过期。时刻表车次后增加“*”的说明列车在指定的日期列车不开行。 红色车次代表为始发车蓝色车次代表为通过车灰色车次代表当日可能不开行列车
  • 衢州至宁德铁路将于9月27日开通运营铁路部门于9月25日16时开始发售车票具体车次时刻等资讯信息可查询铁路12306网站、微信、客户端松阳出发从松阳出发,到衢州:乘坐T4292车票价格是21.5元,行程历时1小时10分钟;...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

列车车次时刻表查询