From: Peter S. <ge...@ly...> - 2003-04-11 16:17:49
|
Hello I have one single question. Is there a way to edit the new "about box" in a database version 1.0.4. Many thanks Peter |
From: <Uwe...@t-...> - 2003-04-15 15:08:23
|
Hi, out there on CPAN there is the p5-Palm pakage to access the backup database files after sync and as a add-on to coldsync (IIRC). I'm on the way of implementing a helper class for this package that can be used just like the others (Memo, Address,...) to access the contents of Pilot-Db files. It is capable to read a database, acess and change the basic data types, write the data back to a new file and have this synchronized back to the palm. Fields/types not yet supported for using or changing are: Link,Linked,Calculated,Note. These are just (hopefully) copied back as they were read. Also it is not yet possible to change the AppInfo. (I.e.: Defaults, Database structure, etc.) It has been tested on Pilot-Db 1.0.3 so far. I would like some input on other versions of Pilot-Db and general comments as well ofcourse. Someone like to volunteer? For those familiar with the P5-Palm package I've got a direkt question: When writing back the data to a palm file, some of the Header bytes (PDB header, not AppInfo) get zeroed out. (Offsets into the file are 16-32 and 183-184) This does not seem to prevent reading them back to the palm device. Can anyone comment on that? See you, Uwe |
From: Emmanuel S. <se...@ac...> - 2003-04-15 15:36:55
|
On Tue, Apr 15, 2003 at 05:07:59PM +0200, Uwe Kloß wrote: > > I'm on the way of implementing a helper class for this > package that can be used just like the others (Memo, Address,...) > to access the contents of Pilot-Db files. Sounds very neat! > Also it is not yet possible to change the AppInfo. > (I.e.: Defaults, Database structure, etc.) Isn't possible to use PackAppInfoBlock() to create/modify an AppInfo block? > I would like some input on other versions of Pilot-Db > and general comments as well ofcourse. > Someone like to volunteer? Oh yes, oh yes, oh yes :-) > When writing back the data to a palm file, some of the Header > bytes (PDB header, not AppInfo) get zeroed out. > (Offsets into the file are 16-32 and 183-184) From what I've been able to deduce: Bytes 16-32 are the second half of the field "Name" . For a pilot-db file, this should contain the name of the database, the extra bytes being zeroed out. All the pilot-db databases I've ever handled have an AppInfo offset of 88 which means that the pdb header is 136 bytes long. I have no idea what bytes 182 and 183 contain. Emmanuel |
From: <Uwe...@t-...> - 2003-04-16 01:07:56
|
Emmanuel Seyman wrote: >>Also it is not yet possible to change the AppInfo. >>(I.e.: Defaults, Database structure, etc.) >> >> >Isn't possible to use PackAppInfoBlock() to create/modify >an AppInfo block? > Yes! As soon as I've added code who does so! ;-) Just started hacking today. But don't hold your breath! I've got an appointment at the movies tonight. ;-) >>I would like some input on other versions of Pilot-Db >>and general comments as well ofcourse. >>Someone like to volunteer? >> >> >Oh yes, oh yes, oh yes :-) > I was hoping for such an answer! ;-) As an attachment please find: 1. the module DB.pm and (put it in the directory Palm where PDB.pm is) 2. test-pdb.pl (example how to use it) and 3. Betriebskosten.PDB (example database needed by 2.) You also need Perl5 and the P5-Palm package. Try the latest release 1.3.0! I had some problems with earlier versions. >>When writing back the data to a palm file, some of the Header >>bytes (PDB header, not AppInfo) get zeroed out. >>(Offsets into the file are 16-32 and 183-184) >> >> >Bytes 16-32 are the second half of the field "Name" . For a >pilot-db file, this should contain the name of the database, the >extra bytes being zeroed out. > So no need to worry! :-) Thanks! But if it's specified they should be zeroed, then probably pilot-db should do some cleanup there also. The database I retrieved via hotsync from my Palm contained garbage in this place. >All the pilot-db databases I've ever handled have an AppInfo offset >of 88 which means that the pdb header is 136 bytes long. I have no idea >what bytes 182 and 183 contain. > Taking your hint on the offsets I looked at PDB.pm one more time and did a printout of file offsets. I have 2 (Pilot-Db) databases one has 58 and the other B8 (both hex) as AppInfo offset. They have different record numbers. So this might be due to something called record index. The second one is my test DB. (0xB8=184) I think that these two bytes might be the mysterious 2 NUL bytes just before the AppInfo block. The author of PDB.pm seems to have had some trouble when expecting/reading them. He made explicitely sure that they are ignored. So no need to worry either! :-) This is a happy day! :-) See you, Uwe |
From: Emmanuel S. <se...@ac...> - 2003-04-16 10:03:48
|
On Tue, Apr 15, 2003 at 08:03:59PM +0200, Uwe Kloß wrote: > > As an attachment please find: > 1. the module DB.pm and (put it in the directory Palm where PDB.pm is) > 2. test-pdb.pl (example how to use it) and > 3. Betriebskosten.PDB (example database needed by 2.) [seyman@munshine seyman]$ perl test-pdb.pl fields: 11 records: 13 Number of fields: 11 Field names: Datum,,,,,,,,,, Datum - Art 5.7.2002--- 9.7.2002--- 20.7.2002--- 15.8.2002--- 24.8.2002--- 25.8.2002--- 13.9.2002--- 14.9.2002--- 15.9.2002--- 16.9.2002--- 25.9.2002--- 7.10.2002--- 30.10.2002--- All tests are ok The field names output looks way off, IMHO. > I have 2 (Pilot-Db) databases one has 58 and the other B8 (both hex) as > AppInfo offset. They have different record numbers. So this might be due > to something called record index. The second one is my test DB. (0xB8=184) Looking into this, I realize that I've worked on pilot-db conversion scripts more than I've used pilot-db itself. :-) One thing I've noticed about the AppInfo blocks in my pdf files is that their offset is always a multiple of 4 (and often a multiple of 8). I'm guessing those 2 bytes are filers and that the correct thing to do is ignore them. Emmanuel |
From: <Uwe...@t-...> - 2003-04-16 11:14:30
|
Emmanuel Seyman wrote: >On Tue, Apr 15, 2003 at 08:03:59PM +0200, Uwe Klo=DF wrote: > =20 > >[seyman@munshine seyman]$ perl test-pdb.pl >fields: 11 >records: 13 >Number of fields: 11 >Field names: Datum,,,,,,,,,, > >Datum - Art >5.7.2002--- >9.7.2002--- >20.7.2002--- >15.8.2002--- >24.8.2002--- >25.8.2002--- >13.9.2002--- >14.9.2002--- >15.9.2002--- >16.9.2002--- >25.9.2002--- >7.10.2002--- >30.10.2002--- >All tests are ok > >The field names output looks way off, IMHO. > Whoops, I tried it on Win98 with Active-Perl and got the same results. On Linux/Perl 5.8.0 it works ok! I guess you ran it on Windows? Or on Perl 5.6.1 ? There seems to be a difference between perl versions. I think I'll have to dig into this a little bit more. I'll probably try to get some pointers in one of the perl related=20 newsgroups. See you, Uwe |
From: <Uwe...@t-...> - 2003-04-20 20:32:12
|
Hi there, after some more cleanup there's a new version of the Pilot-DB add-on to the P5-Palm package. You can download it from: http://home.t-online.de/home/Uwe.Kloss/DB.pm Available from the same place is a PerlTk database viewer. http://home.t-online.de/home/Uwe.Kloss/PilotDBViewer.pl Any reports on bugs (or no bugs ;-) are welcome. Especially for other versions of Perl and Pilot-DB. It is tested on Perl 5.8.0, P5-Palm 1.3.0 and with Pilot-DB 1.0.3. As the add-on as well as the viewer are file oriented, support for field types that access multiple databases is limited/not implemented. Nevertheless if you don't mess around with the contents of those fields and just write them back to a file this schould work. Please consider both als alpha quality code and work in progress. Don't forget to make backup copies of your precious data before overwriting them. See you, Uwe |
From: <Uwe...@t-...> - 2003-04-22 10:38:19
|
Emmanuel Seyman wrote: >Just one minor nitpick: > >You don't need to put the DB.pm file in the same directory as the p5-Palm files >but in a $inc/Palm directory (where $inc is any entry in @INC). If you're not >root on the machine you're using, you can simply put it in ./Palm and run your >script. > Good point! I'll update the docs. Thanks! As I'm on that subject (docs). To the developers (Mark,Scott,...): In the "format.txt" file it says, "char*" where strings are part of the fields. In fact this is "char[ ] (NUL-terminated)". My first attempt to coding decoding (before using a hex editor) was to really expect some kind of pointer there. After wondering what a pointer might be in a file and using a hex editor it soon became clear that "char *" is most probably the structure in memory. See you, Uwe |
From: <Uwe...@t-...> - 2003-06-06 14:49:58
|
Hi all, may be th=EDs has been asked before? Would it be too much hassle for the developers to provide cached values for the link,linked and calculated fields in the chunk field data? May be even together with a return type indicator like with the=20 calculated field? The problem I'm facing is that there is no chance to determine the conten= ts of those fields, once the database has been transferred to the desktop. The chooser record id is of no use in determining the database as a file as "DBDatabases.PDB" is usally not available and probably not an official (stable) API information. Greetings, Uwe |
From: <Uwe...@t-...> - 2003-06-06 17:23:53
|
Uwe Klo=DF wrote: > Hi all,=20 > Would it be too much hassle for the developers to provide cached values= > for the link,linked and calculated fields in the chunk field data? > > May be even together with a return type indicator like with the=20 > calculated field? > > The problem I'm facing is that there is no chance to determine the=20 > contents > of those fields, once the database has been transferred to the desktop.= > > The chooser record id is of no use in determining the database as a fil= e > as "DBDatabases.PDB" is usally not available and probably not an > official (stable) API information. Whoops, beeing fooled again! :-( Is there an updated format.txt somewhere? Greetings, Uwe |
From: <Uwe...@t-...> - 2003-06-08 12:58:06
|
Hi there, there is a new release of the pilot-db database viewer and library module. You may retrieve them via the Web page: http://home.t-online.de/home/uwe.kloss/pilot.htm Or directly as: http://home.t-online.de/home/uwe.kloss/DB.pm and http://home.t-online.de/home/uwe.kloss/PilotDBViewer.pl New in this release: - added limited calculated field support (as far as I could guess from hexdumps) - catalog/chooser support If you switch on the backup flag of "DBDatabases.PDB" on your Palm device, it will be put together with the databases into your hotsync/backup directory. If you specify this directory with the -d option, you can choose your database from a drop-down list via the databases menu. See you, Uwe |