mobile 使用約會對象

 

Pocket PC設備上的第三種常用Pocket Outlook數據是約會。Pocket PC設備上的約會應用程序如圖23-6所示。

與任務和聯繫人一樣,約會對象爲將約會數據整合到Pocket PC應用程序提供了一種簡單的實現方法,避免了複雜的編程。約會對象同樣提供了Categories屬性,該屬性可以用來標識適用於指定Pocket PC應用程序的特殊約會數據。通過Pocket Outlook.NET組件所提供的Appointments屬性和Appointment對象,可以訪問約會數據。

23.6.1  Appointments屬性

OutlookSession對象的Appointments屬性,提供了對駐留在設備上的約會集合的訪問。實際上,Appointments屬性提供了訪問POOM(全部任務數據駐留在其內部)內的Appointments文件夾的接口。該屬性鏈接到包含所有約會的項目集合。

在本節後續部分介紹的幾個示例中,將演示Appointments屬性及其項目集合被用來檢索約會的功能。

23.6.2  Appointment對象

與約會相關的所有操作都是通過引用Appointment對象來實現。表23-5列出了Appointment對象的常用屬性。表23-6顯示了Appointment對象的常用方法。

23-5  Appointment對象的常用屬性

屬性

說明

AllDayEvent

指定是否是全天事件。如果指定爲True,約會不能指定爲會議

Body

約會所附帶的備註

Categories

分配給約會的類別

Duration

標識約會有效天數。返回值必須小於31

End

指定約會的結束時間

Location

指定約會地

ReminderSet

是否就該約會提醒用戶

Start

指定約會的開始時間

Subject

約會的主題

23-6  Appointment對象的常用方法

方法

說明

Cancel

取消會議約會請求

Copy

創建現有約會的副本

Delete

刪除約會

ShowDialog

使用本機 Appointment接口顯示約會

Update

將修改保存到約會

Send

向收件箱發出會議約會請求

23.6.3  檢索所有約會

Pocket PC應用程序裏通常不會檢索所有約會,典型的情況是檢索指定日期範圍內的約會信息。但從技術實現的角度而言,還是有必要介紹如何實現檢索所有約會的編程實現方法。與任務和聯繫人一樣,同樣可以使用多種方式來檢索約會數據:

· 檢索所有約會的集合;

· 檢索所有約會的子集;

· 檢索單個約會。

清單23-11演示瞭如何檢索所有約會。請注意,根據駐留在設備上的約會數量的不同,這可能會產生相當大的集合,因此在大數據量的情況下需要考慮應用程序的性能問題。

清單23-11  檢索所有約會

Imports InTheHand.WindowsMobile.PocketOutlook

……

Dim myOutlookSession As New OutlookSession

Dim myAppointments As PimItemCollection

 

Private Sub ContactDemo_Load(ByVal sender As System.Object, _

    ByVal e As System.EventArgs) Handles MyBase.Load

    ' 檢索所有約會

    myAppointments = myOutlookSession.Appointments.Items

End Sub

該示例的主要部分包括:

· Imports語句,該語句必須位於模塊的頂部。

· OutlookSession對象的聲明語句。

· PimItemCollection對象的聲明,該對象保存了任何Outlook項目的集合。在該示例中,它是約會集合。

· 將約會集合從OutlookSession對象的實例myOutlookSession加載到 PimItemCollection對象的實例myContacts中。

在這裏,集合myAppointments包含一組約會對象,分別對應於駐留在測試設備上的各個約會。就像任何集合一樣,可以對該集合進行循環處理來訪問各個約會以及查看特定的約會信息。

23.6.4  檢索指定日期的約會

雖然有些時候可能需要檢索所有聯繫人數據,但是更常見的情況是檢索指定日期的約會。清單23-12演示如何檢索指定日期的約會。在該示例中,首先演示檢索當日約會,其次演示檢索明日約會,最後演示如何檢索下週的約會

清單23-12  檢索指定日期的約會

Imports InTheHand.WindowsMobile.PocketOutlook

……

Dim myOutlookSession As New OutlookSession

Dim myAppointments As PimItemCollection

 

Private Sub btnSelect_Click(ByVal sender As System.Object, _

    ByVal e As System.EventArgs) Handles btnSelect.Click

    Dim strQuery As String

    Dim tmpDate As Date

 

    ' 檢索今天的約會

    strQuery = "[Start] = " & _

        ControlChars.Quote & Date.Today.ToShortDateString &

    ControlChars.Quote

    myAppointments = myOutlookSession.Appointments.Items.Restrict

                (strQuery)

 

    ' 檢索明天的約會

    tmpDate = Date.Today.AddDays(1)

    strQuery = "[Start] = " & _

        ControlChars.Quote & tmpDate.Date.ToShortDateString &

    ControlChars.Quote

    myAppointments = myOutlookSession.Appointments.Items.Restrict

    (strQuery)

 

    ' 檢索下週的約會

    tmpDate = Date.Today.AddDays(7)

    strQuery = "[Start] >= " & _

        ControlChars.Quote & Date.Today.ToShortDateString &

    ControlChars.Quote

    strQuery = strQuery & " AND [Start] < " & ControlChars.Quote & _

        tmpDate.Date.ToShortDateString & ControlChars.Quote

    myAppointments = myOutlookSession.Appointments.Items.Restrict

    (strQuery)

End Sub

大部分準備工作與檢索所有約會需要的準備工作完全相同。仍然需要Imports語句,並且聲明OutlookSessionPimItemCollection這兩個對象。

在清單23-12btnSelect_Click過程中,實現檢索匹配查詢條件的約會的功能。首先,構建了一個查詢字符串,該字符串分別限制只返回匹配查詢條件的約會。該查詢字符串隨後做爲參數傳遞給Restrict方法,檢索匹配查詢條件的約會。除了使用查詢字符串來篩選約會之外,還可以根據通過Appointment對象提供的屬性來篩選約會。

23.6.5  顯示約會

與顯示任務和聯繫人一樣,同樣能夠在Pocket PC應用程序界面上顯示本機的約會數據。其顯示效果也如同用戶進入Appointment應用程序,並選擇查看特定約會一樣。

該功能通過Appointment對象的ShowDialog方法實現。清單23-13演示了一個使用該技術的示例。

清單23-13  顯示約會

Imports InTheHand.WindowsMobile.PocketOutlook

……

Dim myOutlookSession As New OutlookSession

Dim myAppointments As PimItemCollection

 

Private Sub btnDisplay_Click(ByVal sender As System.Object, _

    ByVal e As System.EventArgs) Handles btnDisplay.Click

        Dim myAppointment As Appointment

 

        ' 顯示第一個約會

        myAppointment = myAppointments.Item(0)

        myAppointment.ShowDialog()

    End Sub

像前面的兩個約會操作示例一樣,需要在模塊中添加Imports語句以及OutlookSessionPimItemCollection這兩個變量的聲明。

在清單23-13btnDisplay_Click過程中,首先檢索得到所有約會的集合。從該約會集合中將單個約會(第一個約會)提取到Appointment對象變量中。然後通過Appointment對象的ShowDialog方法在圖23-7所示的界面裏顯示所選的約會。

23-7  顯示約會

23.6.6  增加約會

增加新約會的過程同樣包含3個步驟。首先創建一個新約會,其次配置新約會,最後保存新約會。清單23-14演示瞭如何增加新約會的過程。

清單23-14  增加約會

Imports InTheHand.WindowsMobile.PocketOutlook

……

Dim myOutlookSession As New OutlookSession

Dim myAppointments As PimItemCollection

 

Private Sub btnAdd_Click(ByVal sender As System.Object, _

    ByVal e As System.EventArgs) Handles btnAdd.Click

    Dim myAppointment As Appointment

 

    ' 創建一個新約會

    myAppointment = myOutlookSession.Appointments.Items.AddNew

 

    ' 配置約會

    With myAppointment

        .Body = "添加一個簡單的約會"

        .Categories = "demo"

        .End = DateAdd(DateInterval.Hour, 1, Now)

        .Location = "廣州天河體育館"

        .Start = Now

        .Subject = "演示約會"

 

        ' 最後,保存約會

        .Update()

    End With

End Sub

與前面的所有約會示例一樣,首先需要添加Imports語句,並聲明OutlookSessionPimItemCollection變量。

在清單23-14btnAdd_Click過程中,完成了增加新約會所包括的3個步驟。首先,在OutlookSession對象的Appointments屬性集合中增加一個新約會。其次,對新約會的屬性進行配置。最後,調用Appointment對象的Update方法來保存該約會。

23.6.7  修改約會

修改約會與添加約會類似,不同的是將現有約會加載Appointment對象。清單23-15演示了這一過程。

清單23-15  修改約會

Imports InTheHand.WindowsMobile.PocketOutlook

……

Dim myOutlookSession As New OutlookSession

Dim myAppointments As PimItemCollection

 

Private Sub btnModify_Click(ByVal sender As System.Object, _

    ByVal e As System.EventArgs) Handles btnModify.Click

    Dim myAppointment As Appointment

 

    ' 檢索所有約會

    myAppointments = myOutlookSession.Appointments.Items

 

    ' 修改第一個約會

    myAppointment = myAppointments.Item(0)

    With myAppointment

        .Body = "修改約會"

        .Update()

    End With

End Sub

與前面的所有約會示例一樣,首先添加Imports語句,並且聲明OutlookSessionPimItemCollection變量。在清單23-15btnModify_Click過程中,首先檢索得到所有約會集合,加載第一個約會到Appointment對象中,然後修改該Appointment對象的屬性,最後通過調用該Appointment對象的Update方法保存修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章