HYPER DIALER Version 1.0 © 1989 David Plummer ----------------------------------------------------------- Firstly.... Hyper Dialer is NOT Public Domain. It IS shareware, and as such may be freely distributed with a shareware option, with a suggested contribution of $15. Full source code is available for $25. See the ABOUT menuitem for the address. Permission is granted to copy Hyper Dialer provided that all copyright notices and credits are left intact, including but not limited to this documentation file. Copies may not be distributed for profit, although a reasonable fee may be charged for on-line time or media costs. Express permission is hereby granted to Fred Fish to include this program, documentation, and support files in his freely distributable software library. It may only be uploaded to BBS systems or included on public domain distribution disks in the un-altered form with all files intact: HDial HDial.doc HDial.config HDial.phones req.library Install DeInstall The requester library is copyrighted by Colin Fox and Bruce Dawson. The library is a freely distributable, although not public domain library. Deepest appreciation is extended to these authors whose contribution to Amiga software authors is irreplaceable. Thanks for the prop gadget sizer, of all things! Here's the quote from the req library docs: " Req.library was written by Colin Fox (of Pyramyd Designs) and Bruce Dawson (of CygnusSoft Software). Req.library is a freely distributable library that may be used in commercial products without paying any royalties. We encourage you to use the requester library in all of your programs, to make them easier to write, and to use. Req.library is not public domain. The requester library and all documentation and example programs are all copyright 1989. " ------------------------------------------------------------ What is Hyper Dialer? Hyper Dialer is a "black-book" database for the names, addresses and phone numbers of all your best friends and worst enemies. It is completely Intuition-based, and will dial your modem (if attatched) to initiate the call of your choice. Other than to enter names, you need never hit a key (although I have included keyboard equivalents for most functions). Installation File Directory ------ --------- HDial (personal preference, usuallly C:) HDial.phones S: HDial.config S: req.library LIBS: The file Install handle all of this for you. Starting Hyper-Dialer Hyper dialer takes only one command line option, that being the ICON option, which enables you to have Hyper-Dialer begin life as a small icon on your Workbench title bar. This is to enable you to place it in you startup-sequence if you so desire. Other options are set with the config file. Commands: HDial (start now) HDial ICON (start as an icon) Usage To use Hyper-Dialer, hit the Insert icon to insert a blank entry, which will appear as 'Empty'. Click on the 'Empty' and edit the name, address, and phone number lines to reflect the data you require. Delete will remove an entry, unless it is the last remaining entry. In this case you must edit that entry to change it. Search will search for any substring in the entry list. It looks through all data fields, starting at the current entry. To search for the next occurance, click on Search again and simply select OK. Sort will sort all entries according to their alphabetical order of the name field. Load will load a HDPhones file. It starts looking in your S: directory. Opon startup, the file always looks for the file HDPhones, although you are free to use any other name for alternate phone books. Load will truncate a file if it is longer than your maximum number of entries. It always leaves two open slots for you to work with, so if you have 100 as your maximum entries, only 98 can be loaded. Memory is dynamically allocated from the public heap, so it will use fast memory and only as much as you require. Save saves the file. What more do you want? Quit exits (wow!) Shrink closes Hyper-Dialer down and places a small icon on your workbench title-bar. You can re-activate Hyper Dialer by clicking on this icon, picking up exactly where you left off. You can turn off all the Are You Sure? prompts by deselecting the Ok Prompt? in the menu. DIAL1 dials the first phone number, DIAL2 the second, and HangUp disconnects after you have picked up the phone. HDial.Config ------------ There are several entries on this file which will enable you to slightly customize Hyper Dialer. The comments are not necessary, but you should keep them no further left than the 20th column (use spaces, not TABS!) The file appears as follows: HDial Configuration File ------------------------------------------------ 532 | Icon X Co-ordinate 0 | Icon Y Co-ordinate 0 | 1 = expert mode 50 | Maximum number of entries 0 | Entry to auto-select 2 | Icon Block Pen 3 | Icon Detail Pen ------------------------------------------------ There is some limited error checking on the parameters, but if you want to be an idiot I'm sure you could probably crash your system with some wild entries. Currently, I have set the upper limit at 5000 entries (for no good reason). If you have more than 5000 friends, give me a call. The icon co-ordinates, predictably, refer to the position of the Dial icon. Expert mode, if selected, will automatically disable all of the Are You Sure? prompts. The entry to auto-select will automatically highlight your girlfriend (or whatever) on startup. The two color options must be in the 0-3 range and specify what colors to use in drawing the icon. Finally.... This is my first Amiga program, so please excuse any gross shortcomings or problems. The only way I have been able to crash the program is to go wild with the right mouse button while playing with the menu items, and my code for them is really straight-forward, so I have no idea why this can occur. It's not something you should experience under normal usage. I've done my best to try to crash it under almost every low memory condition possible, and it always returns a pseudo-polite message, and no gurus! I have included the option (see above) for complete source code. Although it is hardly elegant being my first attempt, it does serve as a good example of how to: - Deal with windows - Deal with gadgets - Deal with events - Simple drawing and images - A cute recursive quicksort - Search routines - Handle the mouse buttons - Dynamically allocate memory for structures ...and everything else I had trouble learning from books. My file-requester-type listing is done totally manually, without every line being a gadget, and I find it quite fast. I also allow you to just hold the button down on the arrows to scroll, instead of having to click repeatedly (I couldn't find Intuition support for this, so it's manual too). I also update the listing as you drag the scroll bar around instead of waiting for you to release it. All in all, if you're trying to learn C on the Amiga, it might be a good thing to learn from. I realize 35K is a bit large, but over half of that is images for the gadgets and HyperDialer logo that I thought just made it look a little nicer. Coming soon (or not).... the next release: - Optional toll-minding, keeping track of expenses on long distance calls. - Optional seperate screen - Speaker tone dialing for those of you with no modem? - Whatever else anyone thinks might be handy. - Smaller more efficient code!