$FUNCNAME$
  MEMOEDIT()
$CATEGORY$
  STRING,DATABASE
$SUMMARY$
   Display or edit character strings and memo fields
$LANG_RU$
           memo-.
$SYNTAX$
     MEMOEDIT([<cString>],
	[<nTop>], [<nLeft>],
	[<nBottom>], [<nRight>],
	[<lEditMode>],
	[<cUserFunction>],
	[<nLineLength>],
	[<nTabSize>],
	[<nTextBufferRow>],
	[<nTextBufferColumn>],
	[<nWindowRow>],
	[<nWindowColumn>]) --> cTextBuffer
$LANG_RU$
     MEMOEDIT( [< >],
	 [< >], [< >],
	 [< >], [< >],
	 [<>],
	 [<  >],
	 [< >],
	 [<.>],
	 [< >],
	 [< >],
	 [<  >],
	 [<  >] ) -->  
$ARGUMENTS$
     <cString> is the character string or memo field to copy to the
     MEMOEDIT() text buffer.  If not specified, the text buffer is empty.

     <nTop>, <nLeft>, <nBottom>, and <nRight> are the
     upper-left and lower-right window coordinates.  Row values can range
     from zero to MAXROW(), and column positions can range from zero to
     MAXCOL().  If not specified, the default coordinates are 0, 0, MAXROW(),
     and MAXCOL().

     <lEditMode> determines whether the text buffer can be edited or
     merely displayed.  Specifying true (.T.) allows the user to make changes
     to the text buffer, while specifying false (.F.) only allows the user to
     browse the text buffer.  If not specified, the default value is true
     (.T.).

     <cUserFunction> is the name of a user-defined function that executes
     when the user presses a key not recognized by MEMOEDIT() and when no
     keys are pending in the keyboard buffer.  <cUserFunction> is specified
     as a character value without parentheses or arguments.  Specifying false
     (.F.) for this argument displays <cString> and causes MEMOEDIT() to
     immediately terminate.  If this argument is specified, the automatic
     behavior of MEMOEDIT() changes.  Refer to the discussion below.

     <nLineLength> determines the length of lines displayed in the
     MEMOEDIT() window.  If a line is greater than <nLineLength>, it is word
     wrapped to the next line in the MEMOEDIT() window.  If <nLineLength> is
     greater than the number of columns in the MEMOEDIT() window, the window
     will scroll if the cursor moves past the window border.  If
     <nLineLength> is not specified, the default line length is (<nRight> -
     <nLeft>).

     <nTabSize> determines the tab stops that will be used when the user
     presses Tab.  If <nTabSize> is not specified, tab stops will be placed
     at every four characters.

     <nTextBufferRow> and <nTextBufferColumn> define the display
     position of the cursor within the text buffer when MEMOEDIT() is
     invoked.  <nTextBufferRow> begins with one (1) and <nTextBufferColumn>
     begins with zero (0).  If these arguments are not specified, the cursor
     is placed at row one (1) and column zero (0) of the MEMOEDIT() window.

     <nWindowRow> and <nWindowColumn> define the initial position of
     the cursor within the MEMOEDIT() window.  Row and column positions begin
     with zero (0).  If these arguments are not specified, the initial window
     position is row zero (0) and the current cursor column position.
$LANG_RU$
     < > -    memo-, 
         MEMOEDIT().    ,
       .

     < >, < >, < >, < >
     -        . 
          MAXROW(),    -   
     MAXCOL().      ,    
      - 0, 0, MAXROW(), MAXCOL().

     <> - ,     
     .   - "" (.T.) ,  
       ,    - "" (.F.)
          . 
       ,     - "" (.T.).

     <  > -   , 
     ,    ,  
      MEMOEDIT()     . 
     < >       
     .       ""
     (.F.)        
      MEMOEDIT().    ,   
      ,  MEMOEDIT() . (
      ).

     < > -   ,    MEMOEDIT().
       ,    < >,  
           MEMOEDIT().  
      < > ,      MEMOEDIT(),
               
      .   < >  ,   
         (< > - < >).

     <.> -    ,  
            <Tab>.
        ,     - 4 .

     < >  < > -    
     ,      ,   MEMOEDIT().
       < >   1,  
      < >   0.    ,
           1  0 .

     <  >  <  >   
        MEMOEDIT().      
     .     ,      -
         .
$RETURNS$
     MEMOEDIT() returns the text buffer if the user terminates editing with
     Ctrl+W or a copy of <cString> if user terminates with Esc.
$LANG_RU$
     MEMOEDIT()   ,   
       <Ctrl>-<W>,    
         <Esc>.
$SEEALSO$
  LASTKEY(),MEMOLINE(),MEMOREAD(),MEMOTRAN(),MEMOWRIT()
$END$
