Macros and Dependencies

Version 2.41

March 24, 2010


Explanation:   The following is a list of macros which depend on other macros as procedures. That is, they do not work unless the dependent macro is in the same directory when they are compiled. Status Alpha means it doesn't yet work for me in its current form, and I have not yet included it in those available from my Web site. Beta means it works for me but has not been fully tested. Release means it works in all circumstances on my machine, and I hope it will work the same on yours. Under each macro are the procedures it uses, which need to be in the Local directory for the macro to function. The Procedures have an extension of ".proc," which shows that they only are compiled as a part of a macro.


Variables: S1$ through S4$ are temporary strings passed to other procedures which get cleared. S5$ through S9$ are strings which keep their values between macros. p1 through p9 and p1$ through p9$ are temporary variables within procedures which get cleared.


1.         CallerID.mac                        Status:             Alpha

            a.   Purpose: On incoming telephone call, displays Caller ID information and plays a custom sound announcing the call.

            b.   Incorporates CheckFile.proc, GetINIData.proc


2.         CheckFile.proc                      Status:             Release version 1.00

            a.   Purpose: Checks to see if specified INI or MXE file exists; if it doesn't find an INI file it runs a Setup macro; if it doesn't find an MXE file, it prompts to compile the specified macro.

            b.   Takes vIBase$, vFile$, vCategory$, uses p1, p1$


3.         CopyObject.mac                   Status:             Release version 1.10

            a.   Purpose: Copies a Person or Organization’s name and address, or a Thing’s description and data, to the Clipboard. Takes S9$; if S9$ is a program, launches that program and Pastes.

            b.   Incorporates GetObject.proc, GetData.proc, GetStringData.proc


4.         CopyObjectName.mac         Status:             Release version 2.20

            a.   Purpose: Copies an object's name (if a Person, constructs the whole name) to the Clipboard.

            b.   Incorporates GetObject.proc, GetData.proc


5.         EMail.mac                             Status:             Release version 4.0

            a.   Purpose: Sends e-mail to selected addresses, options regarding copies.

            b.   Incorporates CheckFile.proc, GetObject.proc, PlaySound.proc

            c.   Chains to EMail Setup.mxe if no INI file.


6.         EMailSelected.mac               Status:             Release version 1.1

            a.   Purpose: Sends e-mail to only one e-mail address.

            b.   Chains to EMail.mxe.


7.         EMailSetup.mac                   Status:             Release version 3.0

            a.   Purpose: Sets up initialization file for EMail.mac.

            b.   Incorporates Replace.proc, WaitForFile.proc. CheckFile.proc

            c.   Chains to EMail.mxe.


8.         ExpObject.mac                     Status:             Release version 2.01

            a.   Purpose: Exports an object's information to a text file.

            b.   Incorporates GetObject.proc, GetData.proc, WaitForFile.proc


9.         ExpoList.mac                        Status:             Alpha

            a.   Purpose: Exports all objects of a specified category on the current list to a text file.

            b.   Incorporates GetStringData.proc


10.       FindReplace.mac                  Status:             Release version 2.20

            a.   Purpose: Finds and replaces portions of a string in the current display list. For global changes to objects' data.

            b.   Incorporates GetObject.proc, GetStringData.proc, Replace.proc


11.       FindString.mac                     Status:             Release version 1.00

            a.   Purpose: Finds and displays all objects containing the specified string. A general search function.

            b.   Incorporates GetStringData.proc


12.       GetData.proc                        Status              Release, version 2.31

            a.   Purpose: Gets data fields and field values from objects for use by other macros. After calling this procedure, all the selected object's data is in vValue$(1) through vValue$(36).

            b.   Takes vGetData and S6$, uses vFile$, vMemo$(20), vMemoO$(20), vCatType$, p1$, p2$, p3$, p1, p2, p3, vObject$(16), vObjectID(16), vAdrYorN(16), vAdrChoice$, vMenuText$, vConnType$, vD$, vPosT, vPosV Object Field Names, Object Field Values, returns vGetData, Object Field Names, Object Field Values, Object name (on Clipboard and as vName$), clears S6$.

            c.   Incorporates GetPath.proc, GetStringData.proc, CheckFile.proc

            d.   Incorporated in CopyObject.mac, CopyObjectName.mac, EMail.mac, ExpObject.mac, Internet.mac, all "Push to" macros, SetLocal.mac, and TransferAddress.mac.

            e.    Chains to GetDataSetup.mxe if no INI file for the category.


13.       GetDataSetup.mac               Status              Release version 2.3

            a.   Purpose: Sets up initialization files for GetData.proc.

            b.   Incorporates GetStringData.proc, WaitForFile.proc

            c.   Chains to original macro that used GetData.proc.


14.       GetObject.proc                     Status:             Release version 1.0

            a.   Purpose: Chooses selected object or prompts to select an object from the list of a particular type (PERSON, ORGANIZATION, or THING) or types.

            b.   Takes S2$ ("Current" or "Ask"), S3$ (Types allowed), and vSound$, uses p1$, clears p1$, S2$ and S3$

            c.   Incorporates PlaySound.proc


15.       GetPath.proc                         Status:             Release version 1.0

            a.   Purpose: Splits a file title into its filename and path components.

            b.   Takes p1$, uses p2$ and p1, returns vFile$ and vPath$


16.       GetStringData.proc              Status:             Release version 2.0

            a.   Purpose: Gets the string data (name, value, type, attributes, etc.) for an object field. From that you can tell what kind of field it is and what is in it.

            b.   Uses p1, p2, p3, p4, p1$, p2$, p3$

            c.   Takes vField, Returns vD$, vAttribute$, vField$, vFSystem$, vFType, vValue$

            d.   Also produces vLen, vHex2$, vHex3$, vHex4$, vPosN, vPosV, vPosT, vPosA, vPosO, vPosS


17.       ICAccess.mac                        Status:             Alpha

            a.   Purpose: Access to InfoCentral data from within WordPerfect.

            b.   Incorporates EMail.mac (?), GetStringData.proc, GetData.proc


18.       Internet.mac                          Status:             Release version 3.11

          a.   Purpose: Accesses the Internet address for a selected object or pulls up a map for an address (MapIt).

          b.   Incorporates CheckFile.proc, GetObject.proc, GetData.proc, WaitForFile.proc, PostalAbbrev.proc., StateAbbrev.proc, Replace.proc.

          c.   Chains to Internet Setup.mxe if no INI file.


19.       InternetSetup.mac                Status:             Release version 3.0

            a.   Purpose: Sets up initialization file for Internet.mac.

            b.   Incorporates WaitForFile.proc

            c.   Chains to Internet.mxe.


20.       ListInfo.mac                          Status:             Release version 1.2

            a.   Purpose: Exports the current list structure to a text file. Useful for disk directories. Works independently or as called from the PerfectScript "ICListInfo.wcm" macro.


21.       ListSort.mac                          Status:             Beta version 0.3

            a.   Purpose: Sorts the current list correctly by date instead of alphabetically.

            b.   Incorporates GetData.proc


22.       MapIt.mac                             Status:             Release version 3.3

            a.   Purpose: Retrieves a map to the selected object from one of several different map services.

            b.   Chains to Internet.mxe (i.e., just a front end), sending it a value in S8$.


23.       MapItSelected.mac               Status:             Release version 2.0

            a.   Purpose: Retrieves a map to the selected object from specified map service.

            b.   Chains to Internet.mxe, sending it a value in S8$.


24.       MultiConnect.mac                       Status:             Release version 4.00

            a.   Purpose: Connect one object to all objects of a specified category on the list.

            b.   Incorporates GetObject.proc, Replace.proc


25.       PalmExpoList.mac               Status:             Alpha

            a.   Purpose: Exports the entire current list to a CSV format importable to Palm Desktop.

            b.   Incorporates GetData.proc


26.       PlaySound.proc                    Status:             Release version 1.0

            a.   Purpose: Plays a WAV file using Wizmo, if present, or Sound Recorder if not.

            b.   Takes vSound$; if blank, doesn't play anything.


27.       PostalAbbrev.proc                Status:             Release version 1.1

            a.   Purpose: Transforms a street address into postal abbreviations for MapIt.

            b.   Takes S1$, transforms and returns it.


28.       Push Menu.mac                    Status:              Release version 2.0

            a.   Purpose: Presents a menu of "Push to" macros available.

            b.   Incorporates CheckFile.proc, Replace.proc, GetObject.proc, WaitForFile.proc

            c.   Chains to Push MenuSetup.mxe if no INI file.


29.       Push MenuSetup.mac          Status:              Release version 2.0

            a.   Purpose: Sets up initialization file for Push Menu.mac.

            b.   Incorporates WaitForFile.proc

            c.   Chains to Push Menu.mxe


30.       Push to EMail.mac               Status:             Release version 2.0

            a.   Purpose: Exports a name and address to Mozilla Thunderbird address book.

            b.   Incorporates GetObject.proc. GetData.proc


31.       Push to Fax.mac                   Status:             Release version 2.0

            a.   Purpose: Exports a name and address to WinFax address book.

            b.   Incorporates GetObject.proc. GetData.proc


32.       Push to Outlook.mac            Status:             Release version 2.0

            a.   Purpose: Exports a name and address, or task, or event, or memo to Microsoft Outlook 1997.

            b.   Incorporates GetObject.proc. GetData.proc


33.       Push to Palm.mac                 Status:             Release version 3.02

            a.   Purpose: Exports a name and address, or task, or event, or memo to Palm Desktop.

            b.   Incorporates GetObject.proc. GetData.proc


34.       Push to Stamps.mac             Status:              Release version 2.01

            a.   Purpose: Exports a name and address to address book.

            b.   Incorporates GetObject.proc. GetData.proc, StateAbbrev.proc, Replace.proc


35.       Push to Timeslips.mac         Status:              Release version 3.01

            a.   Purpose: Exports a name and address to Timeslips versi on 7.

            b.   Incorporates GetObject.proc. GetData.proc, StateAbbrev.proc


36.       Push to WordPerfect.mac    Status:              Release version 2.0

            a.   Purpose: Exports an object to WordPerfect 11. Easily alterable to push to another program that needs an address block (e.g., any other word processor).

            b.   Chains to CopyObject.mxe.


37.       Replace.proc                         Status:             Release version 1.0

            a.   Purpose: Replaces one substring with another within another string. For example: If S1$ is "##String##", S2$ is "@", and S3$ is "#", pReplace will return "@@String@@". Useful for fixing up strings.

            b.   Takes S1$ (string being operated on), S2$ (what to insert), S3$ (what to delete), returns S1$, keeps S2$, S3$


38.       SetLocal.mac                         Status:             Release version 1.1

            a.   Purpose: Sets the Local directory for InfoCentral.

            b.   Incorporates CheckFile.proc, GetObject.proc, GetData.proc, Replace.proc


39.       StateAbbrev.proc                 Status:             Release version 1.1

            a.   Purpose: Turns long state and country names into their abbreviations (e.g., "Texas" to "TX" and "United States" to "US"). Only works for Canada and the U.S.

            b.   Takes S1$ (Country) and S2$ (State or Province), uses vState$(55), p1, p2, returns S1$, S2$


40.       Template for Push To.mac  Status:              Release version 2.0

            a.   Purpose: Template for creating your own "Push To" macros.

            b.   Incorporates GetObject.proc. GetData.proc


41.       Transfer Address.mac          Status:              Release version 2.1

            a.   Purpose: Transfer a Person or Organization's address to another one.

            b.   Incorporates GetObject.proc. GetData.proc


42.       Transfer Any Value.mac     Status:              Release version 1.1

            a.   Purpose: Sends “ALL” modifier to TranValue.mac.

            b.   Chains to TranValue.mac


43.       Transfer Value.mac     Status:              Release version 1.1

            a.   Purpose: Sends “LIMITED” modifier to TranValue.mac.

            b.   Chains to TranValue.mac


44.       TranValue.mac              Status:              Release version 1.1

            a.   Purpose: Transfer one object’s value to the whole list; NOT to be run by itself, only as called by Transfer Value or Transfer Any Value.

            b.   Incorporates GetObject.proc. GetStringData.proc, RadioButtonValue.proc, CheckBoxValue.proc


45.       WaitForFile.proc                  Status:             Release version 1.0

            a.   Purpose: Waits for a generated file (e.g., an INI file) to appear on disk, then continues.

            b.   Takes vFile$, uses p1$ and p1, clears p1$ and p1