Windows Phone 7 - iCal Generator - C#
本文关键字:Generator iCal Windows Phone | 更新日期: 2023-09-27 18:03:25
我需要从设备获取的约会中生成iCal字符串。Windows Phone 7上是否支持任何库来从约会中生成iCal ?
我试过了。
我没有遇到过针对Windows Phone 7的特定库,但编写自己的类来生成iCal文件应该不会太难,毕竟iCal只是文本。RFC是一个相当密集的阅读,但使用一些在线参考资料,如本文,并查看一些示例iCal文件应该足以开始。以维基百科中的这个示例iCal文件为例,例如:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
因此请注意,您在其中开始和结束一个VCALENDAR,以及一个VEVENT,其中有一些必需的字段(如UID)。唯一需要注意的是,规范要求拆分长度超过75个字节的行,因此您可以使用这个堆栈溢出问题中的方法来处理长文本字段:
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个字符插入一个换行符/空格。
祝你好运,玩得开心!:)