═══ 1. About Hazel ═══ Hazel Hazel is a 32-bit, OS/2 2.1 multithreaded address book with dialing and printing capabilities. Features include the ability to maintain multiple address books, import and export comma-delimited files, print envelopes, and print Day-Timers(R) format booklets. A background dialer is also available which can continuously redial a busy number while allowing access to other address book features. All printing is done in the background and multiple print sessions may be in progress at once. All address book functions continue to be available during printing. Changes to the current address book, to user preferences, etc. do not affect an in-progress print session. I chose to support Day-Timers address books because I personally use Day-Timers products (and am very satisfied with them). The required paper (which comes with address book covers) is available from Day-Timers, Inc. at @ 1-215-395-5884. Hazel currently supports styles B and C laser Junior and Senior pocket sizes. Catalog numbers are 10258 (B, Junior) and 10259 (C, Senior). You can also use normal letter-size paper and then cut and staple. Since the address books are generated double-sided, they are very compact. Registration Hazel is a Shareware product and is fully functional; it isn't intended to be free software. The only reminder you receive that your copy isn't registered is a dialog box when Hazel starts up. I haven't resorted to expiration dates or to deleting features because I'm trusting people who decide to use Hazel to register their copy. Your registration allows the author to continue updating this product and to develop other affordably-priced Shareware products. Registered users will receive a personalized, registered version on floppy disk and will be notified of updates and new products in a timely manner. Registered users may upgrade to future versions with the same major revision number (e.g. 1.0, 1.1, ..., 1.x) for free by downloading the new version and registering it with the registration program supplied on the registration disk. When the major revision number changes (1.x to 2.x, for example), a small fee will be charged for upgrade and a new diskette will be supplied. Registered users will be given top priority for fixes to reported bugs and enhancement work. The file REGISTER.DOC (distributed with Hazel) provides a convenient way to register. You're encouraged to distribute the unmodified Shareware Hazel zip file. PLEASE DO NOT change the name of the ZIP file when you distribute it! Distribute the original file; do not re-ZIP it yourself. I will use the ZIP filename in the future to distinguish between versions. If you decide to use Hazel, register your copy by sending your check or money order, drawn on a U.S. bank, for $29 per copy (including shipping; residents of Ohio please include appropriate sales tax ) with a completed REGISTER.DOC form to: Golden G. Richard III 2641 Sandbury Blvd. Columbus, OH 43235 Registration entitles a single user to make copies as appropriate for use on machines owned or operated by that user. At most one of the copies may be operational at a given time under the Hazel license agreement. Corporations and organizations MUST register a copy of Hazel for each individual who will use it. Site licenses are negotiable. You are encouraged to distribute the unmodified HAZEL.ZIP file containing the shareware version of Hazel, but Hazel may not be sold for profit. Registered copies must NOT be distributed to persons other the person to whom the copy is registered. Permission is granted for Hazel to be distributed in Shareware collections, provided notice is given that the collection is *Shareware* and that registration obligations apply. Your comments are very important. The idea behind Hazel was (and is) to create a relatively lean program that provides the set of features its users need. What I'm trying to avoid is software bloat; the world doesn't need another multi-megabyte cow that attempts to do everything. Let me hear from you! When reporting bugs or "mis-features", please be very specific. Include complete system information and describe the exact circumstances under which the problem occurred. A Hazel data file (and the index file) on disk might help me solve the problem more quickly. Please direct all correspondence to the email address grichard@cis.ohio-state.edu or to the postal address above. Notes Installing and using Hazel is simple; create a directory for Hazel and unzip the contents in the directory (if you're reading this, you've gotten this far!). To invoke Hazel without specifying an address book, type HAZEL and press Enter. An address book can be specified on the command line by typing HAZEL somename.HAZ and pressing Enter. Address book files must end with the extension ".HAZ". Hazel uses the file "HAZEL.INI" in the current directory to store user preferences. If you decide to use Hazel on a regular basis, create a program object for HAZEL.EXE and set the Working Directory to the directory containing HAZEL.EXE and the Parameters field to the name of the address book you usually open. The file "HAZEL.HLP" (containing the on-line help for Hazel) should be placed in the same directory as "HAZEL.EXE". Hazel associates an index file with the same primary filename but with the extension ".HAI" with each address book file. The index file allows very fast access to address book entries during normal execution. When you close an address book or exit Hazel, the index file is modified. This can take a minute or so if you have a very large number of address book entries. If the index file should be destroyed (through accidental deletion, rebooting without Closing the current address book, or for whatever reason), Hazel will automatically rebuild it when you open the address book again. When you perform backups, it isn't necessary to save the .HAI file (since Hazel can rebuild it) as long as you delete the the corresponding .HAI file when you restore an address book file from floppy, tape, or whatever. Hazel is really intended to be left running; changes to an open address book are flushed to disk and will not be lost in the case of a power failure, etc. Nevertheless, you should always exit Hazel properly before rebooting, etc. to avoid the time penalty for rebuilding the index file when you next open the address book file. Upcoming features include: Multiple return addresses for envelopes Anniversary tracking Support for printing laser labels More sophisticated Day-Timers(R) printing Better cross-referencing in online help User Preferences dialog will probably become a notebook if the number of settings increases again Only B and C laser Day-Timers(R) booklets are currently supported. See the Print Address Book help section for information on how to order paper. These are the most common pocket types; if there is interest, additional formats can be supported. Send me your ideas. Obligatory Disclaimer The author can in no way be responsible for any damage or loss whatsoever caused by the use (or misuse) of Hazel. While reasonable precautions have been taken to ensure that Hazel performs as specified, the user assumes responsibility for any damage or loss caused directly or indirectly by use of this software. Day-Timers is a registered trademark of Day-Timers, Inc. OS/2 is a registered trademark of IBM. ═══ 2. File Menu ═══ The File menu contains commands to create, open, and close address books as well as to print envelopes, Day-Timers(R) format address booklets, and import/export data. The following commands appear in the File menu: Open Address Book Opens an existing address book or creates a new one Close Current Closes the current address book Print Address Book Prints a Day-Timers(R) format address booklet Print Envelopes Prints envelopes for selected entries Import Imports entries from a comma-delimited data file into the current address book Export Exports entries from the current address book to a comma-delimited data file Exit Terminates execution of Hazel ═══ 3. Open Address Book ═══ The Open Address Book command is used to open an existing address book or create a new one. If an address book is already open, you must execute the Close Current command before executing Open Address Book. An address book may be opened immediately upon execution of Hazel by specifying its name on the command line; for example, executing the command hazel test.haz automatically opens the address book "test.haz". The name of the current address book is displayed in the title bar of the main Hazel window. *None* means that no address book is currently open. ═══ 4. Close Current ═══ The Close Current command closes the current address book. Select Open Address Book to open a different address book or use Exit Hazel to terminate execution of Hazel. Note that when no address book is open, many commands (such as those for printing, importing/exporting data, etc.) are unavailable. Exiting Hazel via the Exit Hazel option or by double clicking on the small Hazel system menu icon causes a Close Current to be automatically executed. When an address book is closed, the corresponding index file (used to speed searches, etc. during normal operation) is modified; this can take a minute or so if you have a large number of entries (on the order of thousands). If Hazel is terminated improperly (if your machine reboots because of a power failure, for example), the currently open address book will not be closed properly, causing the index file to be lost. It will be automatically recreated the next time you open the address book, and no data will be lost. To save startup time, however, you should always try to exit Hazel properly via the Exit Hazel option or by double clicking on the system menu icon. ═══ 5. Print Address Book ═══ The Print Address Book command prints a Day-Timers(R) format address booklet. Various page sizes are available. Hazel currently supports style B and C laser Junior and Senior pocket sizes. The appropriate paper may be ordered directly from Day-Timers(R) @ 1-215-395-5884. Catalog numbers are 10258 (B, Junior) and 10259 (C, Senior). Address books containing either all tagged entries or only the current entry may be printed. The latter is included for orthogonality with other printing functions. A dialog allows you to select the Day-Timers form which is loaded in your printer. The Day-Timers booklets are double-sided. Hazel displays a dialog box when it has finished spooling the first side to the printer. When printing completes, remove the paper from the printer, reverse it, then place it back in the printer. Click "OK" on the dialog box to print the second side. Currently the Job Properties dialog for the default printer is displayed whenever an address book is printed, to allow you to select an appropriate font and form. A font on the order of 17 characters per inch is recommended for B Junior forms; 12 characters per inch is appropriate for C Senior forms. If you have very long names in your address book, smaller fonts sizes may be necessary. You may want to experiment with normal paper to determine which fonts you want to use, etc. before using your Day-Timers forms. Hazel uses the default printer for printing. To change the default printer, right click on one of your printer objects and choose Set Default. You must dismiss the Search dialog before initiating a printing session. After printing has begun, Search will again be available. ═══ 6. Print Envelopes ═══ The Print Envelopes command formats and prints #10 envelopes using the return address specified under User Preferences (under the Edit menu). The position of the addresses can be adjusted via settings under User Preferences. Envelopes may be printed for all tagged entries or for the current entry. If you choose to print envelopes for all tagged entries, the current position in the address book is changed. The address for each envelope is formatted as follows: Firstname Lastname Company Address line # 1 Address line # 2 City, State Zip Any lines that are completely blank are not printed (for example, if the company field is blank, no company line is printed; if the second line of the address is blank, that line isn't printed, etc.) The Print Envelopes facility is multithreaded; not only are other address book functions available during printing, but multiple Print Envelope invocations may be in progress at once. Changes to the User Preferences (in particular, the return address) and to the entries in the current address book will not affect an in-progress Print Envelopes invocation. Note that there is a small delay when a Print Envelopes job first begins; Hazel is saving data for the envelopes so that subsequent changes to the address book do not affect the addresses for the envelopes being printed. Other Hazel options are available after this delay. Hazel uses the default printer for printing. To change the default printer, right click on one of your printer objects and choose Set Default. Currently the Job Properties dialog for the default printer is displayed whenever envelopes are printed to allow you to select an appropriate font and form. Select the "10" form for your printer unless you have adjusted the offsets under User Preferences to accomodate another size. You must dismiss the Search dialog before initiating a printing session. After printing has begun, Search will again be available. ═══ 7. Import ═══ The Import command imports address book entries from a comma-delimited data file. The data file must be formatted as one entry per line (each line terminated by a carriage return) with fields enclosed in quotes and separated by commas. The fields on each line should appear in the following order: o First name o Last name o Company o Address line # 1 o Address line # 2 o City o State o Zip o Phone # 1 o Phone # 2 o Email address o Birthday and/or other dates o Optional field # 1 o ... o Optional field # n All the optional fields are entered into the Comment field for the entry, one per line. The maximum length of a non-optional field is 50 characters. The combined size of all optional fields must not exceed 1024 characters. You must dismiss the Search dialog before importing data. ═══ 8. Export ═══ The Export command exports address book entries to a comma-delimited data file. Either the current entry or all tagged entries may be exported. The data file which is created contains one entry per line, with each field enclosed in quotes and separated by a comma. Double quotes and commas within exported fields are deleted. Fields within an entry are ordered as follows: o First name o Last name o Company o Address line # 1 o Address line # 2 o City o State o Zip o Phone # 1 o Phone # 2 o Email address o Birthday and/or other dates o Comment line # 1 o ... o Comment line # n You must dismiss the Search dialog before exporting data. ═══ 9. Exit Hazel ═══ The Exit Hazel command closes the current address book and terminates execution of Hazel. ═══ Help for Open ═══ ═══ Help for Open ═══ 1. Select the down arrow to the right of the Drive list to display all the drives on your system. 2. Select a drive from the Drive list. 3. Select a directory from the Directory list. 4. Select a file name from the File list or type in a file name and select the Open Address Book pushbutton to select an address book. The last four characters of the address book file must be ".HAZ". For specific help, select a topic below. ═══ List of Fields ═══ File name Type of file Drive File Directory Open Address Book pushbutton ═══ Help for File name ═══ ═══ Help for File name ═══ Type the name of the address book file you want to open or create in the File name field and select the Open Address Book pushbutton. For more help, select a topic below. ═══ List of Fields ═══ File name Type of file Drive File Directory Open Address Book pushbutton General help ═══ Help for Type of file ═══ ═══ Help for Type of file ═══ Select the down arrow to the right of the Type of file field to display the available file types. For more help, select a topic below. ═══ Help for Drive ═══ ═══ Help for Drive ═══ The Drive list displays the drives on your system. Select the drive that contains the address book file you want to access. For more help, select a topic below. ═══ Help for File ═══ ═══ Help for File ═══ The File list displays all the files in the directory you selected from the Directory list. Select the address book file you want to open. For more help, select a topic below. ═══ Help for Directory ═══ ═══ Help for Directory ═══ The Directory list displays the directories on the selected drive. Select a directory to display the list of files from that directory in the File list box. For more help, select a topic below. ═══ Help for Open Address Book ═══ ═══ Help for Open ═══ Select the Open Address Book pushbutton to open or create the specified address book. For more help, select a topic below. ═══ Help for Save ═══ Use Save to store the file you are editing. After the file is saved, the text remains in the window so that you can continue editing it. Note: If you are editing a new file, select the Save or Save as choices to display the Save as pop-up so that you can name the file you are editing. A file must have a title to be saved. ═══ Help for Save as ═══ Use Save as to name and save a new file or to save an existing file under a different name, in a different directory, or on a different disk. ═══ Help for Save as ═══ ═══ Help for Save as ═══ 1. Select the down arrow to the right of the Drive list to display all the drives on your system. 2. Select a drive from the Drive list. 3. Select a directory from the Directory list. 4. Type the name of the file you want to save in the File name field and select the Save pushbutton. For specific help, select a topic below. ═══ List of Fields ═══ File name Type of file Drive File Directory Save pushbutton ═══ Help for File name ═══ ═══ Help for File name ═══ Type the name of the file you want to save in the File name field and select the Save pushbutton. For more help, select a topic below. ═══ List of Fields ═══ File name Type of file Drive File Directory Save pushbutton General help ═══ Help for Type of file ═══ ═══ Help for Type of file ═══ Select the down arrow to the right of the Type of file field to display the available file types. The sample has set this field for all file types. For more help, select a topic below. ═══ Help for Drive ═══ ═══ Help for Drive ═══ The Drive list displays the drives on your system. Select the drive that contains the files you want to save. For more help, select a topic below. ═══ Help for File ═══ ═══ Help for File ═══ The File list displays all the files in the directory you selected from the Directory list. Select the file you want to rename and save. For more help, select a topic below. ═══ Help for Directory ═══ ═══ Help for Directory ═══ The Directory list displays the directories on the selected drive. Select a directory to display the list of files from that directory in the File list box. For more help, select a topic below. ═══ Help for Save ═══ ═══ Help for Save ═══ Select the Save pushbutton to save the file to the drive and directory you selected and with the file name you specified. For more help, select a topic below. ═══ 10. Edit Menu ═══ The Edit menu contains commands to copy the current entry to the clipboard, modify user preferences (such as the COM port to use for the dialer function and the return address to be printed for envelopes), toggle display of the entry dialog (to save screen real estate when you aren't actively using Hazel), and perform global tagging functions. The following commands appear in the Edit menu: Copy Entry to Clipboard Copies the current entry to the clipboard User Preferences Customize Hazel Toggle Entry Dialog Toggle display of the entry dialog Un-Tag All Entries Clears the tags on all entries in the current address book Tag All Entries Sets the tags on all entries in the current address book ═══ 11. Copy Entry to Clipboard ═══ The Copy Entry to Clipboard command copies the currently displayed entry to the clipboard. Fields are copied to the clipboard in the following order: o First name o Last name o Company o Address line # 1 o Address line # 2 o City o State o Zip o Phone # 1 o Phone # 2 o Email address o Birthday o Comment ═══ 12. User Preferences ═══ The User Prefences command allows Hazel to be customized for your environment. Settings include the communication parameters used by the dialer function and the return address printed on envelopes. ═══ 13. Toggle Entry Dialog ═══ The Toggle Entry Dialog command toggles display of the entry dialog. Since the entry dialog occupies a large amount of screen space, this allows you to reduce the screen space requirements of Hazel when it isn't actively being used (without exiting the program). If the entry dialog is currently displayed, this command has the same effect as clicking the minimize button on the entry dialog window. ═══ 14. Tag All Entries ═══ The Tag All Entries command provides a quick way to tag all entries in the current address book. Some Hazel commands (e.g., envelope printing) operate on the current entry or on all tagged entries. ═══ 15. Un-Tag All Entries ═══ The Un-Tag All Entries command clears the tags on all entries in the current address book. ═══ 16. Help Menu ═══ Use the choices on the Help menu to display: o An index of references to help topics for Hazel o General information about Hazel, including how to register your copy o Information on how to use the help facility o The production information dialog ═══ 17. Help Index ═══ This Help menu choice displays a list of help topics. ═══ 18. About Hazel ═══ This Help menu choice displays general information about Hazel, including how to register your copy. ═══ 19. Using Help ═══ This Help menu choice explains how to use the Help facility. ═══ 20. Product information ═══ This Help menu choice displays the product information dialog. ═══ 21. Product Information Dialog ═══ This dialog displays Hazel registration status, version number, and the copyright notice. ═══ 22. OK ═══ The Click button closes the Product information dialog. ═══ 23. Hazel Entry Dialog ═══ The Hazel Entry dialog is used to create, change, find, delete, tag, and dial address book entries. To enter data into a field, position the mouse cursor in the desired entry field and click, then type the desired data. The TAB and SHIFT-TAB keys may be used to move between fields. The Comment field is multiline; it can be used to store misc. information up to a limit of 1024 characters. This field is especially useful for storing strings which serve to group entries into categories. For example, inserting the string !!BILL!! into the comment field of certain entries allows all !!BILL!! entries to be found quickly. If Tag Matches on the Find dialog is enabled, envelopes can be printed, etc. for an entire category. Buttons on the Entry dialog have the following functions: Tagged Toggles tag on the current entry. Some Hazel operations, such as envelope printing, can operate on the current entry or all tagged entries. Tags are maintained for the current session only; they are lost when Hazel is exited or the address book is closed. Save Saves the current entry. If the current entry is new, a new address book entry is created, otherwise the existing entry is updated. New Clear entry fields so a new address book entry can be entered. When you've finished entering the data for the new entry, click Save to create a new entry and save it. Whenever all entry fields are blank (for instance, after an unsuccessful find operation), you may enter data for a new address book entry. Find Search for an address book entry. Press F1 when the Find dialog is displayed for more information. Dial Pop up the Dialer dialog to dial phone numbers. Press F1 when the Dialer is displayed for more information. Index Pop up the Index dialog, which allows you to quickly select an entry based on name/company. Delete Deletes the current entry. A confirmation message is displayed before the entry is deleted. F(irst) Displays the first entry in the address book. Address book entries are sorted by last and then first name. Entries with a blank last name field are sorted by company (e.g., Cinemark Theatre follows George Carob in the address book but comes before Wynona Dudley) L(ast) Displays the last entry in the address book. P(revious) Displays the previous entry in the address book. N(ext) Displays the next entry in the address book. Help for Index dialog * .* res = PANEL_INDEX * ═══ 24. Hazel Index Dialog ═══ The Hazel Index dialog is used to quickly select an entry based on name or company. The dialog contains the name/company fields for all entries (the company field is enclosed in parentheses). Double click on an entry to select it; the full address book entry is then displayed in the Entry dialog. The Index is automatically updated when you create new entries, save modifications to an existing entries, or delete entries. Note: If your address book has an extremely large number of entries (on the order of thousands), some of the entries in the address book may not appear in the Index dialog. This is due to an OS/2 limitation on the size of list box contents. These entries can still be accessed using the Find, Previous, Next, First, and Last functions. ═══ 25. Hazel Dialer Dialog ═══ The Hazel Dialer dialog is used to dial phone numbers. If phone numbers have been entered for the current address book entry, these phone numbers are displayed in the list box on the Dialer dialog. To select a phone number in the list of numbers, left click on the desired number. You may also manually enter a number to be dialed by clicking on the entry field at the top of the list box and typing the desired number. The Status indicator shows the current status (Idle, Busy, Redialing, etc.) If the Redial box is checked, Hazel will redial the number automatically as long as it's busy. Click Dial to begin dialing. Click Cancel to cancel dialing and dismiss the Dialer dialog. Notes: The dialer uses standard Hayes-compatible AT commands to communicate with your modem. If your modem isn't fully Hayes-compatible, you may experience difficulties. If you experience problems and your modem is Hayes-compatible, check the Dialer Setup information under User Preferences. If you click Cancel while the modem is dialing, you may see the error message "No response was received from the modem after a command was issued." In this circumstance this error message can be ignored. ═══ 26. Hazel Selection Dialog ═══ The Hazel Selection dialog is used to select which entries should be used when performing an operation such as printing envelopes or exporting entries. If you select "Current entry only", only the current entry will be used. If "All tagged entries" is selected, all entries which have been tagged will be used. Select OK to continue with the operation or Cancel to cancel the operation. ═══ 27. Hazel Search Dialog ═══ The Hazel Search Dialog is used to locate specific address book entries. Click on the "Search for" entry field and type the string you wish to search for. If "Tag Matches" is selected, each matching address book entry will be tagged. If "Name/Company only" is selected, only the first, last, and company names will be searched. Searching only these fields is extremely fast. If "All fields" is selected, all address book fields will be searched for a match. The "Find" pushbutton starts the search from the beginning of the address book. Use this option to find the first match. The "Find Next" pushbutton continues searching for a match from the current position in the address book. Use this option to find subsequent matches. "Cancel" cancels the search and dismisses the Search dialog. Note that when the Search dialog is idle (i.e., no search is currently being carried out), most Hazel functions are available. For example, you might wish to search for a specific person, invoke the Dialer to dial their number, and then continue searching for other matches, all without dismissing the Search dialog. Printing, Export, and Import are not available when the Search dialog is displayed, since these functions compete with Search for the current position in the address book. You can, however, dismiss the search dialog, start a print job, and then begin searching again. Semi-undocumented feature: It's often useful to be able to search for both a first and last name to narrow a search down quickly. To do this in Hazel, place a backslash ("\") between the first and last name in the search string and select "Name/Company only". For example, to search for "Sammy Davis", a search string like "sam\dav" would do the trick. This indicates that the string "sam" must appear somewhere in the first name and the string "dav" must appear somewhere in the last name for a match to be made. It's ugly, but it works. ═══ 28. Hazel User Preferences ═══ The User Preferences dialog is used to customize Hazel. The Dialer Setup area allows you to specify the serial port to which your modem is connected and the associated communication parameters. If you don't want to use the dialing facility in Hazel, these settings don't matter. The Dial Cmd and Hangup Cmd fields should contain Hayes-compatible AT modem commands. If your site requires that you dial a prefix before dialing an outside number, this prefix can be included in the Dial command. For example, if you have to dial "9" before dialing an outside number, change the Dial Cmd to "ATDT9,". The Print # 10 Envelope Setup area allows you to specify offsets (in inches) from the left and top edges of a #10 envelope to customize the placement of return and addressee addresses. The Return Address area allows you to enter the return address you want printed on envelopes. To dismiss the dialog, select "OK" to keep your changes or "Cancel" to forget them. If the "Save" button is checked when you close the User Preferences with "OK", the changes are made permanent and will be in effect whenever you run Hazel. Otherwise, the changes apply only to the current Hazel session.