需要Palm Desktop datebook.dat文件格式

时间:2009-01-07 06:56:20

标签: palm

我正在寻找Palm Desktop的“datebook.dat”文件的文件格式的文档,适用于Palm Desktop> = 4.1的版本。

请注意,http://www.notsofaqs.com/datebook_dat.php会记录< 4.1 datebook格式的一部分,但我正在寻找当前版本的Palm Desktop使用的当前“日历”格式。

存在PerlPHP脚本试图对部分格式进行反向工程,但完整的规范最有帮助。

我在Palm Developer网站上找不到任何东西。

我唯一的其他线索是

  1. 文件的前四个字节是“0xCAFEBABE”,就像Java类文件和Mach-O文件一样(?!)
  2. 用户组中的一篇论坛帖子提到Palm正在使用某种“MS序列化”技术,并链接到Palm Developer Network早期版本的已解散帖子
  3. 任何帮助将不胜感激!例如,如果有人知道使用“0xCAFEBABE”幻数的Microsoft格式序列化格式,这可能有助于我的调查。

6 个答案:

答案 0 :(得分:2)

Palm Desktop 6(“ACCESS的Palm桌面”)以MS Access格式存储文件。 Palm Desktop的早期版本(例如4.x和更早版本)以专有格式存储文件,正如其他人所提到的那样。如果您使用Palm Desktop以Datebook Archive格式保存日历(而不是日历存档格式,这会令人困惑地使用DBA扩展名),它将采用完全记录的格式:http://www.notsofaqs.com/palmrecs.php。< / p>

我知道这些文档是完整的,因为我用它们来编写Palm2CSV,一个Palm到CSV / iCal转换器,可以同时使用Palm 4和Palm 6文件。 (它首先通过MDBTools运行Palm 6文件,然后解析CSV输出来处理Palm 6文件。)

答案 1 :(得分:0)

我不想挫败你,但这几乎是不可能的。我有一个手掌5年,花了几个小时和几个小时将手掌与任何开放平台同步。

它仍然无法正常工作。唯一可行的解​​决方案是与Outlook同步。

没有关于Palm文件格式的官方文档。在我看来,他们对开放式delevopment不感兴趣,Palm Inc.的问题比他们的文件格式更重要。

我放弃了。很遗憾,但没有选择。

答案 2 :(得分:0)

格式IIRC是Microsoft基础类(MFC)使用的序列化格式。它高度依赖于保存到光盘的C ++对象的实际实现。由于MFC源代码随Visual Studio一起提供,因此您可以查看它以找出正在发生的事情。

但是,随着4.1桌面应用程序的更新,二进制格式确实发生了变化,以处理添加的新字段。我不知道这些更改,或者代码是否使用了与原始桌面相同的方法。

答案 3 :(得分:0)

另一个值得关注的地方是jpilot项目。它是一个Linux PIM,它创建了掌上数据库,然后可以直接与掌上同步。

答案 4 :(得分:0)

看看here,perl上有一位非常好的读者可以看到格式。

答案 5 :(得分:0)

只是在寻找同样的事情,偶然发现了这个讨论。到目前为止,我发现的最好的是dbapipe,它可以读取和写入dba文件(使用自己的文本格式作为中间表示)。该程序处理4.1.4及更早版本的格式。当然,这不构成文档,但工作程序是一个良好的开端。该程序是用C语言编写的,下载包括Windows的预编译版本。

编辑:

请注意,如果dbapipe遇到带有位置的日历条目,则会失败。

我找到的另一个资源是Palm日记本操作模块,它是Gabbie natural language command system的一部分。它的palm.c file有一些文档。

很遗憾Palm没有为他们的文件格式提供官方文档。我想知道这部分是否是关于kludgey设计的尴尬。