wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Windows Phone 7 – iCal Generator – C#大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我需要从从设备获取的约会生成iCal字符串. Windows Phone 7是否支持从约会生成iCal的库? 我尝试过DDay.iCal,但它不适用于Windows Phone 7. 我没有找到特定于Windows Phone 7的库,但编写自己的类来生成iCal文件应该不会太难,因为毕竟iCal只是文本. The RFC is quite a dense read,但使用一些在线参考文献 lik
我需要从从设备获取的约会生成iCal字符串. Windows Phone 7是否支持从约会生成iCal的库?

我尝试过DDay.iCal,但它不适用于Windows Phone 7.

解决方法

我没有找到特定于Windows Phone 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: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

所以请注意你BEGIN和END一个VCALENDAR,以及其中的一个VEVENT,它有一些必需的字段(比如UID).唯一需要注意的是规范要求分解超过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个字符插入一个换行符/空格.

祝你好运,玩得开心!

大佬总结

以上是大佬教程为你收集整理的Windows Phone 7 – iCal Generator – C#全部内容,希望文章能够帮你解决Windows Phone 7 – iCal Generator – C#所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: