$CLASSNAME$
	TEXTEDIT
$SUMMARY$
	Class are destined to manipulating text data - load/save from
	file/string, insert, delete, manipulation with marked data and
	clipboard, formated text and more. TEXTEDIT is a base class for
	function memoedit and class MEDIT.
$LANG_RU$
	     . /   
	,  ,   , 
	. TEXTEDIT      
	memoedit()    MEDIT.
$ABOUT$
	Class are destined to manipulating text data - load/save from
	file/string, insert, delete, manipulation with marked data and
	clipboard, formated text and more. TEXTEDIT is a base class for
	function memoedit and class MEDIT.
$LANG_RU$
	     . /   
	,  ,   , 
	. TEXTEDIT      
	memoedit()    MEDIT.
$SYNTAX$
	TextEditNew(<Lrow>, <Lcol>, <Rrow>, <Rcol>, [<color>]) 	--> new TEXTEDIT object
$ATTRIBUTES$
	<ClassName> TEXTEDIT
	<Path>		String, path to editing file
	<FileName>   	String, file name of editing file
	<ColorSpec>	String, color specification. If parameters <color> not specified,
			this attributes take value from SetColor()

			"clr1, clr2, clr3, clr4"
			clr1 - symbols base color
			clr2 - EOF-string color
			clr3 - mark symbols color
			clr4 - mark founded symbols color

	<nTop> 		a TEXTEDIT viewport coordinates, specified by <Lrow> parameters
	<nLeft>         a TEXTEDIT viewport coordinates, specified by <Lcol> parameters
	<nBottom>       a TEXTEDIT viewport coordinates, specified by <Rrow> parameters
	<nRight>        a TEXTEDIT viewport coordinates, specified by <Rcol> parameters
	<Lines>		Numeric, lines in TEXTEDIT
	<Line>		Numeric, current line
	<Pos>		Numeric, cursor position into current line
	<ColWin>	Numeric, cursor position into TEXTEDIT viewport
	<RowWin>	Numeric, cursor position into TEXTEDIT viewport
	<Updated>	Logical, is TRUE if data changed
	<MarginLeft>	Numeric, the left margin value, specified as TE_MARGIN_LEFT
	<MarginRight>	Numeric, the right margin value, specified as TE_MARGIN_RIGHT
	<TabSize>	Numeric, the tabulation size value, specified as TE_TABSIZE
	<Hyphen>	Logical, if TRUE, then hyphen, specified as TE_HYPHEN
	<MaxStrings>	Numeric, the max strings value in TEXTEDIT, specified as TE_MAXSTRINGS
	<TabPack>	Logical, if TRUE, all symbols Tab will be packing by load and save string/file.
			By default specified as set("edit_tabpack")
	<InFocus>	Logical, if TRUE object in focus.
	<MkBlock>	Logical, if TRUE then block is marked.
	<StrBlock>	Logical, if TRUE then string block  is marked.
	<RectBlock>	Logical, if TRUE then rectangle block  is marked.
	<KoordBlock>	Array of numeric value, the block coordinates {<nTop>, <nLeft>, <nBottom>, <nRight>} or
			{<nBottom>, <nRight>, <nTop>, <nLeft>}
	<LenUndo>	Numeric, the length undo buffer. By default is 100.
	<Charset>	String, data charset.
	<EofString>	String, the text of <end of file>. By default is <EOF>
	<lEofString>	Logical, if TRUE, showing string <EofString> as last string
			of viewing data.
	<HighLightColor>MAP, the map includes string numer what selected special color.
	<Nstyle>	Logical, is TRUE if every line into TEXTEDIT viewport has string
			number.
	<EdBuffer>	Array, array of string to edit. It is editor buffer.

$LANG_RU$
	<ClassName> 	TEXTEDIT
	<Path>		String,    
	<FileName>   	String,  .
	<ColorSpec>	String,  .   <color>  ,
			   SetColor()

			"clr1, clr2, clr3, clr4"
			clr1 -   
			clr2 -   EOF
			clr3 -   /
			clr4 -   

	<nTop> 		   TEXTEDIT,   <Lrow>
	<nLeft>            TEXTEDIT,   <Lcol>
	<nBottom>          TEXTEDIT,   <Rrow>
	<nRight>           TEXTEDIT,   <Rcol>
	<Lines>		Numeric,      TEXTEDIT
	<Line>		Numeric,   .
	<Pos>		Numeric,    .
	<ColWin>	Numeric,       .
	<RowWin>	Numeric,   -  -   .
	<Updated>	Logical, TRUE,       .
	<MarginLeft>	Numeric,   ,   TE_MARGIN_LEFT
	<MarginRight>	Numeric,  ,   TE_MARGIN_RIGHT
	<TabSize>	Numeric,  ,   TE_TABSIZE
	<Hyphen>	Logical,  TRUE,        ,   TE_HYPHEN
	<MaxStrings>	Numeric,       TEXTEDIT,   TE_MAXSTRINGS
	<TabPack>	Logical,  TRUE,  ""     <Tab>
			  set("edit_tabpack")
	<InFocus>	Logical,   TRUE,   .
	<MkBlock>	Logical,  TRUE,  - .
	<StrBlock>	Logical,  TRUE,   .
	<RectBlock>	Logical,  TRUE,   .
	<KoordBlock>	Array of numeric value,       {<nTop>, <nLeft>, <nBottom>, <nRight>} 
			{<nBottom>, <nRight>, <nTop>, <nLeft>}
	<LenUndo>	Numeric,    (undo).   100.
	<Charset>	String, .
	<EofString>	String,   <end of file>.   <EOF>
	<lEofString>	Logical,  TRUE,   <EofString>  
			  .
	<HighLightColor>MAP, ,       .
	<Nstyle>	Logical,  TRUE,         .
	<EdBuffer>	Array, array of string to edit.  .

$METHODNAME$
	TextEditNew()
$SUMMARY$
	TEXTEDIT object constructor.
$LANG_RU$
	  TEXTEDIT.
$SYNTAX$
	TextEditNew(<Lrow>, <Lcol>, <Rrow>, <Rcol>, [<color>]) 	--> new TEXTEDIT object
$ARGUMENTS$

	<Lrow> a TEXTEDIT coordinates.
	<Lcol> a TEXTEDIT coordinates.
	<Rrow> a TEXTEDIT coordinates.
	<Rcol> a TEXTEDIT coordinates.
	<color> a TEXTEDIT color string.
$LANG_RU$
	<Lrow>   TEXTEDIT.
	<Lcol>   TEXTEDIT.
	<Rrow>   TEXTEDIT.
	<Rcol>   TEXTEDIT.
	<color> TEXTEDIT  .
$RETURNS$
	Method returns new TEXTEDIT object.
$LANG_RU$
	    TEXTEDIT.
$DESCRIPTION$
	TextEditNew() is constructs and returns new TEXTEDIT object.
	That class can be used to edit, view, control some data - string or
	file.
$LANG_RU$
	TextEditNew()     TEXTEDIT.
	       , ,
	  .
$ENDMETHOD$

$METHODNAME$
	Down()
$SUMMARY$
	Goes down one line.
$LANG_RU$
	    .
$SYNTAX$
	Down([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Down() is skipped editor buffer on the new position <::Line>+1.
	The <::Line> and <::RowWin> attributes increased by 1. If <::RowWin>
	is more then  bottom boundary of viewport, <::RowWin> take value
	<::nBottom>-<::nTop>+1 and text in viewport scrolled up on 1 line.
$LANG_RU$
	Down()      <::Line>+1.
	 <::Line>  <::RowWin>   1.  <::RowWin>
	     ,  <::RowWin>  
	<::nBottom>-<::nTop>+1         1 .
$ENDMETHOD$

$METHODNAME$
	Up()
$SUMMARY$
	Goes up one line.
$LANG_RU$
	    .
$SYNTAX$
	Up([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Up() is skipped editor buffer on the new position <::Line>-1.
	The <::Line> and <::RowWin> attributes decreased by 1. If <::RowWin>
	is less then  1, <::RowWin> take value 1
	and text in viewport scrolled down on 1 line.

$LANG_RU$
	Up()      <::Line>-1.
	 <::Line>  <::RowWin>   1.  <::RowWin>
	 1, <::RowWin>   1     
	   1 .
$ENDMETHOD$

$METHODNAME$
	Left()
$SUMMARY$
	Goes left one column.
$LANG_RU$
	    .
$SYNTAX$
	Left([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Left() goes left one column.
	The <::Pos> and <::ColWin> attributes decreased by 1. If <::ColWin>
	is less then  1, <::ColWin> take value 1
	and text in viewport scrolled one column to right.

$LANG_RU$
	Left()    1  .
	 <::Pos>  <::ColWin>    1.  <::ColWin>
	 1, <::ColWin>    1      
	   1.
$ENDMETHOD$

$METHODNAME$
	Right()
$SUMMARY$
	Goes right one column.
$LANG_RU$
	   1 .
$SYNTAX$
	Right([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Right() goes right one column.
	The <::Pos> and <::ColWin> attributes increased by 1. If <::ColWin>
	is more then  right boundary viewport, <::ColWin> take value
	<::nRight>-<nLeft> + 1 and text in viewport scrolled one column to left.

$LANG_RU$
	Right()     1 .
	 <::Pos>  <::ColWin>   1.  <::ColWin>
	     , <::ColWin>  
	<::nRight>-<nLeft> + 1         1 .
$ENDMETHOD$

$METHODNAME$
	WordLeft()
$SUMMARY$
	Goes left one word.
$LANG_RU$
	    .

$SYNTAX$
	WordLeft([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	WordLeft() moves cursor to begin left word from current word.
	The <::Pos> and <::ColWin> attributes takes new value corresponded
	first character new word.

$LANG_RU$
	WordLeft()        .
	 <::Pos>  <::ColWin>   
	    .
$ENDMETHOD$

$METHODNAME$
	WordRight()
$SUMMARY$
	Goes right one word.
$LANG_RU$
	    .
$SYNTAX$
	WordRight([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	WordRight() moves cursor to begin right word from current word.
	The <::Pos> and <::ColWin> attributes takes new value corresponded
	first character new word.

$LANG_RU$
	WordRight()        .
	 <::Pos>  <::ColWin>   
	     .
$ENDMETHOD$

$METHODNAME$
	Bottom()
$SUMMARY$
	Goes to the last string of editor buffer.
$LANG_RU$
	     .
$SYNTAX$
	Bottom([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Bottom() is scrolled data to the last string of editor buffer
	(last element of <::EdBuffer>).
	The <::Line> attribute set to <::Lines>
	 and <::RowWin>  set to <::nBottom>-<::nTop>.
$LANG_RU$
	Bottom()     
	 .
	 <::Line>    <::Lines>,
	 <::RowWin> ,  <::nBottom>-<::nTop>.

$ENDMETHOD$

$METHODNAME$
	Top()
$SUMMARY$
	Goes to the first string of editor buffer.
$LANG_RU$
	  .
$SYNTAX$
	Top([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Top() is scrolled data to the first string of editor buffer.
	The <::Line> and <::RowWin> attributes set to 1.
$LANG_RU$
	Top()       .
	  <::Line>  <::RowWin>   1.
$ENDMETHOD$

$METHODNAME$
	Home()
$SUMMARY$
	Goes to the first line postion.
$LANG_RU$
	   .
$SYNTAX$
	Home([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Home() is scrolled data to the first character not equal <space> of current line <::Line>.

	The second call this method moves cursor to begin line.
$LANG_RU$
	Home()           <::Line>.

	          
	  .
$ENDMETHOD$


$METHODNAME$
	End()
$SUMMARY$
	Goes to the last line postion.
$LANG_RU$
	   .
$SYNTAX$
	End([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	End() is scrolled data to the end current line <::Line>.
	The <::Pos> attribute sets to len(<::Edbuffer[::Line]>)+1.
$LANG_RU$
	End()       <::Line>.
	 <::Pos>   len(<::Edbuffer[::Line]>)+1.
$ENDMETHOD$

$METHODNAME$
	PageDown()
$SUMMARY$
	Goes down one page.
$LANG_RU$
	    .
$SYNTAX$
	PageDown([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	PageDown() is skipped editor buffer on the new position <::Line>+<::nBottom>-<nTop>.
	The <::Line> attribute increased by <::nBottom>-<nTop>.
	Data in viewport scrolled up on <::nBottom>-<nTop> line.
$LANG_RU$
	PageDown()        
	  <::Line>+<::nBottom>-<nTop>.

	 <::Line>    <::nBottom>-<nTop>    
	    <::nBottom>-<nTop> .
$ENDMETHOD$

$METHODNAME$
	PageUp()
$SUMMARY$
	Goes up one page.
$LANG_RU$
	    .
$SYNTAX$
	PageUp([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	PageUp() is skipped editor buffer on the new position <::Line>-<::nBottom>-<nTop>.
	The <::Line> attribute decreased by <::nBottom>-<nTop>.
	Data in viewport scrolled down on <::nBottom>-<nTop> line.

$LANG_RU$
	PageUp()        
	  <::Line>-<::nBottom>-<nTop>.

	 <::Line>    <::nBottom>-<nTop>    
	    <::nBottom>-<nTop> .
$ENDMETHOD$

$METHODNAME$
	HandleKey()
$SUMMARY$
	Simple handle key.
$LANG_RU$
	 .
$SYNTAX$
	HandleKey(<nKey>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<nKey> - Numeric, specified in <inkey.ch> key code
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<nKey> - Numeric,   <inkey.ch>  .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if key will be processed else returns FALSE.
$LANG_RU$
	 TRUE      FALSE   .
$DESCRIPTION$
	HandleKey() is taked key code and try processed operation equal this
	code (Moves up, down, left, right and more).
$LANG_RU$
	HandleKey()       ,
	 (,  ,   )

$ENDMETHOD$

$METHODNAME$
	GotoLine()
$SUMMARY$
	Goes to specified line.
$LANG_RU$
	   .
$SYNTAX$
	GotoLine(<nLine>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<nLine> - Numeric, the new line number.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.

$LANG_RU$
	<nLine> - Numeric,  .
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns TRUE if <nLine> >=1 and <nLine> <= <::Lines> else return FALSE.
$LANG_RU$
	 TRUE  <nLine> >=1  <nLine> <= <::Lines>,   FALSE.
$DESCRIPTION$
	GotoLine() is moved cursor to the new row position <nLine>
	if <nLine> between 1 and <::Lines>. editor buffer scrolled to the new
	line. Attribute <::Line> sets to <nLine>.

	In other cursor not moved and method returns FALSE.
$LANG_RU$
	GotoLine()        <nLine>
	 <nLine>    1  <::Lines>.
	  <::Line>   <nLine>.

$ENDMETHOD$

$METHODNAME$
	GotoPos()
$SUMMARY$
	Goes to specified column.
$LANG_RU$
	   .
$SYNTAX$
	GotoPos(<nPos>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<nPos> - Numeric, the new column number.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<nPos> - Numeric,   .
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns TRUE if <nPos> >1 else return FALSE.
$LANG_RU$
	 TRUE  <nPos> >1,  FALSE.
$DESCRIPTION$
	GotoPos() is moved cursor to the new column position <nPos>.
	editor buffer scrolled to the new position.
	Attribute <::Pos> sets to <nPos>.

	In other cursor not moved and method returns FALSE.
$LANG_RU$
	GotoPos()      <::Line>    <nPos>.
	 <::Pos>   <nPos>.

$ENDMETHOD$

$METHODNAME$
	Find()
$SUMMARY$
	Finds string into editor buffer.
$LANG_RU$
	 .
$SYNTAX$
	Find(<oFind>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<oFind> - FIND object, the object contain searches string and parameters.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<oFind> - FIND object, ,     
	,    .
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns TRUE if searches string is found.
$LANG_RU$
	 TRUE   / .
$DESCRIPTION$
	Find() is make the search string or regular expression in editor buffer.
	The <oFind> contain searching parameters(expression, direct, case-sensitive and the like).
	If expression found cursor moved to the founded word. This word will be
	marked special color (<clr4> from <::ColorSpec>).

	If find is success, method returns TRUE. In other returns FALSE.

$LANG_RU$
	Find()        .
	<oFind>   (, ,   ).
	  ,      .
	      (<clr4>  <::ColorSpec>).

	   ,   TRUE,   FALSE.

$ENDMETHOD$

$METHODNAME$
	FindNext()
$SUMMARY$
	Continue search forward.
$LANG_RU$
	    .
$SYNTAX$
	FindNext(<oFind>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<oFind> - FIND object, the object contain searches string and parameters.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<oFind> - FIND object, ,     
	,    .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if searches string is found.
$LANG_RU$
	 TRUE  / .
$DESCRIPTION$
	FindNext() is continued search started in <::Find()> to forward.
	The <oFind> contain searching parameters(expression, case-sensitive and the like).
	The attribute <::Direct> of <oFind> sets to 1.
	If expression found cursor moved to the founded word.
$LANG_RU$
	FindNext()     <::Find()>   .
	<oFind>   (,   ).
	 <::Direct>  <oFind>   1.
	  ,      .
	      (<clr4>  <::ColorSpec>).
$ENDMETHOD$

$METHODNAME$
	FindPrev()
$SUMMARY$
	Continue search backward.
$LANG_RU$
	    .
$SYNTAX$
	FindPrev(<oFind>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<oFind> - FIND object, the object contain searches string and parameters.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<oFind> - FIND object, ,     
	,    .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if searches string is found.
$LANG_RU$
	 TRUE  / .
$DESCRIPTION$
	FindNext() is continued search started in <::Find()> to forward.
	The <oFind> contain searching parameters(expression, case-sensitive and the like).
	The attribute <::Direct> of <oFind> sets to 2.
	If expression found cursor moved to the founded word.

$LANG_RU$
	FindPrev()     <::Find()>   .
	<oFind>   (,   ).
	 <::Direct>  <oFind>   2.
	  ,      .
	      (<clr4>  <::ColorSpec>).
$ENDMETHOD$

$METHODNAME$
	Replace()
$SUMMARY$
	Find with replace string into editor buffer.
$LANG_RU$
	  .
$SYNTAX$
	Replace(<oFind>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<oFind> - FIND object, the object contain searches string and parameters.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<oFind> - FIND object, ,     
	,    .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if searches string is found.
$LANG_RU$
	 TRUE  / .
$DESCRIPTION$
	Replace() is make the search string or regular expression in editor buffer.
	The <oFind> contain searching parameters(searchin expression, replaced string, direct, case-sensitive and the like).
	If expression found, it will be replace on string to replace <oFind:Rstring>. This substring will be
	marked special color (<clr4> from <::ColorSpec>).

	If operation is success, method returns TRUE. In other returns FALSE.

$LANG_RU$
	Replace()      .
	 <oFind>    ( ,   ,    ).
	  ,        <oFind:Rstring>.  
	    (<clr4>  <::ColorSpec>).

$ENDMETHOD$

$METHODNAME$
	CurWord()
$SUMMARY$
	Take word specified by position line and column.
$LANG_RU$
	  .
$SYNTAX$
	CurWord([<nPos>], [nLine>],[ <lUndo>]) 	--> sCurrentWord
$ARGUMENTS$
	<nPos> - Numeric, starting column to search in line <nLine>. If not specified
		sets to <::Pos>
	<nLine> - Numeric, starting line to search. If not specified
		sets to <::Line>
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<nPos> - Numeric,     <nLine>.   , 		<::Pos>
	<nLine> - Numeric,  .    ,  <::Line>
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns curren word in specified position column and line.
$LANG_RU$
	 ,  <nLine>  <nPos>.
$DESCRIPTION$
	CurWord() is searched word by position <nLine> and <nPos> and return it if
	found. Oher return empty string.

	Word it is sequential of symbols without space and comma <,> and point <.>

$LANG_RU$
	CurWord()      <nLine>, <nPos>   
	  .      .

	""      ,
	  .
$ENDMETHOD$

$METHODNAME$
	PrevWord()
$SUMMARY$
	Take previous word of word specified by position line and column.
$LANG_RU$
	 .
$SYNTAX$
	PrevWord([<nPos>], [nLine>],[ <lUndo>]) 	--> sPrevWord
$ARGUMENTS$
	<nPos> - Numeric, starting column to search in line <nLine>. If not specified
		sets to <::Pos>
	<nLine> - Numeric, starting line to search. If not specified
		sets to <::Line>
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.

$LANG_RU$
	<nPos> - Numeric,     <nLine>.   , 		<::Pos>
	<nLine> - Numeric,  .    ,  <::Line>
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns previous word of word specified with column and line.
$LANG_RU$
	 ,      <nLine>, <nPos>
$DESCRIPTION$
	PrevWord() is searched word preceding of word specified <nLine> and <nPos>
	and return it if found. Oher return empty string.
$LANG_RU$
	PrevWord()        <nLine>, <nPos>
	    .    PrevWord()  
	.

$ENDMETHOD$

$METHODNAME$
	NextWord()
$SUMMARY$
	Take next word of word specified by position line and column.
$LANG_RU$
	 .
$SYNTAX$
	NextWord([<nPos>], [nLine>],[ <lUndo>]) 	--> sPrevWord
$ARGUMENTS$
	<nPos> - Numeric, starting column to search in line <nLine>. If not specified
		sets to <::Pos>
	<nLine> - Numeric, starting line to search. If not specified
		sets to <::Line>
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<nPos> - Numeric,     <nLine>.   , 		<::Pos>
	<nLine> - Numeric,  .    ,  <::Line>
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns next word of word specified with column and line.
$LANG_RU$
	 ,      <nLine>, <nPos> 
$DESCRIPTION$
	NextWord() is searched word following for word specified <nLine> and <nPos>
	and return it if found. Oher return empty string.

$LANG_RU$
	NextWord()        <nLine>, <nPos>
	    .    NextWord()  
	.
$ENDMETHOD$

$METHODNAME$
	Identity()
$SUMMARY$
	Search identity alpha character.
$LANG_RU$
	 (  ) .
$SYNTAX$
	Identity(<sSymb>, [<lDirect>],[ <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<sSymb> - Char, alpha character for search.
	<lDirect> - Logical, if TRUE, make search to forward. By default TRUE.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<sSymb> - Char, .
	<lDirect> - Logical,  TRUE,    .   TRUE.
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if search is success.
$LANG_RU$
	 TRUE      .b
$DESCRIPTION$
	Identity() is searched identical or pair symbols: (), <>, {}, [];
	and set cursor to founded symbol if search is success.

$LANG_RU$
	Identity()      : (), <>, {}, [];
	         TRUE.

$ENDMETHOD$

$METHODNAME$
	MatchStruct()
$SUMMARY$
	Matching structure.
$LANG_RU$
	  .
$SYNTAX$
	MatchStruct(<sWord>, [<lDirect>],[ <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<sWord> - String, key words.
	<lDirect> - Logical, if TRUE, make search to forward. By default TRUE.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<sWord> - String,  .
	<lDirect> - Logical,   TRUE( )    .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if search is success.
$LANG_RU$
	 TRUE    .
$DESCRIPTION$
	MatchStruct() is searched item of Clipper-like structures:

	DO CASE; CASE; OTHERWISE; END[CASE]

	DO[ WHILE]; LOOP; END[DO]

	IF; ELSE; [ELSEIF]; END[IF]

	...

	and set cursor to founded item if search is success.

	All  items can be lower/upper case. Every structure can be embedded to
	others.

$LANG_RU$
	MatchStruct()     Clipper :

	DO CASE; CASE; OTHERWISE; END[CASE]

	DO[ WHILE]; LOOP; END[DO]

	IF; ELSE; [ELSEIF]; END[IF]

	...

	     .

	    ,     . 
	  .

$ENDMETHOD$

$METHODNAME$
	Clear()
$SUMMARY$
	Clear editor buffer.
$LANG_RU$
	  .
$SYNTAX$
	Clear() 	--> NIL
$ARGUMENTS$

$RETURNS$
	Returns NIL
$LANG_RU$
	 NIL
$DESCRIPTION$
	Clear() is cleared editor buffer and init all counters to zero.
	Size array <::EdBuffer> trucate to 1 and it element sets to
	empty string.

	Attention! This method not writing undo information.

$LANG_RU$
	Clear()       .
	  <::EdBuffer>   1   
	  -  .

	!        .
$ENDMETHOD$


$METHODNAME$
	LoadString()
$SUMMARY$
	Load string to editor buffer.
$LANG_RU$
	 .
$SYNTAX$
	LoadString(<sStr>) 	--> .T.
$ARGUMENTS$
	<sStr> - String, string to edit.
$LANG_RU$
	<sStr> - String,   .
$RETURNS$
	Returns TRUE.
$LANG_RU$
	 TRUE.
$DESCRIPTION$
	LoadString() is loaded string to editor buffer.
	Method splitted input string on substring with delimiter - hard carriage.
	Substrings translated from <::CharSet> to host charset
	and stored in <::Edbuffer>. Previous data of <::EdBuffer> removes.

	Attention! This method not writing undo information.

$LANG_RU$
	LoadString()     .
	   ,    
	  .
	    <::CharSet>   CLIP-
	   <::Edbuffer>.    <::EdBuffer> .

	!        .

$ENDMETHOD$

$METHODNAME$
	LoadFile()
$SUMMARY$
	Load file.
$LANG_RU$
	 .
$SYNTAX$
	LoadFile(<sFileName>) 	--> .T.
$ARGUMENTS$
	<sFileName> - String, files name.
$LANG_RU$
	<sFileName> - String,    .
$RETURNS$
	Returns TRUE.
$LANG_RU$
	 TRUE.
$DESCRIPTION$
	LoadFile() is loaded file to editor buffer.
	Method splitted input string on substring with delimiter - hard carriage.
	Substrings translated from <::CharSet> to host charset
	and stored in <::Edbuffer>. Previous data of <::EdBuffer> removes.

	If file not exist or not opened (access denied) method returns FALSE.
	<::EdBuffer> not changed.

	Attention! This method not writing undo information.

$LANG_RU$
	LoadFile()     .
	    ,    
	  .
	    <::CharSet>   CLIP-
	   <::Edbuffer>.   <::EdBuffer> .

	           FALSE.
	<::EdBuffer>  .

	!        .
$ENDMETHOD$

$METHODNAME$
	SaveFile()
$SUMMARY$
	Save to file.
$LANG_RU$
	  .
$SYNTAX$
	SaveFile(<sFileName>[, <lCreateBak>]) 	--> .T.
$ARGUMENTS$
	<sFileName> - String, full file name.
	<lCreateBak> - Logical, if TRUE, make .bak file. By default FALSE.
$LANG_RU$
	<sFileName> - String,    .
	<lCreateBak> - Logical,  TRUE,  .bak .   FALSE.
$RETURNS$
	Returns TRUE in success.
$LANG_RU$
	 TRUE      .
$DESCRIPTION$
	SaveFile() is saved editor buffer to file.

	If file <sFileName> not exist, method created it. In other file
	rewrited from editor buffer. <::Updated> set to FALSE.

	If access denied, editor buffer not saved and method
	returns FALSE.

	Attention! This method not writing undo information.

$LANG_RU$
	SaveFile()     <::EdBuffer>  .

	  <sFileName>  ,  .   
	.  <::Updated>   FALSE.

	  /   , SaveFile()  FALSE.

	!        .
$ENDMETHOD$

$METHODNAME$
	SaveString()
$SUMMARY$
	Save editor buffer to string.
$LANG_RU$
	  
$SYNTAX$
	SaveString() 	--> sStr
$ARGUMENTS$
$RETURNS$
	Returns string created from editor buffer.
$LANG_RU$
	   ,   .
$DESCRIPTION$
	SaveString() is packed editor buffer to string and returns it.
	Substrins tranlated to <::Charset> and write to result string with
	delimiters CR.

	Attention! This method not writing undo information.

$LANG_RU$
	SaveString()       
	 .     CLIP- 
	<::Charset>        CR.

	!        .

$ENDMETHOD$

$METHODNAME$
	LoadBlock()
$SUMMARY$
	Make load block from file.
$LANG_RU$
	 .
$SYNTAX$
	LoadBlock(<sFileName>[, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<sFileName> - String, file name.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<sFileName> - String,   .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if block was load.
$LANG_RU$
	 TRUE    .
$DESCRIPTION$
	LoadBlock() is loaded data from file <sFileName> to block and inserted
	block to editor buffer from a current line <::Line> and marked block.

	The size editor buffer <::EdBuffer> increased by size of block.

$LANG_RU$
	LoadBlock()    <sFileName>   
	       <::Line>. 
	    .

	   <::EdBuffer>     .

$ENDMETHOD$


$METHODNAME$
	SaveBlock()
$SUMMARY$
	Make save block to file.
$LANG_RU$
	   .
$SYNTAX$
	SaveBlock(<sFileName>[, <lCreateBak>[, <lUndo>]]) 	--> .T. || .F.
$ARGUMENTS$
	<sFileName> - String, full file name.
	<lCreateBak> - Logical, if TRUE, make .bak file. By default FALSE.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<sFileName> - String,     .
	<lCreateBak> - Logical,  TRUE,  .bak .   FALSE.
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if block saved.
$LANG_RU$
	 TRUE     .
$DESCRIPTION$
	SaveBlock() is saved  marked string/rectangle block to
	file <sFileName>. If file <sFileName> not exist, method created it.
	In other, rewrited.

	If block not marked or error emerge by creating file, method returns FALSE.
$LANG_RU$
	SaveBlock()       
	 <sFileName>.    <sFileName>   ,  
	,  .

	         /
	,   FALSE.

$ENDMETHOD$


$METHODNAME$
	BeginBlock()
$SUMMARY$
	Start block hightlighting.
$LANG_RU$
	  .
$SYNTAX$
	BeginBlock(<lType>[, <lUndo>]) 	--> NIL
$ARGUMENTS$
	<lType> - Logical, if TRUE, do string block, else do rectangle block. By default TRUE.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lType> - Logical,  : TRUE ,FALSE .   TRUE.
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	BeginBlock() is canceled old highlight and  started  new string/rectangle block.
$LANG_RU$
	BeginBlock()    (    )   
	    .
$ENDMETHOD$

$METHODNAME$
	EndBlock()
$SUMMARY$
	Stop block hightlighting.
$LANG_RU$
	  .
$SYNTAX$
	EndBlock(<lType>[, <lUndo>]) 	--> NIL
$ARGUMENTS$
	<lType> - Logical, if TRUE, do string block, else do rectangle block. By default TRUE.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lType> - Logical,  : TRUE ,FALSE .   TRUE.
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	EndBlock() is complited text highlighting.
$LANG_RU$
	EndBlock()    -   .

$ENDMETHOD$

$METHODNAME$
	CancelBlock()
$SUMMARY$
	Unmarking block.
$LANG_RU$
	  .
$SYNTAX$
	CancelBlock([<lUndo>]) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	CancelBlock() is unmarked text highlight.
$LANG_RU$
	CancelBlock()   .  <::MkBlock>, <::StrBlock>,
	<::RectBlock>   FALSE.

$ENDMETHOD$


$METHODNAME$
	CopyBlock()
$SUMMARY$
	Make copy block.
$LANG_RU$
	 .
$SYNTAX$
	CopyBlock([<lMove>[, <lUndo>]]) 	--> .T. || .F.
$ARGUMENTS$
	<lMove> - Logical, is TRUE if operation block moving. By default FALSE.
	<lUndo> - Logical, is TRUE (by default) if operation saved in undo buffer.
$LANG_RU$
	<lMove> - Logical,  TRUE      ,  .   FALSE.
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if block copied or moved.
$LANG_RU$
	 TRUE     .
$DESCRIPTION$
	CopyBlock() moved cursor to begin marked block (line and column) and
	copied or moved (if <lMove> is TRUE) marked block
	to new positon specified current cursor position line <::Line>
	and column <::Pos> in editor buffer.

	If block not marked method returns FALSE.

	When do operation copy, block copied into new position and size
	editor buffer <::EdBuffer> increased by size block(lines in block).

	Move is equaled to copy, but in the previous place the block is removed.
$LANG_RU$
	CopyBlock()    (  ) 
	        ,
	   :  <::Line>  
	<::Pos>.

	   , CopyBlock()  FALSE.

	   "",    
	        (   )

	 ""   ,   
	        .
$ENDMETHOD$

$METHODNAME$
	MoveBlock()
$SUMMARY$
	Make move block.
$LANG_RU$
	 .
$SYNTAX$
	MoveBlock([<lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if block moved.
$LANG_RU$
	 TRUE    .
$DESCRIPTION$
	MoveBlock() is called method CopyBlock() with first parameters TRUE.
$LANG_RU$
	MoveBlock()   CopyBlock()    TRUE.

$ENDMETHOD$

$METHODNAME$
	DeleteBlock()
$SUMMARY$
	Make remove block.
$LANG_RU$
	 .
$SYNTAX$
	DeleteBlock([<lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if block removed.
$LANG_RU$
	 TRUE    .
$DESCRIPTION$
	DeleteBlock() moved cursor to begin marked block (line and column) and
	removed marked block from editor buffer. The size
	of <::Edbuffer> decreased by size removes block(lines in block).

	If block not marked, DeleteBlock() returns FALSE.
$LANG_RU$
	DeleteBlock()    (  )  
	     . 
	<::Edbuffer>   ( )  .
	   (  ) 

	    , DeleteBlock()  FALSE.

$ENDMETHOD$

$METHODNAME$
	CopyToClipboard()
$SUMMARY$
	Copy block to clipboard.
$LANG_RU$
	   .
$SYNTAX$
	CopyToClipboard(<aClipbrd>) 	--> NIL
$ARGUMENTS$
	<aClipbrd> - Array, array of block what equal block.
$LANG_RU$
	<aClipbrd> - Array, .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	CopyToClipboard() is copied marked block from editor buffer to array
	<aClipbrd>. <aClipbrd> - it is not system clipboard.
	The size of <::Edbuffer> not changed. Mark block not unmarked.
$LANG_RU$
	CopyToClipboard()   (  )  
	<aClipbrd>,     . <aClipbrd> -    .
	    <::Edbuffer>  .    .
	   .

$ENDMETHOD$

$METHODNAME$
	AddToClipboard()
$SUMMARY$
	Add block to clipboard.
$LANG_RU$
	   .
$SYNTAX$
	AddToClipboard(<aClipbrd>) 	--> NIL
$ARGUMENTS$
	<aClipbrd> - Array, array of block what equal block.
$LANG_RU$
	<aClipbrd> - Array, .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	AddToClipboard() is added marked block from editor buffer to the end of array
	<aClipbrd>. <aClipbrd> - it is not system clipboard.
	The size of <::Edbuffer> not changed. Mark block not unmarked.
$LANG_RU$
	AddToClipboard()   (  )   
	<aClipbrd>,      . <aClipbrd> -    .
	    <::Edbuffer>  .    .
	   .

$ENDMETHOD$

$METHODNAME$
	MoveToClipboard()
$SUMMARY$
	Move block to clipboard.
$LANG_RU$
	   .
$SYNTAX$
	MoveToClipboard(<aClipbrd>) 	--> NIL
$ARGUMENTS$
	<aClipbrd> - Array, array of block what equal block.
$LANG_RU$
	<aClipbrd> - Array, .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	MoveToClipboard() is moved marked block from editor buffer to array
	<aClipbrd>. <aClipbrd> - it is not system clipboard.

	Cursor moved to begin marked block and block removed from editor buffer.
	The size of <::Edbuffer> is decreased by size block (block lines).
$LANG_RU$
	AddToClipboard()   (  )   
	<aClipbrd>,     . <aClipbrd> -    .

	       .     <::Edbuffer>
	    .

$ENDMETHOD$

$METHODNAME$
	PasteFromClipboard()
$SUMMARY$
	Paste block from clipboard.
$LANG_RU$
	   .
$SYNTAX$
	PasteFromClipboard(<aClipbrd>[, <nItem>][, <lUndo>]) 	--> .T. || .F.
$ARGUMENTS$
	<aClipbrd> - Array, array of block what equal block.
	<nItem> - Numeric, numer item in clipboard. By default it is 1.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<aClipbrd> - Array, .
	<nItem> - Numeric,     .   1.
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns TRUE if block inserted.
$LANG_RU$
	 TRUE    .
$DESCRIPTION$
	PasteFromClipboard() is pasted block from clipboard to
	current <::Line> and <::Pos> into editor buffer.

	Block not removed from editor buffer.
	The size of <::Edbuffer> is increased by size block (block lines).

	If array <aClipbrd>  is empty, then PasteFromClipboard() returns FALSE;
	in other returns TRUE.

$LANG_RU$
	PasteFromClipboard()        
	<::Line>  <::Pos>.

	     <aClipbrd>.
	 <::Edbuffer>      ( ).

	  <aClipbrd> , PasteFromClipboard()  FALSE;
	  TRUE.
$ENDMETHOD$


$METHODNAME$
	Refresh()
$SUMMARY$
	Refresh TEXTEDIT viewport.
$LANG_RU$
	   TEXTEDIT.
$SYNTAX$
	Refresh() 	--> NIL
$ARGUMENTS$

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Refresh() is refreshed TEXTEDIT viewport and positioned cursor on the
	screen to new position if it need.

	Refresh() invoked automaticaly from all methods of TEXTEDIT.
$LANG_RU$
	Refresh()    TEXTEDIT.

	 Refresh()      TEXTEDIT
	    .

$ENDMETHOD$

$METHODNAME$
	BackSpace()
$SUMMARY$
	Delete left letter.
$LANG_RU$
	    .
$SYNTAX$
	BackSpace( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	BackSpace() is deleted one left letter from are current cursor position
	<::Line> and <::Pos>.
$LANG_RU$
	BackSpace()     <::Line>    <::Pos>.

$ENDMETHOD$


$METHODNAME$
	DelLeft()
$SUMMARY$
	Delete left letter.
$LANG_RU$
	    .
$SYNTAX$
	DelLeft( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.

$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	DelLeft() is called method BackSpace().
$LANG_RU$
	DelLeft()   BackSpace().

$ENDMETHOD$

$METHODNAME$
	DelHome()
$SUMMARY$
	Delete letters to begin of string.
$LANG_RU$
	     .
$SYNTAX$
	DelHome( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	DelHome() is deleted all letters in line <::Line> with string begin to
	column <::Pos>. The attribute <::Pos> and <::ColWin>  sets to 1.
$LANG_RU$
	DelHome()      <::Line>   
	<::Pos>    <::Line>.  <::Pos>  <::ColWin>
	  1.

$ENDMETHOD$


$METHODNAME$
	DelRight()
$SUMMARY$
	Delete letter.
$LANG_RU$
	 .
$SYNTAX$
	DelRight( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	DelRight() is deleted letter in line <::Line> and column <::Pos>.
	The attribute <::Pos> and <::ColWin>  not changes.
$LANG_RU$
	DelRight()     <::Line>   <::Pos>.
	 <::Pos>  <::ColWin>  .

$ENDMETHOD$

$METHODNAME$
	Delete()
$SUMMARY$
	Delete letter.
$LANG_RU$
	 .
$SYNTAX$
	Delete( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Delete() is called method DelRight().
$LANG_RU$
	Delete()   DelRight().
$ENDMETHOD$

$METHODNAME$
	DeleteLine()
$SUMMARY$
	Delete line.
$LANG_RU$
	 .
$SYNTAX$
	DeleteLine( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	DeleteLine() is removed from editor buffer line specified <::Line> and
	decreased size of <::Edbuffer> by 1.
$LANG_RU$
	DeleteLine()    <::Line>,   
	<::Edbuffer>  <::Edbuffer>  1.

$ENDMETHOD$


$METHODNAME$
	DelEnd()
$SUMMARY$
	Delete letters to the end of string.
$LANG_RU$
	     .
$SYNTAX$
	DelEnd( [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	DelEnd() is deleted all letters begin with column specified <::Pos> to the
	end of string <::Line>.
$LANG_RU$
	DelEnd()    <::Line>  ,   <::Pos>   .
$ENDMETHOD$

$METHODNAME$
	Insert()
$SUMMARY$
	Insert alpha character or substring to the editor buffer.
$LANG_RU$
	   .
$SYNTAX$
	Insert( <sStr>, [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<sStr> - String, alpha character or substring to be inserting
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<sStr> - String,     .
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Insert() is inserted substring <sStr> to the editor buffer begin of <::Pos>
	and in line <::Line>.

	If <::Line> is more then size of editor buffer <::Lines>, then size of
	<::EdBuffer> increased to <::Line>.

	The new cursor position into editor buffer is <::Line> and <::Pos>+len(sStr).
$LANG_RU$
	Insert()   <sStr>    <::Line> 
	  <::Pos>.

	 <::Line>      <::Lines>, 
	<::EdBuffer>   <::Line> .

	    :  <::Line>   <::Pos>+len(sStr).
$ENDMETHOD$

$METHODNAME$
	OverStrike()
$SUMMARY$
	Replace alpha character or substring into editor buffer.
$LANG_RU$
	   .
$SYNTAX$
	OverStrike( <sStr>, [<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<sStr> - String, alpha character or substring to be replacing.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<sStr> - String,     .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	OverStrike() is replaced substring with length len(sStr)
	to <sStr>  into line <::Line> and begining with <::Pos> .

	The new cursor position into editor buffer is <::Line> and <::Pos>+len(sStr).
$LANG_RU$
	OverStrike()    <::Line>   len(sStr)
	 <sStr>    <::Pos> .

	  : <::Line>   <::Pos>+len(sStr).
$ENDMETHOD$

$METHODNAME$
	InsertLine()
$SUMMARY$
	Insert new line.
$LANG_RU$
	  .
$SYNTAX$
	InsertLine([<lUndo>][, [lAuto]] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
	<lAuto> - Logical, is TRUE(by default) if new cursor position equal to
	column first not empty symbols  into previouse line.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
	<lAuto> - Logical,  TRUE( )     
	     .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	InsertLine() is inserted new line into editor buffer after line <::Line>-1.
	The size editor buffer increased by 1 and lines begin with <::Line>+1 moved
	down by one.

	The current line kept previouse - <::Line>.

	If <lAuto>, then <::Pos> sets to first column with not empty alpha character of
	previouse line <::Line>-1.

	In other, <::Pos> sets to value <::MarginLeft>
$LANG_RU$
	InsertLine()          <::Line>-1.
	   <::EdBuffer>   1.

	     <::Line>.

	 <lAuto>,    ,  ,
	  ,    <::Line>-1. , 
	   <::MarginLeft>
$ENDMETHOD$

$METHODNAME$
	NewLine()
$SUMMARY$
	Goes new line.
$LANG_RU$
	   .
$SYNTAX$
	NewLine([<lUndo>][, <lAuto>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
	<lAuto> - Logical, is TRUE(by default) if new cursor position equal to
	column first not empty symbols  into previouse line.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
	<lAuto> - Logical,  TRUE( )     
	     .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	NewLine() is moved cursor to new line <::Line>+1.
	The size editor buffer not changed.

	The current line <::Line> increased by 1.

	If <lAuto> is TRUE, then <::Pos> sets to column value of start not empty symbol.
	In other, <::Pos> sets to value <::MarginLeft>.
$LANG_RU$
	InsertLine()      <::Line>+1.
	   <::EdBuffer>  .

	     <::Line>.

	 <lAuto>,    ,  ,
	  ,    <::Line>-1. , 
	   <::MarginLeft>
$ENDMETHOD$

$METHODNAME$
	Draw()
$SUMMARY$
	Draw one of box characters.
$LANG_RU$
	    .
$SYNTAX$
	Draw(<lDrawMode>, <nKey>[, <lUndo>] ) 	--> .T. || .F.
$ARGUMENTS$
	<lDrawMode> - Logical, is TRUE if single mode, oher double mode.
	<nKey>  - Numeric, key code - draw direction. One of K_UP, K_DOWN, K_LEFT, K_RIGHT.
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lDrawMode> - Logical,  TRUE,  ,  - .
	<nKey>  - Numeric,   -  .   K_UP, K_DOWN, K_LEFT, K_RIGHT.
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns TRUE if symbol is drew.
$LANG_RU$
	 TRUE   .
$DESCRIPTION$
	Draw() is drew box symbols in current position <::Line> and <::Pos>.
$LANG_RU$
	Draw()        <::Line> 
	 <::Pos>      ,  
	    .
$ENDMETHOD$

$METHODNAME$
	FormatLine()
$SUMMARY$
	Formatting line.
$LANG_RU$
	 .
$SYNTAX$
	FormatLine([<lAutoMargin>],[ <nMarginLeft>],[ <nMarginRight>],[ <nTabSize>],[ <lHyphen>][, <lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lAutoMargin> - Logical, is TRUE(by default) if need make automaticaly left margin.
	<nMarginLeft> - Numeric, the left margin value (by default <::MarginLeft>)
	<nMarginRight> - Numeric, the right margin value (by default <::MarginRight>)
	<nTabSize> - Numeric, the tabulation value (by default <::TabSize>)
	<lHyphen> - Logical, is TRUE if hyphen (by default <::Hyphen>).
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lAutoMargin> - Logical, TRUE( )     .
	<nMarginLeft> - Numeric,   (  <::MarginLeft>)
	<nMarginRight> - Numeric,    (  <::MarginRight>)
	<nTabSize> - Numeric,   (  <::TabSize>)
	<lHyphen> - Logical, TRUE      (  <::Hyphen>).
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	FormatLine() is formatted current line <::Line> editor buffer.
$LANG_RU$
	FormatLine()    <::Line>   
	 .
$ENDMETHOD$


$METHODNAME$
	FormatPart()
$SUMMARY$
	Formatting part.
$LANG_RU$
	 .
$SYNTAX$
	FormatPart([<lAutoMargin>],[ <nMarginLeft>],[ <nMarginRight>],[ <nTabSize>],[ <lHyphen>][, <lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lAutoMargin> - Logical, is TRUE(by default) if need make automaticaly left margin.
	<nMarginLeft> - Numeric, the left margin value (by default <::MarginLeft>)
	<nMarginRight> - Numeric, the right margin value (by default <::MarginRight>)
	<nTabSize> - Numeric, the tabulation value (by default <::TabSize>)
	<lHyphen> - Logical, is TRUE if hyphen (by default <::Hyphen>).
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lAutoMargin> - Logical, TRUE( )     .
	<nMarginLeft> - Numeric,   (  <::MarginLeft>)
	<nMarginRight> - Numeric,    (  <::MarginRight>)
	<nTabSize> - Numeric,   (  <::TabSize>)
	<lHyphen> - Logical, TRUE      (  <::Hyphen>).
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	FormatPart() is part formatted begin from <::Line> to the line whose
	position first character in line not equal posiiotn first character formatted
	part or to the end of editor buffer.
$LANG_RU$
	FormatPart()       <::Line> 
	 .
$ENDMETHOD$


$METHODNAME$
	CenterLine()
$SUMMARY$
	Centering line.
$LANG_RU$
	 .
$SYNTAX$
	CenterLine([<lUndo>] ) 	--> NIL
$ARGUMENTS$
	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<lUndo> - Logical, TRUE( )      .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	CenterLine() is centered current line <::Line>. The <::Pos> is rested
	previouse.
$LANG_RU$
	CenterLine()    <::Line>.    
	 .
$ENDMETHOD$

$METHODNAME$
	InsTempl()
$SUMMARY$
	Insert substring by template.
$LANG_RU$
	   .
$SYNTAX$
	InsTempl(<aTempl>[, <lUndo>] ) 	--> NIL
$ARGUMENTS$
	<aTempl> - Map, with key <sTm> and value <sStr>. Where <sTm> is template word
	and <sStr> - string to insert.

	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<aTempl> - Map,  .   <sTm>  ,     <sStr>-
	  .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	InsTempl() is replaced current word (template word) to value from a <aTempl>
	whose key equal template.

	<sStr> can include symbol </> it is line delimiter. In this case will be
	inserted some string begin with column <::Pos>.
$LANG_RU$
	     <::Line>   <::Pos>  
	   <aTempl>, InsTempl()   -   
	.

	<sStr>    </>,     .
	        
	  ,    <::Pos>.
$ENDMETHOD$

$METHODNAME$
	InsMacro()
$SUMMARY$
	Make macro and insert result to editor buffer.
$LANG_RU$
	 -      .
$SYNTAX$
	InsMacro(<aTempl>[, <lUndo>] ) 	--> NIL
$ARGUMENTS$
	<aTempl> - Map, with key <sTm> and value <sStr>. Where <sTm> is template word
	and <sStr> - macro expression.

	<lUndo> - Logical, is TRUE(by default) if operation saved in undo buffer.
$LANG_RU$
	<aTempl> - Map,  .   <sTm>  ,     <sStr>-
	 .
	<lUndo> - Logical, TRUE( )      .

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	InsMacro() made macro specified some template and replace this
	template to result expression.  In this case  template
	is word in line <::Line> and column <::Pos>.
$LANG_RU$
	     <::Line>   <::Pos>  
	   <aTempl>, InsMacro()   -   
	.
$ENDMETHOD$

$METHODNAME$
	Undo()
$SUMMARY$
	Make undo operation.
$LANG_RU$
	 .
$SYNTAX$
	Undo() 	--> NIL
$ARGUMENTS$

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	Undo() made last operation what be saved into undo buffer. The size of undo
	buffer specified attribute <::LenUndo>.
$LANG_RU$
	Undo()   ""  ,   
	.      <::LenUndo>.

	           
	 <lUndo> TRUE.
$ENDMETHOD$

$METHODNAME$
	WriteUndo()
$SUMMARY$
	Save undo information.
$LANG_RU$
	    "".
$SYNTAX$
	WriteUndo(<nCMD>, <vData>) 	--> NIL
$ARGUMENTS$
	<nCMD> - Numeric, hash code operation.
	<vData> - Data to saving.
$LANG_RU$
	<nCMD> - Numeric, - .
	<vData> -   ..
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	WriteUndo() is saved some data into undo buffer for undo operation.

	WriteUndo() invoked automaticaly from  methods TEXTEDIT and not
	required direct activation.
$LANG_RU$
	WriteUndo()     "".

	WriteUndo()       TEXTEDIT.
$ENDMETHOD$

$METHODNAME$
	Print()
$SUMMARY$
	Print.
$LANG_RU$
	.
$SYNTAX$
	Print() 	--> .T.
$ARGUMENTS$

$RETURNS$
	Returns TRUE.
$LANG_RU$
	 TRUE.
$DESCRIPTION$
	Print() is printed editor buffer.
$LANG_RU$
	Print()       .

$ENDMETHOD$

$METHODNAME$
	PrintBlock()
$SUMMARY$
	Print marked block.
$LANG_RU$
	 .
$SYNTAX$
	PrintBlock() 	--> .T. || .F.
$ARGUMENTS$

$RETURNS$
	Returns TRUE if block marked and FALSE in other.
$LANG_RU$
	 TRUE       .
$DESCRIPTION$
	PrintBlock() is printed block if it marked.
$LANG_RU$
	PrintBlock()     (  )

$ENDMETHOD$

$METHODNAME$
	HighLightAdd()
$SUMMARY$
	Mark highlight line some colors.
$LANG_RU$
	  .
$SYNTAX$
	HighLightAdd(<nLine>, <nColorItem>) 	--> .T. || .F.
$ARGUMENTS$
	<nLine> - Numeric, the line number to highlighting.

	<nColorItem> - Numeric, the number color item in <::ColorSpec>
$LANG_RU$
	<nLine> - Numeric,  .

	<nColorItem> - Numeric,      <::ColorSpec>
$RETURNS$
	Returns TRUE if line marked and FALSE in other.
$LANG_RU$
	 TRUE   .
$DESCRIPTION$
	HighLightAdd() is highlighted line <nLine> and added information about
	color highlighting to map <::HighLightColor>.

	One line can take a few colors to highlighting.
$LANG_RU$
	HighLightAdd()   <nLine>  <nColorItem>  
	<::ColorSpec>       <::HighLightColor>.

	           .
	  ,      .

$ENDMETHOD$

$METHODNAME$
	HighLightDel()
$SUMMARY$
	Unmark highlight line some color.
$LANG_RU$
	     .
$SYNTAX$
	HighLightDel(<nLine>, <nColorItem>) 	--> .T. || .F.
$ARGUMENTS$
	<nLine> - Numeric, the line number to highlighting.
	<nColorItem> - Numeric, the number color item in <::ColorSpec>
$LANG_RU$
	<nLine> - Numeric,  .
	<nColorItem> - Numeric,      <::ColorSpec>
$RETURNS$
$LANG_RU$
	 TRUE     .
$DESCRIPTION$
	HighLightDel() is undo highlight line <nLine> with color specified <nColorItem>.
	and removed information about this color highlighting from map <::HighLightColor>.
$LANG_RU$
	HighLightDel()     <nLine>    <nColorItem> 
	 <::ColorSpec>      <::HighLightColor>.
$ENDMETHOD$


$METHODNAME$
	SetNumStyle()
$SUMMARY$
	On/Off the draw style "NUMERIC"
$LANG_RU$
	/  "NUMERIC"
$SYNTAX$
	SetNumStyle([<lNum>]) 	--> NIL
$ARGUMENTS$
	<lNum> - Logical, if TRUE(default), numeric style ON.
$LANG_RU$
	<lNum> - Logical, TRUE( ),  "NUMERIC" .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	SetNumStyle() is sets to ON/OFF numeric style. If ON, then every line
	of editor buffer draw into viewport with same number.
$LANG_RU$
	SetNumStyle() /     
	.  <lNum> TRUE,     
	      .

$ENDMETHOD$

$METHODNAME$
	KillNumStyle()
$SUMMARY$
	Off the style "NUMERIC"
$LANG_RU$
	  "NUMERIC"
$SYNTAX$
	KillNumStyle() 	--> NIL
$ARGUMENTS$

$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	KillNumStyle() is sets to OFF numeric style.
$LANG_RU$
	KillNumStyle()      .
$ENDMETHOD$

$METHODNAME$
	SetNewColor()
$SUMMARY$
	Set new colors TEXTEDIT.
$LANG_RU$
	   .
$SYNTAX$
	SetNewColor(<sNewColor>) 	--> NIL
$ARGUMENTS$
	<sNewColor> - String, the color specification.
$LANG_RU$
	<sNewColor> - String,  -  .b
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	SetNewColor() is sets new color specification to TEXTEDIT.
	The method Refresh() used 4 colors item to draw editor buffer:

	<sNewColor> := "<clr1>, <clr2>, <clr3>, <clr4>[, ...<clrN>]"
	<clr1> - symbols base color
	<clr2> - EOF-string color
	<clr3> - mark symbols color
	<clr4> - mark founded symbols color
	 ...
	<clrN> - users color
$LANG_RU$
	SetNewColor()    .
	 Refresh()   4    :

	<sNewColor> := "<clr1>, <clr2>, <clr3>, <clr4>[, ...<clrN>]"
	<clr1> -   
	<clr2> -   EOF
	<clr3> -   
	<clr4> -  ,   
	 ...
	<clrN> -  
$ENDMETHOD$


$METHODNAME$
	SetCharset()
$SUMMARY$
	Set charset to translate editor data.
$LANG_RU$
	  .
$SYNTAX$
	SetCharset(<sCharset>) 	--> NIL
$ARGUMENTS$
	<sCharset> - String, the charset.
$LANG_RU$
	<sCharset> - String, .
$RETURNS$
	Returns NIL.
$LANG_RU$
	 NIL.
$DESCRIPTION$
	SetCharset() set a new charset  <sCharset> and translated data of
	editor buffer to host charset.
$LANG_RU$
	SetCharset()   <sCharset>   
	   (   )   CLIP-.

$ENDMETHOD$


$METHODNAME$
	SetKey()
$SUMMARY$
	Set a code block associated with code key value.
$LANG_RU$
	  ,    .
$SYNTAX$
	SetKey(<nKey>[, <bData>]) 	--> bPreviouse
$ARGUMENTS$
	<nKey> - Numeric, the key code.
	<bData> - Block code, block to runing.
$LANG_RU$
	<nKey> - Numeric,  .
	<bData> - Block code,  .
$RETURNS$
	Returns the previouse block code if exist or returns current one <bData>.
$LANG_RU$
	       <nKey>(  )
	   <bData>.
$DESCRIPTION$
	SetKey() is sets a new code block associated with code <nKey>.
	When replacing an existing code block definition, it returns previous
	code block, in other returns current one.
	Its associated key code will be evaluated ApplyKey() methods.

	If <bData>  is NIL, SetKey() returns old block code and remove
	keypress/code block definition.


	A default key code is cursor moves(K_UP, K_DOWN, K_LEFT, K_RIGHT, K_PGUP,
	K_PGDN, K_HOME, K_END ....) associates with corresponded methods Left(),
	Right(), Up(), Down() and more.
$LANG_RU$
	SetKey()    ,    <nKey>.
	      ,   
	 ,    .
	         
	ApplyKey().

	 <bData> NIL, SetKey()    
	         .

	     (K_UP, K_DOWN, K_LEFT, K_RIGHT, K_PGUP,
	K_PGDN, K_HOME, K_END ....)    Left(),
	Right(), Up(), Down()  .
$ENDMETHOD$

$METHODNAME$
	ApplyKey()
$SUMMARY$
	Evalute the code block.
$LANG_RU$
	  .
$SYNTAX$
	ApplyKey(<nKey>) 	--> nResult
$ARGUMENTS$
	<nKey> - Numeric, the key code.
$LANG_RU$
	<nKey> - Numeric,  .
$RETURNS$
	Returns one of numeric value what definited in edit.ch.

	TE_EXIT		-1 User request for the TEXTEDIT to lose input focus

	TE_CONTINUE	0  Code block associated with <nKey> was evaluated

	TE_EXCEPTION	1  Unable to locate <nKey> in the dictionary, key was not processed
$LANG_RU$
	     edit.ch :

	TE_EXIT		-1    TEXTEDIT  

	TE_CONTINUE	0   ,    <nKey>,  

	TE_EXCEPTION	1      <nKey>,    
$DESCRIPTION$
	ApplyKey() evaluates the code block associeated with key code <nKey>
	that is contained whithin SetKey() dictionary and returns <nResult>.
$LANG_RU$
	ApplyKey()       <nKey>,
	   ,   SetKey(),   <nResult>.
$ENDMETHOD$


$METHODNAME$
	SetFocus()
$SUMMARY$
	Set/kill focus.
$LANG_RU$
	/ 
$SYNTAX$
	SetFocus([<lFocus>]) 	--> lNewFocus
$ARGUMENTS$
	<lFocus> - Logical, if TRUE object take focus.
$LANG_RU$
	<lFocus> - Logical,  TRUE   .
$RETURNS$
	Returns new focused value TRUE or FALSE.
$LANG_RU$
	   -     - TRUE  FALSE.
$DESCRIPTION$
	SetFocus() sets or kills focus.
	If <lFocus> not specifyed, then <::InFocus> take new value !<::InFocus>
$LANG_RU$
	SetFocus()    .
	 <lFocus>  , <lFocus>   !<::InFocus>
$ENDMETHOD$

$EXAMPLES$

#include <inkey.ch>
local te, nKey, str

clear screen
wopen(2, 2, 20, 40)
te := textEditNew(0, 0, maxrow(), maxcol(), "11/1,0/2,0/3,0/7")
te:EofString := "  ******* The happy end  ******* "
te:lEofString := .t.
te:LoadString("This is test string!&\n&\tThis is test string!&\n&\t&\tThis is test string!&\n")
while .T.
	nKey := inkey(0)
	do case
		case nKey == K_ESC
			str := te:SaveString()
			exit
		case nKey == K_UP
			te:up()
		case nKey == K_DOWN
			te:down()
		case nKey == K_LEFT
			te:left()
		case nKey == K_RIGHT
			te:right()
		otherwise
			if (nKey>=32 .and. nKey<=256)
				if ( Set(_SET_INSERT) )
					te:insert(chr(nKey))
				else
					te:overStrike(chr(nKey))
				endif
			endif
	endcase
enddo

wclose()

? str
?


$PLATFORMS$
   No dependies of platform.
$SEEALSO$
	Find
$AUTHOR$
ITK
$LASTDATE$




