[Address.dat/Address.aba]
[Datebook.dat/Datebook.dba]
[Memopad.dat/Memopad.mpa]
[Todo.dat/Todo.tda]
[Users.dat]
[Not So FAQ's]
[Home]
The various .dat files with their corresponding archive (.aba, .tda, .dba, and .mpa) as well as backup (.bak) files all have the exact same internal file structure.
Sample demo programs can be found here...
Important Sources of more information on the Palm Desktop file formats
User Supplied Comments
Beyond this, however, I wanted an easier way to have full control over the native databases on the Palm without a lot of programming. Perhaps you are aware of the P5-Palm Perl modules available at http://www.coldsync.org/#p5-Palm . These modules make it very easy to read, manipulate, and restore any database on the Palm. The biggest drawback is that they do not work with the native databases, eg. ToDo, MemoPad, etc. This is because these databases are not backed up on the PC with HotSync. I have found a way around this however!
At the following site: http://stud.fh-heilbronn.de/~christ/pilot-xfer/ I have found a utility that allows you to back up and restore -any- Palm database. Now I can simply transfer the ToDo database by running the following DOS command on my PC:
pilot-xfer COM2 -f ToDoDB(Since I use COM2 for my HotSync cable.) After transferring the database to the PC, I can run a simple Perl program such as the following:
use Palm::PDB; use Palm::ToDo; use Data::Dump qw(dump); $pdb = new Palm::PDB; $pdb->Load("ToDoDB.pdb"); print dump($pdb);This prints out the contents of the ToDo database as a Perl hashref. It is fairly simple to write more code to manipulate the contents of the database and then save it. Then I can restore the database to my Palm by running:
pilot-xfer COM2 -i ToDoDB.pdbUsing this method, knowledge of the internal workings of the database, while interesting and helpful, are unnecessary. I include this information for your own benefit, but also I hope that you will make reference to it on your web site, since your site was one of the most helpful places I found on my way to find this information. Perhaps others who seek the same information I did will find it on your page and come to the answer faster than I did.
Thanks again, Ed Bockelman
The schema mechanism uses field types to identify the data. The meanings of the field types are in the table below.
Number | Meaning |
---|---|
0 | None |
1 | Integer |
2 | Float |
3 | Date |
4 | Alpha |
5 | Cstring |
6 | Boolean |
7 | Bitflag |
8 | RepeatEvent |
Last updated: July 24, 2003