Email:   
Home
In This Issue
EasyPrint
Click here for the RSS feed's XML code. This is not a browser URL.
HANDHELD CONNECTIONS
How to generate Doc files for handheld devices from Notes
By Mark Lawson

If you've ever used a Palm Computing device, you're probably familiar with Doc files. Files saved in this format can be easily downloaded and viewed on your Palm device using one of many popular Doc viewer applications. Users of Windows CE devices can also view Doc files using the DOCview application.

This article shows you how to easily create uncompressed Doc e-text databases using just LotusScript. For many users this well-supported format, derived from the original program by Rick Bram, is their first choice for storing reference information, articles and even whole books on the Palm device. Once installed, Doc databases can be read by a variety of programs such as AportisDoc or TealDoc and can include formatting, bookmarks and even pictures depending on the chosen reader. Now there is even an editor called QED. A word of warning however, Palm devices have small amount of memory (1-4Mb) and little 160x160 screens; you may have to be inventive.

Doc database structure
A Doc database is actually a format-within-a-format, wrapped up inside a standard Palm device PDBPDB database. To keep this article short we've omitted a detailed account of the PDBPDB and Doc header fields but we've included a more detailed description in the accompanying example. After the PDB header and the offset list (easy in this case as the records are all defined lengths) the first record in the database is the Doc header. This simply holds the version; 1 for uncompressed in our case, and the number of 4096-byte records which then follow in successive records.

A simplified view of the Doc-PDB format as shown in Table A. An interesting feature to note is the 2-byte padding. Although not actually part of the format, the 2-byte pad is necessary for the file to install properly.

Pdb Section Bytes
Pdb Title 32
Pdb Header 48
Record Offset 1 8
Record Offset 2 8
Record Offset N 8
Padding 2
Record 1 Doc Header 16
Record 2 Doc Data 1 4096
Record N Doc Data N-1 4096

LotusScript and Palm device idiosyncrasies
There are a couple of hurdles to overcome before writing the file:

  • The DragonBall processor in any Palm unit expects data to be presented in a byte-swapped (MSB) format, so on Intel PC's you need to do a reversal (e.g. B2-EB-77-F4 is reversed to become F4-77-EB-B2). I've written Back4() and Back2() to handle this for 4 and 2 byte values using the simple Hex$() and CLng() functions rather than binary math. If you own a Mac, you'll have to change the code for Back4() and Back2() in the script library since the Mac's processors (also Motorola devices like in the Palm device) don't need the reversal.





[ Next ]

ZATZ Home  ·  News  ·  Back Issues  ·  Credits/Trademarks ·  Link To Us
-- Advertisement --

AUTOMATE LOTUS NOTES USER ID MANAGEMENT
ID Manager 4.5 from HELP Software provides a new level of automaton for managing Lotus Notes IDs. ID Manager lets Lotus Notes administrators get out of the business of creating and managing user IDs. Use our ROI calculator to see how quickly ID Manager will pay for itself.

Learn more about HELP Software products
-- Advertisement --

The Ultimate Notes Domino Training Experience - Amsterdam, 11-13 November
Get in-depth technical training that you can put to use on the job right away at THE VIEW's Admin2008 and Lotus Developer2008 Europe! One registration gets you into your choice of over 70 new and updated expert know-how sessions, one-on-one consultations, hands-on labs, and more.

See complete agendas and register by 10 October to save 495 euros!
Copyright © 1998-2008, ZATZ Publishing. All rights reserved worldwide.
Editor's Login