火车时刻表源代码

1234

这个应用的皮肤跟上一个手机归属地查询是同一皮肤,这里我用的是Panorama全景视图做的UI。

其实我一开始是将很多查询类的小应用集中在一个应用里面的,就像这样

tt不过后来打算分开做的,至于为什么,你懂的,5送一哦。可惜好事总是轮不上咱。通过再多也没用。

下载地址:

http://115.com/file/dp7nntwg#
PracticalSearch.xap

联系QQ:29992379

回到正题,这个应用用的是webxml的服务。

http://webservice.webxml.com.cn/WebServices/TrainTimeWebService.asmx

可以通过出发站和目的站来查询列车的车次。也可以通过车次查询列车的起始站和终点站。

之类应用都很简单,代码量也少,我在UI上花了不少功夫。效果的代码就不写了,只写功能代码吧。

 

通过起始站和终点站查询

?
1
2
3
4
5
6
7
8
9
private void SearchByStationName_Click( object sender, RoutedEventArgs e)
         {
             if (CheckStartStation() && CheckArriveStation())
             {
                 l.Show( this , "查找中......" );
                 client.getStationAndTimeByStationNameAsync(StartStation.Text, ArriveStation.Text, "" );
                 client.getStationAndTimeByStationNameCompleted += new EventHandler<TrainService.getStationAndTimeByStationNameCompletedEventArgs>(client_getStationAndTimeByStationNameCompleted);
             }
         }

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void client_getStationAndTimeByStationNameCompleted( object sender, TrainService.getStationAndTimeByStationNameCompletedEventArgs e)
         {
             if (e.Error== null )
             {
                 var re=e.Result.Nodes[0];
                 var TimeTable = from zip in re.Descendants( "TimeTable" )
                               select new TrainInfo
                               {
                                   TrainCode = zip.Element( "TrainCode" ).Value,
                                   FirstStation = zip.Element( "FirstStation" ).Value,
                                   LastStation = zip.Element( "LastStation" ).Value,
                                   StartStation = zip.Element( "StartStation" ).Value,
                                   StartTime = zip.Element( "StartTime" ).Value,
                                   ArriveStation = zip.Element( "ArriveStation" ).Value,
                                   ArriveTime = zip.Element( "ArriveTime" ).Value
                               };
                 if (TimeTable.First().FirstStation== "数据没有被发现" )
                 {
                     MessageBox.Show( "数据没有被发现" ); l.Hide( this , "" );
                     return ;
                 }
                 List<TrainInfo> trainlist = new List<TrainInfo>();
                 foreach (var item in TimeTable)
                 {
                     trainlist.Add(item);
                 }
                 ListBoxTrainList.ItemsSource = trainlist;
                 l.Hide( this , "" );
             }
         }

 

通过车次号查询

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private void SearchByTrainCode_Click( object sender, RoutedEventArgs e)
         {
             if (CheckTrainCode())
             {
                 l.Show( this , "查找中......" );
                 client.getStationAndTimeByTrainCodeAsync(TrainCode.Text, "" );
                 client.getStationAndTimeByTrainCodeCompleted += new EventHandler<TrainService.getStationAndTimeByTrainCodeCompletedEventArgs>(client_getStationAndTimeByTrainCodeCompleted);
             }
         }
 
         void client_getStationAndTimeByTrainCodeCompleted( object sender, TrainService.getStationAndTimeByTrainCodeCompletedEventArgs e)
         {
             if (e.Error== null )
             {
                 string [] strinfo = e.Result;
                 if (strinfo[1] != "数据没有被发现" )
                 {
                     TextBlockTrainCode.Text = "车次:" + strinfo[0];
                     TextBlockTrainLiu.Text = strinfo[2]+ "(" +strinfo[4]+ ")-->" +strinfo[3]+ "(" +strinfo[6]+ ")" ;
                     l.Hide( this , "查找中......" );
                 }
                 else
                 {
                     MessageBox.Show( "数据没有被发现" );
                 }
             }
         }
文章源地址: http://www.cnblogs.com/wildfeng/archive/2012/03/24/2412514.html

你可能感兴趣的:(源代码)