2011-07-26 3 views
5

장치에서 가져온 약속에서 iCal 문자열을 생성해야합니다. 약속에서 iCal을 생성하기 위해 Windows Phone 7에서 지원되는 라이브러리가 있습니까?Windows Phone 7 - iCal Generator - C#

나는 DDay.iCal을 시도하지만, 윈도우 폰 작동하지 않습니다 7.

답변

3

가 내가 건너 한 윈도우 폰 7의 라이브러리의 특정이 아니지만, 쓰기에 너무 어려운해서는 안됩니다 당신의 결국 iCal은 텍스트 일 ​​뿐이므로 iCal 파일을 생성하기 위해 자체 클래스를 작성해야합니다. The RFC is quite a dense read이지만 일부 온라인 참조 like this one을 사용하고 일부 예제를 보면 iCal 파일로 시작해야합니다. 예를 들어, 위키 피 디아에서이 예제의 iCal 파일을 가지고 :

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//hacksw/handcal//NONSGML v1.0//EN 
BEGIN:VEVENT 
UID:[email protected] 
DTSTAMP:19970714T170000Z 
ORGANIZER;CN=John Doe:MAILTO:[email protected] 
DTSTART:19970714T170000Z 
DTEND:19970715T035959Z 
SUMMARY:Bastille Day Party 
END:VEVENT 
END:VCALENDAR 

그래서 시작하고 VCALENDAR을 종료하고, (UID를 같은) 일부 필수 필드가 그 안에 VEVENT주의. 주의해야 할 유일한 것은 사양이 깨진 될 75 옥텟보다 긴 라인이 필요하다는 것이다, 그래서 당신은 긴 텍스트 필드에 this stack overflow question에서이 방법을 사용할 수 있습니다

Private Function RFC2445TextField(ByVal LongText As String) As String 

    LongText = LongText.Replace("\", "\\") 
    LongText = LongText.Replace(";", "\;") 
    LongText = LongText.Replace(",", "\,") 


    Dim sBuilder As New StringBuilder 
    Dim charArray() As Char = LongText.ToCharArray 

    For i = 1 To charArray.Length 
     sBuilder.Append(charArray(i - 1)) 
     If i Mod 74 = 0 Then sBuilder.Append(vbCrLf & " ") 
    Next 

    Return sBuilder.ToString 

End Function 

기능 기본적으로 필요한 모든 기약 이스케이프 문자, 74 자마다 라인 피드/공백을 삽입합니다.

행운을 빈다, 재미있게 보내라! :)