DFA(ddress), the Address utility for the Amiga and OS 2.0 Copyright (C) 1992, 1993 Dirk Federlein GUI created using Gadtoolsbox (C) 1992 Jan van den Baard. AREXX interface created using Arexxbox (C) 1992 Michael Balzer. Registered trademarks are *not* marked separately. Therefore the missing of it doesn't mean that they are free. DFA **** This manual describes the installation and usage of `DFA' V1.2. Here you'll find the explanation of all the AREXX commands as well. If you use a localized Workbench (Workbench V2.1 and better) and have set it to a language other than English, please notice that I'll refer to the English program texts in this documentation! General ******** Copyright ========== `DFAddress' (`DFA' for short) is *shareware*! You may copy and distribute verbatim copies of the program's executable code as you receive it. You must not give away your keyfile or copy it (except for your own use!). I keep the copyright over the whole package! You may not sell this programm for more money than to cover just the costs of copying! In any case you may not charge more than Fred Fish claims for one of his "Library Disks"! Besides the program itself, the documentation and all add--ons are also copyrighted by myself. You may distribute only the whole (shareware)package! You may not change anything without my written permission. Using crunchers on it is permitted. Warranty ========= I can and will not be held responsible for any damages which are caused directly or indirectly by `DFA'. I don't guaranty that `DFA' works in the expected way. If you find any bugs I please you to send me a bug report. *Note Bug Reports::. What the hell is DFA? ====================== `DFA' is *not* just another address programm. You can look up the addresses quite fast; support for email addresses is given as well. Of course - there are already some similar pieces of software which do nearly the same - well *nearly*! `DFA' was programmed under version 2.0 of the latest *AMIGA* operation system! This means you need *OS2.0* to use the programm. If you only have OS1.3 (or below) you won't get anything but a message, saying that the needed system libraries (version 37 and up) could not be opened -- sorry. All I can say to users, which don't use OS2.0 up to now is: Upgrade at once! `DFA' is using OS2.0. This implements that you can use all the new features that the *AMIGA* is supporting now. You not only get an application icon, the typical 2.0 look and feel but better, you can do all operations with the keyboard! `DFA' is a commodity, so you can pop it up by holding down the "hotkey". Since Version V1.1 `DFA' offers an AREXX Port, which means that you can direct `DFA' from within other programms. Coming with version 1.2 there is LOCALE-Support as well. Notice that you *need* *AMIGA*OS V2.1 or V3.0 (or even better) to take advantage of this feature. If you are still using V2.0x, `DFA' takes the english texts. The best idea is to copy `DFA' to the `WBStartup'-drawer, for you can use it at once after startup. History ======== In Spring of 1992 I was looking for an address utility, which took advantage of the new features of OS2.0, but I didn't find one! So I began to program one by myself. The complementation of `DFA' took more time than I expected, because I'm first a student and second a programmer. Moreover I often found possibilities to improve `DFA', which sometimes lead to a complete rewriting of large parts of the code. This took place for example when a friend of mine convinced me that `DFA' should be fontsensitive (thanks Kai!). When the program was "finished", I decided to make it "shareware", so it should not disappear in a drawer like so many other things I had programmed before. This decision made it necessary to put even more time in this project, because a manual had to be written. This manual was written using TeX; the ASCII manual was done using DVI2TTY. A few bugfixes later it became clear that `DFA' should get some significant improvements, e.g. additional address fields, an AREXX Port, ... While programming the AREXX Port of `DFA' I got to know the `TeXInfo' package and I liked it at once! So I translated the complete manual to the `TeXInfo' format. Huge expansions were made due to the improvements of `DFA'. The english manual got a complete redesign and was written using `TeXInfo' as well. The advantage the user can take out of the manual written in `TeXInfo' can be explained shortly: It is *easily* possible to create ASCII and AMIGAGUIDE manuals out of a file written in `TeXInfo' (besides the TeX manual of course). However, only registered users will get the TeX documentation. When the implementation of the AREXX--Port was nearly done, the SAS-C 6.0 compiler arrived. Because I used the AZTEC-C compiler before, some adaptions had to be done. When Kickstart/Workbench 2.1 (and 3.0) became available, it was quite a natural step to localize `DFA', which has been the biggest difference between `DFA' V1.1 and V1.2. Please remember, however, that I refer to the English program texts within this manual! Installation ************* Using the Installer Program ============================ If you got the installer executable together with *another* piece of software, you may install `DFA' using the provided installer script `Install-DFA'. Make sure that the installer programm resists in the proper directory, then double click the `Install-DFA' icon. The install script is loaded and you may install `DFA'. Please notice that I may *not* include the installer executable within my shareware package, because it is a copyrighted piece of software ((C) Commodore) and I had to pay a contribution to Commodore to do so. Installation by Hand ===================== If you have to install `DFA' by hand please copy the needed files to their correct places: * *DFA, DFA.info* Should be copied into a directory of your search path, e.g. `c:'. If you want `DFA' to be started automatically during the booting phase, you can copy both files into the `SYS:WBStartup' drawer. * *DFA.key* Please copy this file to your `s:'--directory; it is recognized only there. It activates all the functions, which are disabled in the public version. Only registered users get such a key file. *Note Registration::. * *adr.file* This file contains one (my) address. If you want, copy it into the `s:' drawer and it will be loaded, while `DFA' is starting up. You may change the name of the address file (incl. its path) in the preferences window. If you don't supply any address file, the list of addresses will be empty in the beginning. * *The documentation* The English documentation can be found within the drawer `documentation', the German documentation within the drawer `Anleitung'. As the TeX documentation itself is about 200 KB each, I decided to put it on disk in a crunched format. You can extract it using the `LHA' programm ((C) Stefan Boberg). Example: copy DFAddress_V1.2:Documentation/Documentation.lha ram: cd ram: DFAddress_V1.2:c/lha x Documentation.lha The unregistered version only has the ASCII and the GUIDE documentation included. These are *not* crunched and can be used at once. You can use `more' or similar text displayers to read the ASCII documentation, `Amigaguide' or `Multiview' for the AMIGAGUIDE documentation. * *Arexx scripts* In the `rexx' drawer you'll find some little AREXX scripts, which you may find useful. The description of every script is located in the beginning of every file. All scripts either have the extension `.DFA', which shows that they contain `DFA' AREXX commands or `.CED' which shows that these scripts are done to work together with `DFA' and `Cygnus-Ed' (by ASDG). Copy all scripts to the `rexx:' directory, so you can use them at once. * *Catalogs* To support the different languages, `DFA' uses socalled catalog files that contain all the texts in the specified language. Please copy the wanted catalog file(s) to the corresponding directory/ies. (`Locale:Catalogs//'). Well - that's it. Now you can use either the shell to start `DFA' manually by typing `DFA' or `run DFA >NIL: ' in the first column. * *Cycle Gadgets* In front of a cycle gadget there is short text, which describes the function of the gadget. Again there is one charakter underlined. However, here it does matter if you use the capital letter or not. The "normal" letter cycles foreward, the capital letter backward. * *Radio Buttons* Only one of the buttons that belong together can be activated at once. You can select an entry by pushing the proper shortcut. The case of the shortcut is not important. * *Check Boxes* A check box can be selected (shown by a tick) or deselected ("blank"). You can switch the current state by pushing the corresponding hotkey. * *String Gadgets* The string gadgets have the same functions as the "original" string gadgets. However, I added some features, which should make them easier to use: - Hit `RETURN' to end the input to the current gadget and go to the next string or integer gadget. You may use the `ENTER' alternatively. - Hit `SHIFT' `RETURN' to end the input to the current gadget and go to the *previous* gadget. - `CURSOR UP' or `CURSOR DOWN' brings the cursor to the previous or next string gadget respectively. - Hit `ESCAPE' to finish the input completely. The window which contains the gadget is closed and all previous input is discarded. - If the cursor stands within a string gadget, the shortcuts can be reached by hitting `LEFT AMIGA'--`letter'. If there is a shortcut that has the same letter as an original edit function (like `LAMIGA Q' or `LAMIGA X'), you reach the shortcut by pushing `SHIFT' additionally. - *Online Help* Since version 1.2 has been finished, `DFA' supports an *Online Help* feature. To invoke it, just hit the `Help' key and the help window pops up. Please remember that you need the `DFA' guide file, if you want to use this feature! Make sure that the name of the guide file is entered correctly using the correspinding tooltype (see *Note Changing the Tool Types:: for details). You can activate a string gadget by hitting the corresponding shortcut. This is not case sensitive again. Settings ********* There are two possibilities to configure `DFA': First you can change the tool types and second you can use the built--in `DFA' preferences. You need both ways for a complete configuration! Changing the Tool Types ======================== On the Workbench click *once* at the `DFA' icon and select the information tool from the icons menu. A window opens, where you can change the following tool types: * *`DONOTWAIT'* This is a system tooltype, which forces the Workbench not to wait for `DFA' ending. You should *not* remove this tool type. * *`CX_Priority'* With this tool type you can change the Priority of `DFA'. The default setting of `CX_Priority=0' usually doesn't need to be changed. * *`CX_POPUP'* If you set `CX_POPUP=YES', you make `DFA' pop up immediately after startup. Set `CX_POPUP=NO' to keep `DFA' "quiet" until you pop it up by hitting the hotkey or clicking on the application icon. * *`CX_Popkey'* The default setting of the `DFA' hotkey is `LCOMMAND F5', which is done by `CX_Popkey=LCOMMAND F5'. This means that `DFA' pops up as soon as you push `LEFT AMIGA F5'. You can change this hotkey using the following keywords: LSHIFT left shift key RSHIFT right shift key CAPSLOCK caps lock key CONTROL control key LALT left alt key RALT right alt key LCOMMAND left AMIGA key RCOMMAND right AMIGA key NUMERICPAD numeric pad MIDBUTTON middle mouse button RBUTTON right mouse button LEFTBUTTON left mouse button F1-F10 function keys 1 to 10 UP cursor up DOWN cursor down LEFT cursor left RIGHT cursor right HELP help key DEL del key RETURN return key ENTER enter key on the numeric pad; notice that you have to set `NUMERICPAD' as well! BACKSPACE backspace key ESC escape key SPACE space key COMMA komma key UPSTROKE upstroke key A..Z, a..z "usual" keys 0..9, etc. You can "mix" these keys, for example: - LSHIFT CONTROL F1 - LALT CONTROL D - CONTROL NUMERICPAD ENTER - RCOMMAND RSHIFT A - etc. * *`GUIDEFILE'* You can give the name (incl. path) of the `DFA' guide file which will be loaded by the guide reader as soon as you hit the `Help' key. The default setting is `Guide:DFA.guide' (see *Note Usage of DFA::). * *`PORTNAME'* `DFA' uses `DFA' for the portname. If there is another program with the same portname, `DFA' attaches numbers (`DFA.1', `DFA.2', etc.) until a definite name is found. However, if you want your "own" portname, you can set it using the tool type `PORTNAME' (e.g. `PORTNAME=DFAddress'). Please remember that you have to adapt all example AREXX scripts, if you change the portname! * *`PUBSCREEN'* Using this tooltype you can change the public screen on which `DFA' is opened. You can do this by giving the name of the desired public screen like this: PUBSCREEN=TERM If the given screen exists, `DFA' opens on it, otherwise the default public screen (usually the Workbench) is used. * *`UPPERPUBSCREEN'* If you use `UPPERPUBSCREEN=YES', `DFA' tries to open on the frontmost screen, if it is an public screen. If this isn't the case, `DFA' tries to open on the public screen given using the `PUBSCREEN' tooltype. It this screen can't be found, `DFA' opens on the default public screen. Start from Shell ================= If you'll start `DFA' from Workbench the tooltypes described above are used. When you start `DFA' from Shell, these tooltypes are set as well, as long as the correct `.info'-File is present. You can give some parameters to `DFA' that overwrite the previous settings (within the .info file). The possible arguments are described below: * *`CX_POPKEY'* The hotkey of `DFA' can be changed by giving `CX_POPKEY='. To define the hotkey you may use the same keywords as described above in *Note Changing the Tool Types::. Example: DFA CX_POPKEY="LCOMMAND F1" * *`CX_PRIORITY'* To change the priority of the DFA-Broker you may use this argument: DFA CX_PRIORITY=5 Usually you should *not* change the priority, because the default value is sufficient in most cases. * *`CX_POPUP'* If you give `CX_POPUP=NO', `DFA' does not pop up during startup. Example: DFA CX_POPUP=NO * *`GUIDEFILE'* You can give the name (incl. path) of the `DFA' guide file which will be loaded by the guide reader. See *Note Changing the Tool Types::. * *`PORTNAME'* If you would like to use another portname than `DFA', you may use this keyword. Please notice that you have to change all scripts according to the new portname, if you'll change it. Example: DFA PORTNAME DFA_RXPORT * *`PUBSCREEN'* If you want to make `DFA' open its window on another screen than the Workbench, you can give the desired public screen name, e.g. DFA PUBSCREEN Term.1 * *`UPPERPUBSCREEN'* If you use `UPPERPUBSCREEN=YES', `DFA' tries to open on the visible (i.e. frontmost) screen, if it is a public screen! If it isn't, `DFA' uses the public screen name given using the `PUBSCREEN' keyword or the Workbench. Changing the DFA Preferences ============================= Select the `preferences' item in the project menu of `DFA'. Another window opens where you can change the following settings: * *Address file* Here you can enter the name of the file (incl. path), which contains the addresses (default: `s:adr.file'). * *Get* When you hit `Get', you can use a file requester for selecting the address file. The name of the file appears in the field `Address file'. * *XPos* In this field you can enter the x-coordinate of the application icon, which means the distance from the left edge of the Screen to the left edge of the application icon. * *YPos* In this field you can enter the y-coordinate of the application icon, which means the distance from the top edge of the Screen to the top edge of the application icon. * *Show Appicon* By using this gadget you can decide if you wish to have an application icon on your Workbench screen or not. * *Baud* This cycle gadget allows you to select the baud rate of the serial port. Notice that it nearly doesn't matter which number you select, because all `DFA' does is to dial; no real data are transfered! The only thing you should make sure is that the baud rate you select is not higher than that of your modem (default: `1200'). * *Init String* The string that you enter here will be sent to modem for initialisation. If you have a Hayes compatible modem, this will usually be `ATZ' (default: `ATZ'). * *Predial String* This string will be sent to the modem just in front of the telephone number itself! Some examples for Hayes compatible modems: ATDP pulse dial (default) ATDT tone dial ATDP#W Makes the modem wait for a dialtone after sending a number (`#'). So it is possible to call from a extension. Just substitute `#' by the number you would usually enter to get a dialtone. * *Serial device* You may enter the name of a serial device here. Usually this is the Commodore `serial.device', which is the default. If you have an interface card with (an) additional serial interface(s), you can insert the new serial device here. * *Select device* Instead of typing the name of the serial device you can comfortably select it from a file requester. The selected device is inserted to the `Serial device' field. * *Device unit* You may enter the number of the serial device here. Usually this is `0'. However, if you have an interface card with more than one serial interface, they are distinguishable by their numbers (`0' and `1' for example). * *Save* `Save' saves the actual preferences. Notice that besides the settings discribed above, the window positions are saved as well. The saving of window positions is done relative to the main window. If you move the preferences window exactly under the title bar of the main window and close it, move the main window and reopen the preferences window, it opens not on the same place as before, but just below the title bar of the main window again. The size of the main window is save as well as the Arexx scripts that can be linked to every function key, vgl. *Note ArexxCommands::. * *Use* All setting are used, but *not* saved. This means, if you reboot, you'll get the settings saved previously. * *Cancel* If you leave the preferences window by hitting `Cancel', the changes you made are not used. DFA Step by Step ***************** The Main Window ================ The main window can be enlarged and made smaller (down to a minimum size) by using the sizing gadget. The contents of the window (e.g. gadgets) is adjusted automatically. As the main window is a socalled application window it is possible to drag an address file onto this window and corresponding file is loaded. In the main window of `DFA' there are the following possibilities: * *The Listview* The address list is displayed in the listview, as soon as you have entered some addresses (see below for details). You can scroll the list and select entries using the mouse or the keyboard (see *Note Usage of DFA::. Hit `a' to select (*not* mark) the next entry, hit `A' to select the previous one. The listview scrolls automatically. To mark the selected entry use `SPACE' (or double click with the mouse). If you push `RETURN', it will have the same function as if you selected `Full', which means that a window opens and the full address is shown. *Note Full::. * *The text fields* Below the listview you see four text gadgets. They show the telephone number and up to three email addresses of the current entry. * *The Gadget Panel, Right to the Listview* Right to the listview you see some gadgets, whose functions are described now: - *Full* Shows the current entry in another window; further information is shown here, such as street, city, and so on... for details see *Note Full::. - *Edit* If a current entry exists, you can edit it by pushing `Edit'. If no address is selected, none can be edited obviously. *Note Edit::. - *New* If you hit `New', you can enter a *new* address. The functions within the window that pops up are the same as in the `Edit' window. *Note New::. - *Kill* You can delete the current entry (if one exists) by selecting `Kill'. There is a safety requester that makes sure that no address is deleted by a mistake. - *Search* Another window pops up, which allows you to enter some search criteria. *Note Search::. - *Search Next* `Search Next' can be selected only, if you entered a search criteria before (see `Search' above). If you did so, the next entry that corresponds to is selected (*not* marked). - *Print* Another window pops up; in this window you have some possibilities to print the managed addresses. *Note Print::. - *Sort* Select `Sort' to sort the complete address list by name, first name and city (in *this* order). - *Dial* For owners of modems only! If you have a modem connected to your computer, it will be possible to let the computer dial the phone number(s). If you have entered more than one number, it is *stricly* recommended that you seperate them by a `pipe' sign (`|'). When you start dialing (hit `Dial'), a requester pops up that displays who is called. You can cancel the dialing at every time (`Cancel') or skip the current number (`Skip'). The modem settings can be changed in the `DFA' preferences. *Note Settings::. Just below the listview are four gadgets which can be used to select the entries within the listview: - *All* Selects all addresses. - *By name* A small window is opened. Here you can enter a search pattern (search is *not* case sensitive). After selecting `Ok' (or hit `RETURN') all matching entries will be *marked*. The difference to the `Search' function is 1st that you cannot select casesensitive search and 2nd that only those parts of the address are searched through that can be seen in the listview (name, first name and city). Furthermore all matching entries are *marked* (compare: `Search' *jumps to* the first matching entry); the first marked entry is selected. - *Clear* All entries are deselected. - *Jump to* The next selected entry becomes the current one. If there is no next entry, the very first entry is shown. * At the bottom of the main window there are the two gadgets `Hide' and `Quit'. `Hide' closes the window. The application icon stays on the Workbench (if you have not deselected the application icon in the preferences window). `DFA' can be brought to front quickly by double clicking the application icon or by using the "hotkey" (default: `Left Amiga F5'. How you can change the hotkey can be looked up under *Note Settings::. If you hit `Quit', changes are saved and `DFA' is terminated. Full ===== `Full' can only be selected, if there is an "active" address. In this case another window pops up (title: `Full address...'), in which the current address is displayed in more detail. Below the address fields there is a gadget panel, which makes it possible to move through the complete address list: * *First* The first address of the list is shown. The shortcut is the underlined letter or `Cursor Up'. * *Last* The last address of the list is shown. The shortcut is the underlined letter or `Cursor Down'. * *Prev. Sel.* If a *marked* address exists in front of the current one, it will be shown. * *Next Sel.* If a *marked* address exists behind the current one, it will be shown. * *Prev.* The previous address is shown. The shortcut is the underlined letter or `Cursor Left'. * *Next* The next address is shown. The shortcut is the underlined letter or `Cursor Right'. If you hit `Ok', the window is closed and you return to the main window; if you hit `Edit', you will get the familiar `Edit' window. *Note Edit::. Edit ===== If there is a current address, a new window opens that lets you change all parts of the address. Compared to the original string gadget functions, there are additional features: *Note Usage of DFA::. There exist the following fields: Address Address First First name Name Name Street Street/No. Zip Zip City City Country Country Birthday Birthday Phone Telphone number Email1 email address # 1 Email2 email address # 2 Email3 email address # 3 Fax Telefax number Comment Comment Hit `Ok' to confirm the changes or hit `Cancel' to abort. New ==== Hit `New' to open a window, which is exactly the same as the `Edit' window. The template entries have already been copied to the corresponding fields, *Note EditTemplate::. Now you can enter a *new* address. All functions are the same as in the `Edit' window. (*Note Edit::. Search ======= In this window you can enter the search pattern and more: * *Search for* Here you enter the search pattern, for which the usual *AMIGA* patterns may be used. You have to add a `#?' (or `*') in front of and behind the search string if you want to search for a partial string. If you want to look for a name that starts with `Jo' and ends up in anything, you should use `Jo#?'. If you are looking for towns that end up with `town' and start with anything, use `#?town'. Supported patterns and their meaning: ? Matches a single character. # Matches the following expression 0 or more times. (ab|cd) Matches anyone of the items seperated by `|'. ~ Negates the following expression. It matches all strings that do not match the expression (aka `~(foo)' matches all strings that are not exactly `foo'). [abc] Character class: matches any of the characters in the class. [~bc] Character class: matches any of the characters not in the class. a-z Character range (only within character classes). % Matches 0 characters always (useful in `(foo|bar|%)'). * Synonym for `#?'. "Expression" in the above table means either a single character (ex: `#?'), or an alternation (ex: `#(ab|cd|ef)'), or a character class (ex: `#[a-zA-Z]'). * *Ignore case* If the box is "checked", the search will not be case sensitive. If the box is empty however, case will be noticed. * *Fields to search* You can choose, which fields are to be searched: `All fields' or special parts of it. * *Search* `Search' starts the search. If a matching entry is found, the list will scroll to the entry and the address will become the active one (it will *not* be marked). * *Cancel* `Cancel' cancels the search. The listview is updated, which means that the former selected entry scrolls to the first line of the list. Print ====== In this window all functions are collected that print the addresses managed by `DFA'. * *Print* You can choose between all (`All'), the marked (`Selected') and the active address (`Active'). If there is an active item, it will be shown in the `Active Item' field. * *Print to* You can either print to the printer (`PRT:') or to a file (`File'). If you print your addresses to a file, the settings below don't take effect. Notice that there are always written all parts of an address! * *Print style* You may choose, whether the addresses are to be printed in `NLQ' or `Condensed' style. If you select `Formfeed', a formfeed is performed after the very *last* printed address entry. To switch this off will be useful, if you want to print a few address labels only and you don't want to waste these sheets. Please notice that the AREXX command `Print' doesn't take care of *this* setting (see *Note Arexx function PRINT::. * *Print form* There are five different forms, between which you may choose: - Short address list - Full address list - Phonelist (fixed columns) - Mailing labels (70mm x 46mm) - Address cards * *Print* If you did select `File' for output, a file requester will be opened, which allows you to enter the filename. Be careful! This output file is *not* compatible to the internal address file format; so don't overwrite this (these) file(s). To write the addresses to a file may be useful if you want to export addresses, but don't wan't to use AREXX. If you send your addresses to the printer (`PRT:'), another window is opened that displays the progress of printing. You may stop the output after every complete address (`Cancel'). If only the active item is printed, no progress indicator is shown. * *Cancel* `Cancel' terminates the complete printing process. The Menus of DFA ***************** You already got to know one menu item when you changed the `DFA' preferences, now you will learn something about the others: About (Shortcut ?) =================== In the `About' window you'll find something useful about the program itself and the author: * The version number as well as a notice, if you are a registered user. * The copyright notice and the address of the author (incl. email address(es)). * Your name, address and the serial number if you are a registered user. * The notice that the graphical user interface (GUI) is done using the GadToolsBox by Jan van den Baard. Info (Shortcut I) ================== The window which pops up as soon as you select the `Info' menu item gives you some useful informations: * *Arexx Port* In this field you can look up the name of `DFA''s AREXX port. Usually this is `DFA'. However, you can change the portname by changing the `PORTNAME' tooltype. *Note Settings::. If you have already started a program that uses the portname `DFA', `DFA' adapts the portname by appending "numbers" (e.g. `DFA.1', `DFA.2',...) until a clear portname is found. * *Addresses* The number of addresses which are loaded are shown in this field. * *Memory Condition* The three fields give a quite detailed report about the current memory condition. Load (Shortcut L) ================== Use `Load' to load another address file. The currently loaded addresses are lost! After you selected `Load', a file requester pops up, which lets you enter the address file. Notice that only files can be loaded, which have the proper format -- files that have been created by `DFA' before! Files with the wrong format can't be loaded by `DFA', the previously loaded addresses are lost in every case. Append (Shortcut A) ==================== `Append' allows you to append further addresses to the existing ones. The already loaded addresses are *not* discarded. Be careful! If you append two identical address lists, every entry will appear twice, which is usually not desired. Save (Shortcut S) ================== `Save' saves the addresses under the current name. The current name is either the one you entered in the preferences (default: `s:adr.file') or the one you selected before when loading an address file. Save as... (Shortcut V) ======================== `Save as' saves the address as well. However, you are able to select a filename before (a file requester pops up). This may be useful, if you have several address files for different purposes. Save as default (Shortcut D) ============================= The addresses will be saved under the name specified in the preferences (default: `s:adr.file'), if you select `Save as default', even if you loaded another file before. If you did not genertate an icon for your `DFA' address file up to now, `DFA' creates one for you that uses `DFA' as default tool. Quit (Shortcut Q) ================== `Quit' terminates DFA. If you did some changes to the address list before, they will be saved. Preferences (Shortcut P) ========================= The preferences window has already been discussed before. *Note Settings::. Edit Template (Shortcut T) =========================== A window pops up that is known from the *Note Edit:: and *Note New:: window. Here you can enter socalled templates that will be copied to the corresponding fields, if you select `New'. These entries will be saved together with the other *addresses* and *not* together with the preferences. This makes it possible to have different templates for every address file. Arexx Commands (Shortcut C) ============================ A window pops up and you can enter one Arexx command for every function key. If you don't want to type in the name of every Arexx script file, you can push the according `Get'--gadget, an file requester pops up and you can select the desired Arexx script file. Hit `Ok' to use the settings or `Cancel' to discard them. The Arexx commands are saved together with the preferences, see *Note Changing the DFA Preferences:: for details. The Arexx Port *************** Since version 1.1 of `DFA' has been finished, there is an AREXX port. Because *AMIGA*OS 2.0 includes AREXX, everyone has the chance to control `DFA' by AREXX scripts now. This will be very useful, if you want to export or import some addresses to or from another program for example. Basics ======= `DFA' will accept AREXX commands, if the main window is open or if `DFA' is "sleeping", which means that only the application icon (or not even that) can be seen. If you are just within another window (e.g. in the `Edit' window), `DFA' will not receive any AREXX command! This may be considered to be useful, because it would be very confusing if an AREXX script deletes the address that you are just editing for example. As soon as you return to the main window AREXX commands can be received. The basics of the AREXX language can be looked up in the *AMIGA* OS 2.0 manual or in the "AREXX User's Reference Manual"(1). The name of the AREXX port of `DFA' is `DFA', as long as you don't change the portname using the `PORTNAME' tooltype as described in *Note Settings::. This should only be done, if you have another program running that uses the portname `DFA' as well and you don't want to use `DFA''s feature to choose its own clear portname. When you find `ADDRESS/M' as a return value, this means that the wanted address is returned in the given variable (or `RESULTS'). For this reason `DFA' supports the AREXX keywords `STEM' and `VAR'. Example: /* Outputs the first address of the list */ ADDRESS "DFA" OPTION RESULTS FIRST STEM TEST. SAY TEST.ADDRESS.1 EXIT This (very) short example outputs the name of the the first entry of the address list. The `STEM' keyword returns the address in the form of a *list* (or *array*); this means that the elements of the address are kept in `TEST.ADDRESS.0' to `TEST.ADDRESS.13'. The number of entries is stored in `TEST.ADDRESS.COUNT' (see the example above). The `VAR' keyword returns the *complete* address as well; however, the whole list is stored in *one* variable, separated by spaces. Please consult your AREXX manual for details. The address fields correspond to the following list numbers: 0 Address (ADDRESS) 1 Name (NAME) 2 First name (FIRST) 3 Street (STREET) 4 ZIP (ZIP) 5 City (CITY) 6 Country (COUNTRY) 7 Birthday (BIRTHDAY) 8 Telephone (PHONE) 9 Email 1 (EMAIL1) 10 EMail 2 (EMAIL2) 11 Email 3 (EMAIL3) 12 Fax (FAX) 13 Comment (COMMENT) 14 Selection flag (SELECT) A further remark on the `Load', `Append', and `Save as' commands: When you give a filename, you always should give the full pathname, because this is the only way to make sure that the file can be found by `DFA'. It wouldn't make much sense to refer to the home directory of `DFA' or to the `Rexx:' drawer, because 1st `DFA' will often be kept in another directory than the address files and 2nd `DFA' remembers the last entered (or the default) pathname and uses it for loading and saving. Beyond the item `Syntax' the possible paramters are listed. The description of the parameters follows the known style given by Commodore. E.g. `FORM/K' can be one out of `FORM=ALL', `FORM=SELECTED' or `FORM=ACTIVE'. You may leave out the `=' sign. The exact syntax to every command can be found below, *Note The Arexx Commands::. The AREXX interface of `DFA' gives you a powerful instrument to manipulate the stored addresses. A wider range of functionality however implements more ways of loosing your data! This could happen not only by a malfunction of `DFA' but also by a inproper used function or parameter. Therefore I encourage you to make regular copies of your databases to keep the potential damage as small as possible. ---------- Footnotes ---------- (1) AREXX User's Reference Manual, William S. Hawes, P.O. Box 308, Maynard, MA 01754 The Arexx Commands =================== Below you'll find all the AREXX commands of `DFA' in alphabetical order: ABOUT ------ Syntax: ABOUT Return value: Error code in RC Function: The `About' window pops up. APPEND ------- Syntax: APPEND FILENAME/A, FORCE/S Return value: Error code in RC Function: Addresses are appended to the existing ones. If the existing addresses have been changed before, the new list will *not* be appended. If you give the keyword `FORCE', however, the new addresses are appended in every case! CLEARALL --------- Syntax: CLEARALL Return value: Error code in RC Function: All entries of the address list are deselected. DESELECT --------- Syntax: DESELECT Return value: Error code in RC Function: The current entry (if there is one) is deselected. DIAL ----- Syntax: DIAL Return value: Error code in RC Function: The current address (if there is one) is dialed. EDIT ----- Syntax: EDIT ADDRESS/K, FIRST/K, NAME/K, STREET/K, ZIP/K, CITY/K, COUNTRY/K, BIRTHDAY/K, PHONE/K, EMAIL1/K, EMAIL2/K, EMAIL3/K, FAX/K, COMMENT/K, SELECT/S ADDRESS Address FIRST First name NAME Name STREET Street/No. ZIP Zip CITY City COUNTRY Country BIRTHDAY Birthday PHONE Telphone number EMAIL1 email address # 1 EMAIL2 email address # 2 EMAIL3 email address # 3 FAX Telefax number COMMENT Comment SELECT `1' if the entry is selected, `0' if it isn't. Return value: Error code in RC Function: The current address (if there is one) is changed in the given fields. The former contents of the specified fields are deleted. Fields that are not given are not changed and not deleted. Please notice that parameters that contain spaces, have to be set in inverted commas twice! Example: EDIT 'COMMENT="A test with spaces"' Please remember to use `'' for the outer and `"' for the inner quotation marks! FIRST ------ Syntax: FIRST Return value: * Error code in RC * ADDRESS/M Function: The first address of the list gets the current one. This address will be returned in `ADDRESS'. GETCURRENT ----------- Syntax: GETCURRENT Return value: * Error code in RC * ADDRESS/M Function: The current entry (if there ist one) is returned in `ADDRESS'. ICONIFY -------- Syntax: ICONIFY Return value: Error code in RC Function: If the main window of `DFA' is open, it will be closed. `DFA' is *not* terminated. KILL ----- Syntax: KILL Return value: Error code in RC Function: The current entry (if there ist one) is discarded. Be careful! There is no safety requester. The address will be deleted, even if you did some changes before. LAST ----- Syntax: LAST Return value: * Error code in RC * ADDRESS/M Function: The last address of the list becomes the current one. This address is returned in `ADDRESS'. LOAD ----- Syntax: LOAD FILENAME/A,FORCE/S Return value: Error code in RC Function: The given address file is loaded, if you did no changes before. In such a case use `FORCE' to load the file. NEW ---- Syntax: NEW ADDRESS/K, FIRST/K, NAME/K, STREET/K, ZIP/K, CITY/K, COUNTRY/K, BIRTHDAY/K, PHONE/K, EMAIL1/K, EMAIL2/K, EMAIL3/K, FAX/K, COMMENT/K, SELECT/S ADDRESS Address FIRST First name NAME Name STREET Street/No. ZIP Zip CITY City COUNTRY Country BIRTHDAY Birthday PHONE Telphone number EMAIL1 Email address # 1 EMAIL2 Email address # 2 EMAIL3 Email address # 3 FAX Telefax number COMMENT Comment SELECT `1' if the entry is selected, `0' if it isn't. Return value: Error code in RC Function: A new address entry is created, which contains the data given. NEXT ----- Syntax: NEXT Return value: * Error code in RC * ADDRESS/M Function: The next address is selected and returned in `ADDRESS'. NEXTSEL -------- Syntax: NEXTSEL Return value: * Error code in RC * ADDRESS/M Function: The next selected address becomes the current one and is returned in `ADDRESS'. POPUP ------ Syntax: POPUP Return value: Error code in RC Function: If `DFA' is sleeping (no window is open), the main window will be opened; otherwise an error code will be returned (`10'). PREV ----- Syntax: PREV Return value: * Error code in RC * ADDRESS/M Function: The previous address becomes the current one and is returned in `ADDRESS'. PREVSEL -------- Syntax: PREVSEL Return value: * Error code in RC * ADDRESS/M Function: The previous address that is selected becomes the current one and is returned in `ADDRESS'. PRINT ------ Syntax: PRINT WHICH/K, FILE/K, NLQ/S, CONDENSED/S, FORMFEED/S, FORM/N WHICH `WHICH' can get the following assignments: ALL All addresses are printed SELECTED Only the marked addresses are printed ACTIVE The active item (if there is one) is printed FILE If you give `FILE' together with a filename the addresses are not printed to the printer, but to the file. NLQ The addresses are printed in `N'ear `L'etter `Q'uality. CONDENSED The addresses are printed in condensed mode FORMFEED Afted the last address printed a formfeed is performed. Notice that the setting from the print window is *not* used here! FORM `Form' can be assigned to the numbers `0' to `4'. These numbers are (nearly) the same as in the `Print' window. The difference is that here the first number is `0' instead of `1': 0: Short address list 1: Long address list 2: Phone list 3: Mailing labels 4: Address cards Return value: Error code in RC Function: The desired addresses are printed. SAVE ----- Syntax: SAVE Return value: Error code in RC Function: The address list is saved using the current name. SAVEAS ------- Syntax: SAVEAS FILENAME/A, FORCE/S Return value: Error code in RC Function: The address list is saved using the given filename. SAVEASDEFAULT -------------- Syntax: SAVEASDEFAULT Return value: Error code in RC Function: The address list is saved using the default filename that is set in the `DFA' preferences (default: `s:adr.file'). SEARCH ------- Syntax: SEARCH PATTERN/A, IGNORECASE/S, FIELDS/K PATTERN A search pattern that follows the rules given by Commodore IGNORECASE `IGNORECASE' makes the search caseinsensitive. FIELDS You may assign the `FIELDS' keyword to the following values: ALL All fields are searched through. FIRST Only the `first name' fields are scanned. NAME Only the `name fields' are scanned. ZIP Only the `zip' fields are scanned. CITY Only the `city' fields are scanned. COUNTRY Only the `country' fields are scanned. BIRTHDAY Only the `birthday' fields are scanned. PHONE Only the `phone' fields are scanned. EMAIL Only the three `email' fields are scanned. COMMENT Only the `comment' fields are scanned. Return value: * Error code in RC * ADDRESS/M Function: It is searched for the given search pattern. If a matching item is found it will be returned in `ADDRESS'. If the main window of DFA is open, the address list is updated occordingly. SEARCHNEXT ----------- Syntax: SEARCHNEXT Return value: * Error code in RC * ADDRESS/M Function: The next appearance of the search pattern given in `SEARCH' is searched for. If there is a matching item, the entry will be returned in `ADDRESS'. If the main window of DFA is open, the address list is updated occordingly. SELALL ------- Syntax: SELALL Return value: Error code in RC Function: All addresses of the list are selected. SELBYNAME ---------- Syntax: SELBYNAME PATTERN/A Return value: Error code in RC Function: All addresses in the listview which contain the given pattern are *marked*. SELECT ------- Syntax: SELECT QUERY/S Return value: * Error code in RC * SELECTED/N Function: The current entry (if there is one) is selected. If you select `QUERY', the current address is *not* selected, but the existing selection status is returned (`0' or `1'). SORT ----- Syntax: SORT Return value: Error code in RC Function: The address list is sorted by name, first name and city (in `this' order). The Error Codes ================ The error code are the same as given by the AREXX manual: 0: No error 5: Warning 10: Error 20: Severe error If something goes wrong while working on a command, `DFA' returns `10' (`RC_ERROR') in RC! If there is a syntax error, the AREXX command parser returns `20'. Table of Arexx commands ======================== Command name Syntax Return Code(s) $* ABOUT.............ABOUT.............................Error code in RC APPEND............APPEND FILENAME/A, FORCE/S........Error code in RC CLEARALL..........CLEARALL..........................Error code in RC DESELECT..........DESELECT..........................Error code in RC DIAL..............DIAL..............................Error code in RC EDIT..............EDIT ADDRESS/K, FIRST/K, NAME/K, STREET/K, ZIP/K, CITY/K, COUNTRY/K, BIRTHDAY/K, PHONE/K, EMAIL1/K, EMAIL2/K, EMAIL3/K, FAX/K, COMMENT/K, SELECT/S........Error code in RC FIRST.............FIRST.............................Error code in RC ADDRESS/M GETCURRENT........GETCURRENT........................Error code in RC ADDRESS/M ICONIFY...........ICONIFY...........................Error code in RC KILL..............KILL..............................Error code in RC LAST..............LAST..............................Error code in RC ADDRESS/M LOAD..............LOAD FILENAME/A,FORCE/S...........Error code in RC NEW...............NEW ADDRESS/K, FIRST/K, NAME/K, STREET/K, ZIP/K, CITY/K, COUNTRY/K, BIRTHDAY/K, PHONE/K, EMAIL1/K, EMAIL2/K, EMAIL3/K, FAX/K, COMMENT/K, SELECT/S........Error code in RC NEXT..............NEXT..............................Error code in RC ADDRESS/M NEXTSEL...........NEXTSEL...........................Error code in RC ADDRESS/M POPUP.............POPUP.............................Error code in RC PREV..............PREV..............................Error code in RC ADDRESS/M PREVSEL...........PREVSEL...........................Error code in RC ADDRESS/M PRINT.............PRINT WHICH/K, FILE/K, NLQ/S, CONDENSED/S, FORMFEED/S, FORM/N...Error code in RC SAVE..............SAVE..............................Error code in RC SAVEAS............SAVEAS FILENAME/A,FORCE/S.........Error code in RC SAVEASDEFAULT.....SAVEASDEFAULT.....................Error code in RC SEARCH............SEARCH PATTERN/A, IGNORECASE/S, FIELDS/K..........................Error code in RC ADDRESS/M SEARCHNEXT........SEARCHNEXT........................Error code in RC ADDRESS/M SELALL............SELALL............................Error code in RC SELBYNAME.........SELBYNAME PATTERN/A...............Error code in RC SELECT............SELECT QUERY/S....................Error code in RC SELECTED/N SORT..............SORT..............................Error code in RC Miscellaneous ************** * *`DFA' is fontsensitiv* `DFA' adapts itself completely to the fonts you selected in the font preferences program of the Workbench! This means that the window will become bigger, if you select a font larger than 8 points! If the window becomes too large to fit into the screen, `DFA' uses the default topaz 8 point font. * *More than one `DFA' simultaneously?* It is not possible to run more than one `DFA' application at the same time! If you try, the `DFA', which is already running pops up and comes to front. * *Window Positions* `DFA' remembers the positions of all its windows. This means that the windows reopen on the same place you closed them! Saving of the window positions takes place when saving the preferences. Remember that you have to register to be able to do this. The window positions are stored relatively to the `DFA' main window! This means, if you move the main window, the subwindows reopen at the same place as before considering the space between the main window and the subwindow. * *The Application Icon* The application icon can only be created, if the corresponding `.info' file exists. This means that even if you start `DFA' only from the CLI, you should not delete this file! * *The Keyfile* On the disk that *registered* users get, there is a so called keyfile. You never should change anything within this file, because `DFA' will not recognize it if you do so! Hints and Tips *************** * *Export of addresses to other programs* Since version 1.1 of `DFA' has been finished, the export of addresses to other programms can easily be done by using the AREXX interface. If the other programm doesn't have an AREXX port, you can at least use `DFA''s AREXX port to bring the addresses to a format understood by the other program. * *Import of existing address databases into `DFA'* The import of addresses can also be done using the AREXX port of `DFA' (command: `NEW'). * *The format of a `DFA' address file* The address file of `DFA' is organized by the line. The very first line contains the recognition header of `DFA', which makes sure that only correct databases are loaded. The header is `DFAddress1.1'. Behind this header come all the addresses. One address has the format following: - Name - First name - Street/No. - Zip - Town - Country - Birthday - Phone number - Email address # 1 - Email address # 2 - Email address # 3 - Comment - [ Status flag ] - Address - Telefax number If the status flag is set (`1') the address is selected, otherwise (`0') it isn't. The street number is saved in the same line as the street name. `Address' und `Telefax' are positioned in the end, because these entries didn't exist in version 1.0 and in this way it has been easier to give the version 1.1 the possibility to read V1.0 address files. Registration ************* Registered users may skip the section; all others should read it *attentively*: Before you register, you have the opportunity to test `DFA' in great detail. However, when using the unregistered version you can't save the preferences (this feature is disabled). So you have to use the defaults. The tooltypes can be changed of course. As long as you don't register, the address file is always `s:adr.file' in `DFA''s home directory. You always have an application icon on your Workbench that can't be put to a different place on the screen. The modem parameters can't be changed. The window positions are remembered (during a `DFA' session), but not saved. In spite of all this restrictions it should be possible to see if `DFA' is what you expect. As soon as you use `DFA' regularly, please do register! The shareware fee amounts to German DM 20,- (US $ 15,-) Additional payment for postage will be needed, if you live not in Europa, to cover the air mail costs (see `Orderform' for details). You'll get your personal keyfile that enables the features mentioned above and a TeX manual (in German *and* English), a AmigaGuide manual (German *and* English) and an ASCII manual (German *and* English again). All manual files are on the disk only and *not* printed! In this case people who have TeX and a printer are able to print the documentation by themselves! The current version of `DFA' is included on the disk as well of course! Add another DM/US$ 10,- if you would like to get a printed manual. Please mark on the registration form as appropriate. As the manual makes about 50 pages up to now, it makes up a good part of the whole weight. If I will have to send it via air mail, this means that the postage by itself soon can be as much as the shareware fee. So, please send me an additional amount of money to cover these costs, if you live outside of Europa (see the `orderform' for details). If you did already register, you'll notice that I rised the shareware fee a bit. I didn't do this to earn more money, but to cover the increasing costs that `DFA' causes. Please allow about two weeks for delivery. Thanks. You'll find my address below, *Note Bug Reports::. Updates ******** I'm continuously working on `DFA' and I'll publish updates from time to time. These updates will be fed into the following electronic nets: * ADS Net * FRAS Net * AmiNet--FTP Server If you have access to such a electronic net, you can get the latest version of `DFA' quick and cheap. I do prefer this kind of update by myself because it saves me a lot of time (and money). However, connection to electronic services it not availble to everyone. For this reason you can get your update directly from me: * Send DM 10,- (Outside Europa: DM 15,- or US$ 10,-) and you'll get the latest version of `DFA' as soon as it is available. Please notice that this can last a few month from one version to the other, depending on how much time I'll find to work on `DFA'. * Alternatively you can send an stamped and selfaddressed envelope containing an empty disk. I'll send the latest version of `DFA' to you as soon as it will become available. Please notice that you have to use German or international stamps! Feel free to pay more than requested, I don't mind... Fred Fish will get `DFA' to include it in his library. However, it will last a few weeks until `DFA' finds its was on these disks. Please notice that all registered users, even if they only get a public release (e.g. on a Fish disk), can use it without any restrictions, as long as they did install their keyfile before. Bug Reports ************ The development of `DFA' already took quite a lot of time to do. Furthermore Kai Iske has done his part to make `DFA' what it is today. He got lots of my alpha and beta versions to test them. Well -- it was not always fun:-) He also pushed me to include commodity support and the edit hooks, thus to be implemented in the version 1.0 already. Since version 1.0 has been published, there have been many enhancements and bug fixes (see history file for details). All of you who made suggestions for improvement of `DFA' or reported bugs I would like to say thank you very much. Unfortunately all this doesn't mean that `DFA' has no more bugs in it (sorry). Surely there are some of them hidden anywhere in the dephths of the program. So I ask you to report any bugs you discover. If you have any ideas what should be improved in the future versions of `DFA', please feel free to write, (mail or email, doesn't matter) giving me any suggestions. Since version V1.2 of `DFA' has been done, DFA has been localized (Workbench 2.1 and better needed) and some people have been very busy translating the catalog files: * the Finnish translation was done by Tomi Blinnikka * the Dutch translation was done by Rudi Bracke * the Dansk translation was done by Tommy Hansen * the French translation was done by Hans-Juergen Kohrs * the Swedish translation was done by Mathias Korsbaeck * the Italian translation was done by Benoit Mortier My address for bug reports *and registration*: Home address: Dirk Federlein Brunnengasse 11a 8750 Aschaffenburg Germany Study address: Dirk Federlein Am Sonnenberg 34 8700 Wuerzburg Germany E-Mail: UUCP: dirkf@alcmy.franken.de FIDO: 2:249/40.12 FIDO: 2:242/14.26 If you want to transfer the registration fee via bank transfer, please use the following bank address. Remember, however, that transfering money between different countries may be quite expensive for you *and me*. Bank address: Bayerische Vereinsbank Aschaffenburg GERMANY BLZ: 795 200 75 No.: 160 6 140 E-mail reaches me always, no matter to which of the above addresses you write, because netmail is rerouted automatically. If you prefer to send "normal" mail to Wuerzburg during the holidays, it may last quite a long time until you'll get an answer because during the holidays I'm not in Wuerzburg quite often. If you don't know to which address you should write, just send the letter to Aschaffenburg, in which case it will reach me surely. *I hope you'll enjoy using DFA* *Yours.* *Dirk Federlein* Index ****** * Menu: * ABOUT: ArexxTable. * ABOUT: Arexx function ABOUT. * About: About. * Addresses: Info. * Append: Append. * APPEND: Arexx function APPEND. * APPEND: ArexxTable. * Arexx Commands: ArexxCommands. * Arexx commands: ArexxTable. * Arexx function About: Arexx function ABOUT. * Arexx function Append: Arexx function APPEND. * Arexx function Clearall: Arexx function CLEARALL. * Arexx function Deselect: Arexx function Deselect. * Arexx function Dial: Arexx function DIAL. * Arexx function Edit: Arexx function Edit. * Arexx function First: Arexx function FIRST. * Arexx function Getcurrent: Arexx function Getcurrent. * Arexx function Iconify: Arexx function ICONIFY. * Arexx function Kill: Arexx function KILL. * Arexx function Last: Arexx function LAST. * Arexx function Load: Arexx function LOAD. * Arexx function New: Arexx function New. * Arexx function Next: Arexx function NEXT. * Arexx function Nextsel: Arexx function NEXTSEL. * Arexx function Popup: Arexx function POPUP. * Arexx function Prev: Arexx function PREV. * Arexx function Prevsel: Arexx function PREVSEL. * Arexx function Print: Arexx function PRINT. * Arexx function Save: Arexx function SAVE. * Arexx function Saveas: Arexx function SAVEAS. * Arexx function Saveasdefault: Arexx function SAVEASDEFAULT. * Arexx function Search: Arexx function SEARCH. * Arexx function Searchnext: Arexx function SEARCHNEXT. * Arexx function Selall: Arexx function SELALL. * Arexx function Selbyname: Arexx function SELBYNAME. * Arexx function Select: Arexx function SELECT. * Arexx function Sort: Arexx function SORT. * Arexx Port: Info. * Arexx-Skripts: ByHand. * Basics: Basics. * Bug Reports: Bug Reports. * Catalog files: ByHand. * Changing the DFA Preferences: Changing the DFA Preferences. * Changing the Tool Types: Changing the Tool Types. * Check Boxes: Usage of DFA. * CLEARALL: ArexxTable. * CLEARALL: Arexx function CLEARALL. * Copyright: Copyright. * CX_POPKEY: Start from Shell. * CX_POPUP: Start from Shell. * CX_PRIORITY: Start from Shell. * Cycle Gadget: Usage of DFA. * default tool: Quick Start. * DESELECT: Arexx function Deselect. * DESELECT: ArexxTable. * DFA Step by Step: DFA Step by Step. * DIAL: ArexxTable. * DIAL: Arexx function DIAL. * documentation: ByHand. * EDIT: ArexxTable. * Edit: Edit. * EDIT: Arexx function Edit. * Edit Template: EditTemplate. * FIRST: ArexxTable. * FIRST: Arexx function FIRST. * Full: Full. * General: General. * GETCURRENT: Arexx function Getcurrent. * GETCURRENT: ArexxTable. * GUIDEFILE: Changing the Tool Types. * GUIDEFILE: Start from Shell. * Hints and Tips: Hints and Tips. * History: History. * ICONIFY: Arexx function ICONIFY. * ICONIFY: ArexxTable. * Info: Info. * Installation: Installation. * Installation by Hand: ByHand. * Installer: Installer. * keyfile: ByHand. * KILL: Arexx function KILL. * KILL: ArexxTable. * LAST: Arexx function LAST. * LAST: ArexxTable. * Listview: Usage of DFA. * LOAD: Arexx function LOAD. * Load: Load. * LOAD: ArexxTable. * Memory Condition: Info. * Miscellaneous: Miscellaneous. * New: New. * NEW: Arexx function New. * NEW: ArexxTable. * NEXT: Arexx function NEXT. * NEXT: ArexxTable. * NEXTSEL: ArexxTable. * NEXTSEL: Arexx function NEXTSEL. * Online Help: Usage of DFA. * POPUP: Arexx function POPUP. * POPUP: ArexxTable. * PORTNAME: Start from Shell. * Preferences: Preferences. * PREV: ArexxTable. * PREV: Arexx function PREV. * PREVSEL: ArexxTable. * PREVSEL: Arexx function PREVSEL. * Print: Print. * PRINT: Arexx function PRINT. * PRINT: ArexxTable. * public screen: Changing the Tool Types. * PUBSCREEN: Changing the Tool Types. * PUBSCREEN: Start from Shell. * Quick Start: Quick Start. * Quit: Quit. * Radio Button: Usage of DFA. * Registration: Registration. * Rexx: directory: ByHand. * Save: Save. * SAVE: ArexxTable. * SAVE: Arexx function SAVE. * Save as default: Saveasdefault. * Save as...: Saveas. * SAVEAS: Arexx function SAVEAS. * SAVEAS: ArexxTable. * SAVEASDEFAULT: ArexxTable. * SAVEASDEFAULT: Arexx function SAVEASDEFAULT. * SEARCH: Arexx function SEARCH. * Search: Search. * SEARCH: ArexxTable. * SEARCHNEXT: ArexxTable. * SEARCHNEXT: Arexx function SEARCHNEXT. * SELALL: Arexx function SELALL. * SELALL: ArexxTable. * SELBYNAME: ArexxTable. * SELBYNAME: Arexx function SELBYNAME. * SELECT: Arexx function SELECT. * SELECT: ArexxTable. * Settings: Settings. * shareware fee: Registration. * Shellstart: Start from Shell. * SORT: ArexxTable. * SORT: Arexx function SORT. * Start from Shell: Start from Shell. * String Gadget: Usage of DFA. * Table of Arexx commands: ArexxTable. * Table of Arexx commands: ArexxTable. * The Arexx Commands: The Arexx Commands. * The Arexx Port: The Arexx Port. * The directory Rexx:: ByHand. * The Error Codes: The Error Codes. * The Main Window: MainWindow. * The Menus of DFA: The Menus of DFA. * Updates: Updates. * UPPERPUBSCREEN: Changing the Tool Types. * UPPERPUBSCREEN: Start from Shell. * Usage of DFA: Usage of DFA. * Using the Installer Programm: Installer. * Warranty: Warranty. * What the hell is DFA?: What the hell is DFA?.