Address Book

Address Book Records

Most of the data in an Address Book Record object corresponds to the nineteen user editable fields. In order of their appearance on the handheld (from top to bottom), these fields are called lastname, firstname, title, company, phone1, phone2, phone3, phone4, phone5, address, city, state, zip, country, custom1, custom2, custom3, and custom4. There is also a field called note which holds the note attached to the record, if any. All of these fields are ordinary strings.

Information about the user's selection of phone labels is found in the phoneLabels field, which is a list of five small integers. Each one corresponds to one of the phone1-phone5 fields, and gives the index of that field's name in the list of possible phone field names. (The list of names is found in the Address Book AppBlock object.) Finally, the showPhone field is a small integer which specifies which phone field (0-4, not 1-5) appears in the index.

Address Book AppBlock

The Address Book supports categories, so its AppBlock objects have the standard category related fields mentioned earlier. In addition, the Address Book's AppBlock objects have the following fields:

labels (list [22 strings])

This list contains the labels for each field. There are 22 instead of 19, because the label list does not map one-to-one with what is displayed. The "Title" field is out of order (after "Country", instead of after "Company" as it appears on the handheld screen), and instead of "phone1" through "phone5", the five phone field labels are instead listed as "Work", "Home", "Fax", "Other", and "E-Mail". The additional three possible phone labels ("Main", "Pager", and "Mobile") take up the last three slots in the list.

Note: The results of renaming any field other than the four custom fields have not been tested.

labelRenamed (list [22 booleans])

Each entry in this list corresponds to an entry in the labels list, and is true if the label has been renamed from the default.

phoneLabels (list [8 strings])

Although the phone labels are actually stored in the labels field, it is more convenient for them all to be together. All eight of them are copied into this field when the AppBlock is read from the database, so that the proper ones can be looked up quickly. The index of labels in this list correspond to the small integers used to specify them in the phoneLabels field of each record.

sortByCompany (boolean)

True if the user has opted to sort the Address Book by company, instead of by name.

country (integer)

Specifies the country of origin of the database. (I'm not really sure what this field is for, or what values are significant.)