Corel WordPerfect 7 Macro Programming Example

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.

disinfecting cleaning services Arlington Heights ..
In The News:

Malicious Chrome and Edge extensions collected browsing history, keystrokes and personal data from millions of users before Google and Microsoft removed them.
Google's new Call Reason feature lets Android users mark calls as urgent before dialing, displaying an urgent label to recipients using Phone by Google app.
Medical history made as surgeons successfully restore sight to legally blind patient using world's first 3D printed corneal implant grown from human cells.
Data brokers aggressively collect your holiday shopping data to fuel scams and targeted ads. Learn how to delete your digital profile before 2025 starts.
Scammers are sending fake MetaMask wallet verification emails using official branding to steal crypto information through phishing links and fraudulent domains.
Learn what background permissions, push notifications, security updates, auto-join networks and app refresh mean to better manage your phone's privacy settings.
Criminals test stolen data by applying for deposit accounts in victims' names to prepare bigger attacks. Learn why banks won't share fraud details.
New study of 10,500+ kids reveals early smartphone ownership linked to depression, obesity, and poor sleep by age 12. Earlier phones mean higher risks.
A phone phishing attack compromised Harvard's alumni and donor database, marking the second security incident at the university in recent months.
AutoFlight's zero-carbon floating vertiport uses solar power to charge eVTOL aircraft while supporting emergency response, tourism, and marine energy maintenance.
A new phone return scam targets recent buyers with fake carrier calls. Learn how criminals steal devices and steps to protect yourself from this fraud.
New Anthropic research reveals how AI reward hacking leads to dangerous behaviors, including models giving harmful advice like drinking bleach to users seeking help.
The Fox News AI Newsletter gives readers the latest AI technology advancements, covering the challenges and opportunities AI presents.
Holiday email scams, including non-delivery fraud and gift card schemes, spike in November and December, costing victims hundreds of millions, the FBI says.
Holiday visits offer the perfect opportunity to help older parents with technology updates, scam protection and basic troubleshooting skills for safer digital experiences.
Swiss scientists create grain-sized robot that surgeons control with magnets to deliver medicine precisely through blood vessels in medical breakthrough.
Researchers exploited WhatsApp's API vulnerability to scrape 3.5 billion phone numbers. Learn how this massive data breach happened and protect yourself.
Travel companies share passenger data with third parties during holidays, but travelers can protect themselves by removing data from broker sites and using aliases.
Xpeng's humanoid robot moves so realistically that crowds believed it was fake, marking a major advancement in robotics technology ahead of 2026 commercial launch.
Researchers discover phishing scam using invisible characters to evade email security, with protection tips including password managers and two-factor authentication.
iPhone and Android users can reduce battery drain and data usage by restricting Background App Refresh to Wi-Fi connections instead of mobile networks.
Scammers nearly stole an Apple account by exploiting the support system with authentic-looking tickets and phone calls, users can protect themselves with safety steps.
FoloToy restored sales of its AI teddy bear Kumma after a weeklong suspension following safety group findings of risky and inappropriate responses to children.
Threat intelligence firm Synthient uncovers one of the largest password exposures ever, prompting immediate security recommendations.
Viral video shared by Elon Musk shows Tesla's Optimus humanoid robots performing tasks from cooking to construction, garnering over 58.5 million views on social media.

3 Reasons Why Medical Billing Software is Leading the Way

Since technology changes so quickly, it is hard to begin... Read More

Create ASP in Minutes

DBxtra goes ASPGetting to the information hidden within corporate databases... Read More

ERP System of the Future: Database, Business Logic and Interface

We will base our prognosis on our Microsoft Business Solutions... Read More

Microsoft Great Plains eCommerce ? Stored Procedures Approach

Since Version 8.0 Microsoft Business Solutions Great Plains & Great... Read More

What is Software Piracy?

There are several kinds of software piracy. The bottom line... Read More

Crystal Reports For Microsoft Navision - Overview For Programmer/IT Specialist

Let us give you - developer some hints in the... Read More

Great Plains Dexterity Customization Options ? Overview For Developers

Looks like Microsoft Great Plains becomes more and more popular,... Read More

Start Developing Your Own Software

Learning how to program software seems like a daunting task... Read More

C++ Tutorials: 3, Program Flow (If, Else, While, For)

Program Flow is what you think it is. How the... Read More

Microsoft Great Plains Implementation in Russia ? Overview for Consultant

Microsoft Business Solutions Great Plains is very popular ERP platform... Read More

How to Upgrade Dexterity Customization ? Tips for IT Manager

If you have Microsoft Great Plains and support it... Read More

Microsoft Business Solutions VAR/Partner Selection ? Overview for IT Director/Manager/Controller

Microsoft Great Plains and Microsoft CRM become more and more... Read More

Microsoft CRM Custom Design & Development: SDK, C#, SQL, Exchange, Integration, Crystal Reports

Microsoft CRM is new player on the CRM software... Read More

Two Reasons to Use Timesheet Software

This short paper will expand on two key reasons to... Read More

Ukraine IT Myths Dispersed

While Ukraine is becoming a new popular IT outsourcing destination,... Read More

Fast Car Knoppix

Small can be beautiful! Working with Knoppix for the past... Read More

Microsoft Navision Integration with Microsoft RMS - Overview for IT Specialist

Microsoft Business Solutions Navision serves both European and American megamarkets.... Read More

Integrating Microsoft Great Plains Accounting/ERP: RMS, CRM, eCommerce, Lotus Domino ? overview

Microsoft Business Solutions Great Plains has substantial market share among... Read More

Microsoft Great Plains - Typical Problems And Fixes ? Overview For IT Administrators

How to delete the user? This is the first problem... Read More

Twelve Things You Should Know to Save on Computer Software

Do you want to get quality software at a reasonable... Read More

Free Microsoft Word Online Training Tutorial Resources

Microsoft Word is one of the most popular office applications... Read More

Microsoft Great Plains, Navision, Axapta ? Selection Considerations

During the years of our consulting practice, which comes back... Read More

String in Java

Handling character strings in Java is supported through two final... Read More

Microsoft CRM Programming Secrets ? Tips For Developers

This article is for advanced Microsoft CRM SDK C# developers.... Read More

FreeDOS

Before September 1995, Microsoft Windows was an MS-DOS program. DOS... Read More

bathroom cleaning service Mundelein ..