MOVE, CMOVE

Top  Previous  Next

Syntax

 

1. move col|{numexpr}, row|{numexpr}, cols|{numexpr}, rows|{numexpr}, newcol|{numexpr}, newrow|{numexpr} [,retain]

 

2. move "text|!=text|~regexp|!~regexp[@left,top,right.bottom]", col|{numexpr}, row|{numexpr}, cols|{numexpr}, rows|{numexpr}, movecols|{numexpr}, moverows|{numexpr} [,retain]

 

Description

 

cmove causes cols and rows to be interpreted as the opposite corner of the region to be moved.

 

The move keyword moves a block of text to a new location on the page.  Syntax 1 moves the region indicated by col, row, cols, and rows so the new upper left point is at newcol, newrow.  Syntax 2 searches for occurrences of text or the regular expression regexpr, respectively, and uses each location found as a point from which col and row are measured (0-based movement).  The rectangular region specified is then moved movecols left or right, and moverows up or down. The search for text or regexpr can be limited to a region on the page by adding a suffix in the format '@left,top,right,bottom'.  To use a literal "@" character in text or regexpr, it is necessary to specify "\@".

 

If used, numexpr is a Business Basic expression that generates a numeric value for the column, row, columns, or rows, and also the "new" column and row (syntax 1) and the "move" columns and rows (syntax 2).

 

If the syntax "!=text" or "!~regexpr" is used, then the search is for positions NOT equal to the text or NOT matching the regular expression.  When using the NOT syntax, only one search is performed per line in the search region.

 

The optional "retain" parameter will cause UnForm to leave the text in its original location, in effect copying the text rather than moving it.

 

Move commands simply shift text around in an internal array, so it is possible for moves to cascade to other moves.  Moves that specify positions (syntax 1) are performed in the order found in the rule set, then moves that are relative to text (syntax 2) are performed in the order found in the rule set.

 

Note that move commands occur after any shift or vshift commands.  If you would like to move data based on positions before the shift and vshift commands, consider using a text command with an expression using the cut() or mcut() functions.

 

Examples:

 

move 5,10,40,4,20,20 moves text at column 5, row 10, 40 columns wide and 4 rows high, to the region 20,20,40,4.

 

move "Date",0,0,4,1,-4,0 moves all occurrences of the word Date left by 4 columns.

 

 

Drivers: pcl, pdf, ps

 

PostScript input not supported.