Case study:
A secretary using Corel WordPerfect 7 is often required to carry out calculations and insert the values into invoices or other documents.
She does this by entering calculations into either a real calculator and transcribing the answer, or the Microsoft calculator and copying then pasting the result into the document. Doing this affects her productivity as this process increases the time taken to complete work and wastes time in correcting inevitable errors that occur.
Proposal:
A secretary has asked for software to be written which enables her to do calculations and, if required, convert standard numbers to values of currency as a simple operation within Corel WordPerfect 7.
Feasibility study:
Having analysed the problem outlined above this operation is ideally suited for automation. A solution based on a macro would be advisable to the existing methods in place. The saving in time and increased productivity makes the proposed system a practical and effective alternative to the current manual system.
User Requirements:
The user needs to enter calculations into a new or existing document at different stages throughout the creation of the text. The user also requires that the macro does not change the formatting of the document in any way.
The user requires the ability to select the following options for formatting the output: 1) Displaying a sum in standard numbers or currency.
2) Displaying a sum using a minus sign or brackets to show negative figures.
3) Optional use of commas where required.
Specification:
Applications software to be used: Corel WordPerfect 7.
Purposes of using macro: Calculate the sum of any numerical data specified by the user.
Data to be embedded in macro: Any numerical data entered by the user.
Use of macro: Accelerate processing of data therefore increasing productivity, by cutting out the additional keystrokes needed to run the calculation manually.
Solution:
A macro that uses the table feature in Corel WordPerfect 7 to carry out the required mathematical operations then insert the result in place of a calculation entered as a formula. This solution will take between one to three seconds to complete any operation, running on a correctly configured and fully operational system of the description specified below.
Design of the system
Taking into consideration the needs of the user and the resources available in the execution of the macro in this environment. I have derived an algorithm that meets all the requirements outlined above. The specification for the stand alone programmable system needed is as follows:
Typical configurations required:
16 Megabytes of RAM.
Microsoft compatible mouse.
Corel WordPerfect 7.
The macro file.
155 MHZ Pentium processor.
1 Gbyte hard disk capacity or Windows 98.
Microsoft compatible keyboard.
DOS 6.0 or better.
Windows 95
Method of input:
Keyboard, numerical characters or key pad. Capture method: Transfer to clipboard. Input data: Any numerical data entered by the user. Output data: The sum of a calculation in numerical form.
Method of output: To VDU at the point of input data.
Using this specification I have written an algorithm that makes effective use of the resources available in Corel WordPerfect 7.
Algorithm for applications software macro:
[1] Check for input.
[a] Exit if none found.
[2] Select formula.
[3] Create a one cell table.
[4] Insert an equals sign before the formula.
[5] Calculate the table.
[6] Verify that result is not invade.
[a] Exit if error found (=5+6e).
[7] Request user input (formatting).
[a] Exit at user request (presses cancel).
[b] Revert operations & clean up.
[8] Format the output:
[a] Standard numeric.
[b] Currency.
[c] Use commas.
[d] Use negative format.
[8] Delete the table leaving the solution in place of the originally entered formula.Software development
The solution to the algorithm stated above in the form of a macro that meets all the requirements identified in the analysis is as follows:
Macro script:
// Macro: Automath.wcm // Written in: Perfect Script // Purpose: Calculate the sum of numerical data // Compiled: 5/09/04 // © 1998 Michael Hart //================================================= // Identify compiler, application to use Application (A1; "WordPerfect"; Default; "UK")
If (?DocBlank) Condition executed if document blank // Go to subroutine oninput go(oninput) endif
// Select data block left of insertion point Selectwordprevious () // Condition executed if no data found If (?SelectedText="") // Go to subroutine error go(error) endif // Convert selected data block to a table Tableconvertfrom (type: tabularcolumns!) // Set default table style TableCellNumberFormat (FormatType: General!) // Turn off Update associated charts option Tableupdateassociatedcharts (state: off!) // Insert an equal sign left of data block Type (text: "=") Tablecalculate () // Calculate formula values in the table
// If formula syntax is invalid go to else If(?CellFormula) // Display menu dialog box DialogShow(5001;"WordPerfect") // Condition executed if user presses cancel If(MacroDialogResult = 2) // Revert the last operations Undo(1) // Move insertion point to end of data bock PosWordNext () // Go to subroutine end Go(end) Endif
// Condition executed if currency is defined If(currency) // Specify format data as currency [£00.00] TableCellNumberFormat (FormatType: Currency!) TableCellNumberNegativeNumber (NegDisplayType: Minus!) Endif
// Condition executed if negatives defined If(negatives) // Specify negative format [(9)] Tablecellnumbernegativenumber (negdisplaytype: parentheses!) Endif
// Specify commas are not used TableCellNumberUseCommas (State: No!)
// Condition executed if commas defined If(commas) // Specify format data using commas [2,000] TableCellNumberUseCommas (State: Yes!) Endif
// Select the table. Tableselecton (selectionmode: table!) // Select all cells in the current table Selecttable () // Delete table convert contents to document Tabledeletetable (delwhat: converttotabs!) // Move insertion point to end of data bock PosWordNext () // Go to subroutine end Go(end) // If formula syntax is invalid then Else endif
// Identify the subroutine error Label(error) // Display error message box in event of invalid formula MessageBox (; "AUTOMATH UNABLE TO COMPLY"; "Invalid data exists in formula. Sequence terminated."; IconStop!) // Delete table convert contents to document Tabledeletetable (delwhat: converttotabs!) // Delete character right of the insertion point DeleteCharNext () // Go to subroutine end Go(end)
// Identify subroutine oninput. Label(oninput) // Display error message box in event of blank document MessageBox (; "AUTOMATH UNABLE TO COMPLY"; "No input provided! Sequence terminated."; IconStop!)
// Identify the subroutine end Label (end) // End macro Quit //====================================================
Implementation:
Preliminary diagnostics: After running the macro on a system of the same specification to that of the system it is intended to be implemented, the preliminary diagnostic tests show the operational time to remain within the range predicted during the analysis.
The following tests were performed to confirm that the macro meets all of the requirements under real conditions.
Tests to be applied: Test # one of basic macro: 1) Find an individual that knows nothing about this macro.
2) Observation of this individual doing the following:
[a] Easily using the instructions.
[b] Load Corel WordPerfect 7.
[c] Enter valid numerical data.
[d] Access the macro file.
[e] Run the macro.
[f] Repeat steps [c] to [e] using all possible combinations of the options. Ideally, the individual should be able to do the above with no assistance.
3) Observation of the macro running as intended in all conditions.
Basic test conditions: Valid Input: Output: Invalid Input: output: [a] 5-5 0 [a][nothing] Error [b] 2+2 4 [b] qwerty Error [c] 2-4 -2 [c] 2gh+32 Error [d] 100*200 20000 [d] !"£$% Error [e] 50/1 50 [e] 1+4-1$ Error [f] 1+2-3*4/5 0.6 [f] one*two Error [g] 12345 £12,345.00 [g] a1-d3 Error (??)
Test # two of debugged version:
1) Release the software on the LINK bulletin board system (run by Legalease) for evaluation by it's users. (the LINK is a special network for lawyers who often need maths functions in written work).
2) Collect commentary from the people willing to help.
3) Investigate and implement any changes or revisions necessary.
Maintenance:
Commas appear in values of currency regardless of the settings. This bug has been successfully corrected.
I am the website administrator of the Wandle industrial museum (http://www.wandle.org). Established in 1983 by local people to ensure that the history of the valley was no longer neglected but enhanced awareness its heritage for the use and benefits of the community.
![]() |
|
![]() |
|
![]() |
|
![]() |
Microsoft Business Solutions Great Plains, former Great Plains Software Dynamics... Read More
TCO (Total Cost Ownership) is the buzzword in... Read More
There is many things more frustrating than surfing a website... Read More
It could just be me, but my experiences with document... Read More
Although we don't know whether Microsoft ever envisioned such a... Read More
In part III of this ISDN primer, we learned that... Read More
An integral part of any quality CRM system is lead... Read More
When my daughter was getting into AOL instant messaging (AIM)... Read More
When you think... Read More
Costs of fleet maintenance software can vary widely. It is... Read More
Microsoft Business Solutions Great Plains, Solomon, Navision, Axapta, Microsoft CRM... Read More
Creating a new markup language.Introduction.General Reuse Markup Langauge, or GRML,... Read More
Finding the best spyware removers to detect and remove spyware... Read More
Intro This concise article will tell you in plain English... Read More
Upgrading. Downtime. Maintenance. Hardware obsolescence. Implementation issues. The litany of... Read More
Microsoft CRM is CRM answer from Microsoft Business Solutions. If... Read More
In this small article we will show you the possible... Read More
IBM Lotus Notes with Domino email server is traditional document... Read More
Follow the steps below to quickly design, generate, and deploy... Read More
Adware is a type of Spyware program that displays some... Read More
When Great Plains Software introduced the first graphical accounting application... Read More
C++ Function templates are those functions which can handle different... Read More
(1) Avoid using the same variable again and again for... Read More
Microsoft Business Solutions Great Plains, Navision, Axapta, Solomon and CRM... Read More
Need software to record your voice, streaming audio or musical... Read More
Shareware is software that you can try before you buy;... Read More
Preventive Maintenance (PM) is defined as scheduled work done on... Read More
Just stress testing one of the latest Linux distributions. Been... Read More
This article will not attempt to advocate the use of... Read More
Microsoft Business Solutions Great Plains is written in Great Plains... Read More
Microsoft CRM is CRM answer from Microsoft Business Solutions.The whole... Read More
We would like first emphasize the change in the paradigm.... Read More
Microsoft Business Solutions Great Plains is marketed for mid-size companies... Read More
The major reason I recommend getting your hands on real... Read More
Microsoft Great Plains and Microsoft CRM become more and more... Read More
Enabling Chinese input is quick and easy, there are only... Read More
According to a survey conducted by InfoTrends/CAP Ventures entitled "Content-Centric... Read More
The first topic we are going to discuss... Read More
Usually, the easiest way to tell you have spyware is... Read More
IBM Lotus Notes Domino and Microsoft CRM (Client Relation Management)... Read More
XML parser is a software module to read documents and... Read More
Customer Relationship Management, abbreviated "CRM," is the term for a... Read More
Microsoft Business Solutions Great Plains has I'd say end user... Read More
Microsoft CRM is winning market share step-by-step from such the... Read More
Hey Guys! Don't raise your eyebrows or fear by hearing... Read More
Many reasons made GBM a unanimous choice for experts, one... Read More
Microsoft CRM and IBM Lotus Notes Domino seem to be... Read More
Microsoft Business Solutions Great Plains has Project Accounting module where... Read More
So, you've bought a new Macintosh, and now you may... Read More
Microsoft Business Solutions CRM is web-based CRM application, deploying all... Read More
When it comes to screenplay software each screenwriter needs to... Read More
This article will not attempt to advocate the use of... Read More
RSS (Really Simple Syndication) is a way for a site... Read More
(1) Avoid using the same variable again and again for... Read More
Ad-Aware and Spybot are probably the two most well known... Read More
Microsoft Business Solutions CRM is now approaching the phase of... Read More
The Internet is reshaping every form of communications medium, and... Read More
What is Colossus?Colossus is software licensed to about twenty-five insurance... Read More
What is RAID RECOVERY?RAID stands for Redundant Array of Inexpensive... Read More
Do you want to get quality software at a reasonable... Read More
Linux essentials:It's free for download but you have to pay... Read More
XML Server can be a Web Server that stores the... Read More
The adware and spyware definitions list is very long. But... Read More
TikiWiki is open source software - it is written in... Read More
I started using PIP (Picture It Publishing) Platinum 2002 right... Read More
The Microsoft system preparation utility for Windows 2000 is a... Read More
Software |