{MCOVAR} returns the covariance matrix between two or more data sets. {MCOVAR} is equivalent to the Covariance analysis tool.
Parameters
InBlock Input cells containing two or more sets of numeric data arranged in columns or rows
OutBlock upper-left cell of the output cells
Grouped "C" to group results by column or "R" to group results by row; the default is "C"
Labels 1 if labels are located in the first column or row of the input cells; 0 if the input cells do not contain labels; the default is 0
{MENU}
Description
{MENU} is equivalent to the Menu key (Alt or F10). This command moves the selector to the menu bar and highlights the first menu.
{MENUBRANCH}
Syntax
{MENUBRANCH Location}
Description
{MENUBRANCH} pauses macro execution to display the custom pop-up menu stored at Location. After you choose an item from the menu, macro execution continues with the cell below the description of the menu choice. Often this is a {BRANCH}. The only exception is if you press Esc or click outside the menu; in this case, the macro continues in the {MENUBRANCH} cell.
With the exception of the Esc key, a custom pop-up menu acts the same as one of Quattro Pro's own menus. You can press the arrow keys to look at each item, and can choose a menu item by pressing Enter while highlighting it, pressing the first letter of the menu item's name, or choosing it with the mouse.
Example
The following macro displays a custom menu that offers you three choices. If you press Esc, the menu is redisplayed with {BRANCH \F}.
quit_menu Continue Return Quit
Continue macro Return to Ready Leave Quattro Pro
{BRANCH \F} {BRANCH _continue} {MENUBRANCH sure}
sure No Yes
Stay in Quattro Pro Return to DOS
{BRANCH \F} {FileExit}
\F {MENUBRANCH quit_menu}
{BRANCH \F}
_continue
Parameters
Location cells containing menu cells
Note
This command is obsolete
{MENUCALL}
Syntax
{MENUCALL Location}
Description
{MENUCALL} pauses macro execution and displays the custom pop-up menu stored at Location. It treats the called menu as a subroutine. After you choose an item from the menu, macro execution continues in the cell containing {MENUCALL}.
See {ADDMENU} and {ADDMENUITEM} for information on adding menus or menu items to the Quattro Pro menu bar.
Example
The following macro uses two consecutive custom menus to let you change search criteria for a database. It then copies records that meet the criteria to the output cells and branches to another macro to print the output cells as labels. The cell name stat references the cell in the criteria table containing A in the example; pay references the cell in the criteria table containing F.
m_status Active Retired
Active Members Retired Members
{LET stat, "A"} {LET stat, "R"}
m_paid Paid Unpaid
Dues are paid Dues are unpaid
{LET pay, "T"} {LET pay, "F"}
\M {;Choose members for label print}
{MENUCALL m_status}
{MENUCALL m_paid}
{Query.Extract}
{BRANCH print_labels}
Database Criteria Cells:
STATUS PAID
A F
Parameters
Location Cells containing a custom Quattro pro menu
{MESSAGE}
Syntax
{MESSAGE Block,Left,Top,Time}
Description
{MESSAGE} displays the contents of Block in a dialog box until Time is reached; Time is a standard Quattro Pro date/time serial number (decimal portion). The window appears at the screen (not the notebook) coordinates Left,Top.
The message box contains a "snapshot" of current Block contents, including all fonts, colors, and other formatting. If Block includes a floating chart, bitmap, or macro button, its image displays in the message cells.
The height and width of the message box depend on the defined width and depth of Block. If text overflows the cell it is typed into, be sure to include adjoining cells in Block. Otherwise, the message will be truncated at the edge of Block.
The message box always appears over the frontmost window, even if that window is not a notebook (for example, a chart window).
If you enter 0 for Time, Quattro Pro displays the box until you press any key. (You can use {GRAPHCHAR} to test for which key is pressed.)
Example
This example displays a message box for 15 seconds and then displays another box indefinitely. If you press Y, the macro closes the notebook without saving it. If you press N (which is returned in the cells the_key), you remove the second message box.
the_key
\A {MESSAGE msg1,15,5,+@NOW+@TIME(0,0,15)}
_warning {MESSAGE msg2,15,5,0}
{GRAPHCHAR the_key}
{IF @UPPER(the_key)="Y"}{BRANCH _lose_data}
msg1 Warning! You may lose data if you continue.
msg2 Are you sure you want to continue?
Press Y to continue or any other key to cancel...
_lose_data {FileClose 0}
Parameters
Block Cell name or coordinates of the text and/or floating object to display in the message box
Left Screen column number (counting from 0) where the top-left corner of the box should appear
Top Screen line number (counting from 0) where the top left corner of the box should appear
{MOVEAVG} returns a moving average for a specified Interval based on the values for the preceding periods in InBlock. {MOVEAVG} is equivalent to the Moving Average analysis tool.
Parameters
InBlock Input cells containing a single column or row with at least four numeric values; the cells must not contain labels
OutBlock Upper-left cell of the output cells
Interval Number of values to include in the moving average; the default is 3
StdErrs Flag indicating whether to include standard error values in the OutBlock: yes (1) or no (0); the default is 0
{MOVETO}
Syntax
{MOVETO x,y}
PerfectScript Syntax
MoveTo (x:Numeric; y:Numeric)
Description
{MOVETO} moves all selected objects in the active window (dialog, chart, or Objects sheet window) to the position specified by x,y. Since {MOVETO} is context sensitive, you can use it to move controls in a dialog window or drawings in a chart window. It also moves chart icons on the Objects sheet. (Use {FLOATMOVE} to move floating objects in a notebook window.)
The coordinates x and y represent where to move the upper-left corner of the object(s). Object size does not change.
Parameters
x,y Position to move the currently selected object(s) to in pixels
{MTGAMT} generates an amortization schedule for a mortgage. {MTGAMT} is equivalent to the Amortization Schedule analysis tool.
Parameters
OutBlock Upper-left cell of the output cells
Rate Yearly interest rate; the default is 0.12
Term Number of years in the loan; the default is 30 years; can be a fractional value to designate months (for example, 3+5/12)
OrigBal Original loan balance; the default is $100,000
EndBal Balance at loan completion; the default is $0
LastYear Last year through which the amortization period is generated; the default is equal to Term (the end of the loan); can be a fractional value to designate months (for example, 3+5/12)
{MTGREFI} generates a table of information relating to refinancing a mortgage. {MTGREFI} is equivalent to the Mortgage Refinancing analysis tool.
Parameters
OutBlock Upper-left cell of the output cells
CurrBal Remaining principal on the current loan
CurrRate Annual interest rate on the current loan
RemTerm Remaining term on the current loan
CandPctFees Percentage fees ("points") for the candidate loan
CandRate Annual interest rate for the candidate loan
{Multiply}
Syntax
{Multiply.Option}
PerfectScript Syntax
Multiply_Destination (Block:String)
Multiply_Go ()
Multiply_Matrix_1 (Block:String)
Multiply_Matrix_2 (Block:String)
Description
{Multiply} multiplies one matrix ({Multiply.Matrix_1 Block}) by another ({Multiply.Matrix_2 Block}) and stores the product in other cells ({Multiply.Destination Block}). Use {Multiply.Go} after the other matrix-multiplication command equivalents to complete the operation.
You can use this command equivalent with {Invert.Option} to solve sets of linear equations.
You can use {Multiply?} or {Multiply!} to display the Matrix Multiply dialog box. {Multiply?} lets you manipulate the dialog box, whereas {Multiply!} relies on the macro to manipulate it.
Example
This macro multiplies cells C2..D6 by cells C18..G19 and stores the results in the cells with upper-left cell F1.
{Multiply.Matrix_1 A:C2..D6}
{Multiply.Matrix_2 A:C18..G19}
{Multiply.Destination A:F1}
{Multiply.Go}
Options
{Multiply.Destination Block} Specifies the top-left cell of the area where you want to write the resulting matrix
{Multiply.Go} Executes the multiplication
{Multiply.Matrix_1 Block} Specifies the first matrix to multiply
{Multiply.Matrix_2 Block} Specifies the second matrix to multiply