List DocumentationIntroductionList is freeware, source is included. It has been over a year in the making. When I started working on this the ASDK had just been released, so the original list code was started in assembly. When GCC seemed to have hit a point of stability I moved over to using C -- its not better than assembly, just different.What does list do? Its a simple database. Modeled after the address book, it should be intuitive to use, its supposed to look just like every other pilot application. If you just want to use list on your Pilot you can stop reading here, go use it. If there is something non-intuitive, email me and I'll address the problem.
The Pilot Application - list.prcList works on both:PalmOS 1.0 (the original) -- Pilot 1000, Pilot 5000 PalmOS 2.0 -- PalmPilot Personal, PalmPilot Professional While not tested, I'm certain the PalmIII will also work fine.
![]() This screen is used to create a List database. You are required to fill in the database name, field 1 and field 2 names. The display order is configurable. The first two checkboxes are per database: Write Protect is used to prevent accidental editing; Backup next Hot-Sync is the backup bit status of this database. The last two checkboxes are global flags for all List databases: Automate backup gives the List program control over the backup bit toggling, if you edit the database it is marked as needing a backup; Select database on launch changes the startup behaviour of list, List either opens the last database you were using, or presents a list of available databases (provided there is more than one) for you to select. If you get stuck tapping the (i) will get you some help text. Hint: I reverse the display order (field2,field1) for my book database. The view mode always shows field1 in larger text at the top, and feild2 in smaller text below. Having the book title in a larger font in the view mode looks cooler, and sorting by author makes more sense to me.
![]() The edit screen has our two custom fields: Title and Author, and a note field. There is also a pop-down category selection in the upper right corner. Seems very similar to the address book? Yes and no, the user interface was designed to look and feel just like one of the built in applications -- the code is original work, this is not a hacked up version of the address list.
![]() The [New] button begins editing a new entry. Selecting an entry from the list goes to view mode. The [Find] button starts a local find, it differs from a system find (the silk find button) in that it only searches the current List database. List will participate in system finds. The funny looking icon on the botton of the screen appears when there is more than one List database. If you select this button (icon) you will be taken to the database selection screen.
![]() As was mentioned before, the display order of this database is field2,field1 so that the author name is the sort key but the view mode shows the title in a larger font. This is strictly a personal preference. If the database is not marked with the Write-Protect (see the customization screen), then a pen tap anywhere on the view screen will enter edit mode. Alternatively you can use the [Edit] button. This is the same behaviour as the address list built-in application.
The PC Application - listdb.exeA Dos based application used to convert from .csv files to .pdb files. This is not a conduit, just a simple way to get data between Pilot and PC. The list pilot application marks the list databases with the backup bit such that when you hot-sync the list databases are copied down to your "Backup" directory.
CSV File FormatThe syntax of the .csv file is specified over two parts, the first line, and the content. The first line must contain:title,field1,field2,category1,category2,...,categoryN
where
books,author,title,non-fiction,fiction The second and all other lines in the file have the following format. Note that the categories entry in the content must correspond to one provided in the first line.
categoryX,field1,field2,Note
where
Example: Note, that Lists will sort according to the first name in this instance. If you wish to place the last name first and use a comma between them -- "Gibson, William" -- you must escape the comma with a "\" that precedes the comma.
Example: This causes the "\," sequence to be impossible to insert into a list database -- such is life. The note field converts commas into CR's, so if you wanted a multi-line note field you would insert commas where you would like CR's.
Example:
Sample Input FileCut between the ===cut=== marks and paste into a new text file, this simple example should help you get going.
===cut===
Running listdb.exeIf you run listdb.exe with no arguments you will get a usage printout. There are two modes of use: creation, extraction. If you want to convert a .csv file into a .pdb file the command is:listdb -c test.pdb test.csv If you want to extract a .pdb file into a .csv file the command is: listdb -x test.pdb test.csv Hint: If you're having trouble with the .csv format, try taking a database from the pilot Backup directory and extracting the .csv file from the .pdb. This will give you a template to work from.
Notes:Freeware: List is freeware, it may be distributed freely, but not sold or included in for-profit collections without written permission from the author. This page is the List home page, and will always have the most recent information.Bugs: I'm not aware of any crash bugs, and will do my best to fix fatal errors like that ASAP. Anything that is simply nit-picky may fall to the bottom of the priority list very quickly. List is distributed with full source, and I encourage people to help me out by finding the actual bug in the code and sending me the fix. I'll happily apply any reasonable fix to the source, and credit you with the work done. Backup: I was required to upgrade to HotSync 1.1 since I had more than 32 databases installed on my Pilot and HotSync 1.0 only checks the first 32 during a HotSync. I got my copy from: http://www.3com.com/palm/custsupp/upgrade.html
Credits:I'd like to mention a few people without whom this would not have been possible.
|