天天看點

火車時刻表源代碼

火車時刻表源代碼
火車時刻表源代碼
火車時刻表源代碼
火車時刻表源代碼

這個應用的皮膚跟上一個手機歸屬地查詢是同一皮膚,這裡我用的是Panorama全景視圖做的UI。

其實我一開始是将很多查詢類的小應用集中在一個應用裡面的,就像這樣

火車時刻表源代碼

不過後來打算分開做的,至于為什麼,你懂的,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