$FUNCNAME$
  ROW()
$CATEGORY$
  TERMINAL/IO
$SUMMARY$
   Return the screen row position of the cursor
$LANG_RU$
         .
$SYNTAX$
     ROW() --> nRow
$LANG_RU$
     ROW() -->  
$RETURNS$
     ROW() returns the cursor row position as an integer numeric value.  The
     range of the return value is zero to MAXROW().
$LANG_RU$
     ROW()         .
        -     MAXROW().
$DESCRIPTION$
     ROW() is a screen function that returns the current row or line position
     of the screen cursor.  The value of ROW() is updated by both console and
     full-screen commands and functions.  @...SAY only updates ROW() when the
     current DEVICE is the SCREEN.

     ROW() is used with COL() and all variations of the @ command to position
     the cursor to a new line relative to the current line.  In particular,
     you can use ROW() and COL() to create screen position-independent
     procedures or functions where you pass the upper-left row and column as
     parameters.

     ROW() is related to PROW() and PCOL(), which track the current printhead
     position instead of the screen cursor position.
$LANG_RU$
     ROW() -     ,   
       ,    .  
     ROW()       .
      @...SAY   ROW(),  ,  
         .

     ROW()      COL()   
      @...      ,
       .     ROW()
      COL()    -    
     ,      " 
     "  "".

      ROW()   PROW()  PCOL(), 
           
       .
$EXAMPLES$
       In this example, ROW() simulates the LIST command, displaying
	text on the same line but in different columns:

	LOCAL nRow
	USE Customer INDEX CustName NEW
	DO WHILE .NOT. EOF()
	   CLS
	   @ 1, 1 SAY PADR("Name", LEN(CustName))
	   @ ROW(), COL() + 2 SAY PADR("Address", ;
		 LEN(Address))
	   @ ROW(), COL() + 2 SAY PADR("Phone", LEN(Phone))
	   nRow = 0
	   DO WHILE nRow++ <= 15 .AND. (!EOF())
	      @ ROW() + 1, 1 SAY CustName
	      @ ROW(), COL() + 2 SAY Address
	      @ ROW(), COL() + 2 SAY Phone
	      SKIP
	   ENDDO
	   WAIT
	ENDDO
	CLOSE Customer
$LANG_RU$
         ROW()    LIST,
            ,    :

       LOCAL nRow
       USE Customer INDEX CustName NEW
       DO WHILE .NOT. EOF()
	  CLS
	  @ 1, 1 SAY PADR("Name", LEN(CustName))
	  @ ROW(), COL() + 2 SAY PADR("Address", LEN(Address))
	  @ ROW(), COL() + 2 SAY PADR("Phone", LEN(Phone))
	  nRow = 0
	  DO WHILE nRow++ <= 15 .AND. (!EOF())
	     @ ROW() + 1, 1 SAY CustName
	     @ ROW(), COL() + 2 SAY Address
	     @ ROW(), COL() + 2 SAY Phone
	     SKIP
	  ENDDO
	  WAIT
       ENDDO
       CLOSE Customer
$SEEALSO$
  PCOL(),PROW(),COL(),MAXROW()
$END$
