Subversion Repositories Kolibri OS

Rev

Rev 7576 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. <html>
  2. <head>
  3. <title>¤ыхьхэЄ Text Editor</title>
  4. <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
  5. <link href="../style.css" type=text/css rel=stylesheet>
  6. </head>
  7.  
  8. <body>
  9. <p><a href="../box_lib.htm">═р уыртэє■ &uarr;</a></p>
  10. <h1>╬уыртыхэшх</h1>
  11.  
  12. <p><a href="#vveden">┬тхфхэшх</a></p>
  13. <p><a href="#funct">╘єэъЎшш</a></p>
  14. <ul>
  15. <li><a href="#fun_but_copy">ted_but_copy</a></li>
  16. <li><a href="#fun_but_cut">ted_but_cut</a></li>
  17. <li><a href="#fun_but_find">ted_but_find</a></li>
  18. <li><a href="#fun_but_find_next">ted_but_find_next</a></li>
  19. <li><a href="#fun_but_paste">ted_but_paste</a></li>
  20. <li><a href="#fun_but_redo">ted_but_redo</a></li>
  21. <li><a href="#fun_but_reverse">ted_but_reverse</a></li>
  22. <li><a href="#fun_but_save_file">ted_but_save_file</a></li>
  23. <li><a href="#fun_but_select_word">ted_but_select_word</a></li>
  24. <li><a href="#fun_but_sumb_lover">ted_but_sumb_lover</a></li>
  25. <li><a href="#fun_but_sumb_upper">ted_but_sumb_upper</a></li>
  26. <li><a href="#fun_but_undo">ted_but_undo</a></li>
  27. <li><a href="#fun_can_save">ted_can_save</a></li>
  28. <li><a href="#fun_clear">ted_clear</a></li>
  29. <li><a href="#fun_delete">ted_delete</a></li>
  30. <li><a href="#fun_draw">ted_draw</a></li>
  31. <li><a href="#fun_init">ted_init</a></li>
  32. <li><a href="#fun_init_scroll_bars">ted_init_scroll_bars</a></li>
  33. <li><a href="#fun_init_syntax_file">ted_init_syntax_file</a></li>
  34. <li><a href="#fun_is_select">ted_is_select</a></li>
  35. <li><a href="#fun_key">ted_key</a></li>
  36. <li><a href="#fun_mouse">ted_mouse</a></li>
  37. <li><a href="#fun_open_file">ted_open_file</a></li>
  38. <li><a href="#fun_text_add">ted_text_add</a></li>
  39. <li><a href="#fun_text_colored">ted_text_colored</a></li>
  40. <li><a href="#fun_go_to_position">ted_go_to_position</a></li>
  41. </ul>
  42. <p><a href="#syn_file">╘юЁьрЄ Їрщыр яюфётхЄъш *.syn</a></p>
  43. <p><a href="#struc_tedit">╤ЄЁєъЄєЁр tedit</a></p>
  44.  
  45. <h1><a name="vveden">┬тхфхэшх</a></h1>
  46. <p>▌ыхьхэЄ text_editor яючтюы хЄ ЁрсюЄрЄ№ ё ЄхъёЄют√ьш Їрщырьш, ёюфхЁцшЄ ьэюую ЇєэъЎшщ фы  ЁхфръЄшЁютрэш  ЄхъёЄр.</p>
  47. <p><img src="../../../../../../other/t_edit/t_edit.png"></p>
  48. <p>┬эх°эшщ тшф яЁюуЁрьь√, ё ¤ыхьхэЄюь text_editor.</p>
  49.  
  50. <h2>┬ючьюцэюёЄш ¤ыхьхэЄр</h2>
  51. <ul>
  52.   <li>╬ЄъЁ√Єшх (Ctrl+O), ╤юїЁрэхэшх Їрщыр (Ctrl+S, Ctrl+Shift+S).</li>
  53.   <li>╨хфръЄшЁютрэшх: ╧ютЄюЁ/╬Єьхэр фхщёЄтш  (Ctrl+Z), ┬√ЁхчрЄ№, ╩юяшЁютрЄ№ (Ctrl+C), ┬ёЄртшЄ№ (Ctrl+V), ╧юшёъ (Ctrl+F, F3), ╟рьхэр (Ctrl+H), ╧хЁхїюф эр ёЄЁюъє (Ctrl+G).</li>
  54.   <li>┬√фхыхэшх ЎтхЄюь ёыют, чрфрээ√ї т Їрщых ёшэЄръёшёр. ┬√тюф ёяЁртъш яю эшь, хёыш юэр хёЄ№ (эрцрЄшхь F1 ъюуфр ъєЁёюЁ эр ёыютх).</li>
  55. </ul>
  56.  
  57. <h2>╬ ЁрсюЄх ¤ыхьхэЄр</h2>
  58. <p>╨рчфхы фы  яЁюуЁрььшёЄют (ш шэЄхЁхёє■∙шїё  ы■фхщ), т ъюЄюЁюь Ёрёърчрэ√
  59.   эхъюЄюЁ√х шфхш, эр ъюЄюЁ√ї яюёЄЁюхэр фрээр  яЁюуЁрььр.</p>
  60.  
  61. <p>─ы  ЁрсюЄ√ ё ЄхъёЄюь яЁюуЁрььр шёяюы№чєхЄ ёЄЁєъЄєЁ√:</p>
  62. <pre>struct symbol
  63.   c db ?        ;  +0 ёшьтюы
  64.   col db ?      ;  +1 ЎтхЄ
  65.   perv dd ? ;  +2
  66.   next dd ? ;  +6 єърчрЄхыш
  67.   tc dd ?       ; +10 тЁхь. ёючфрэш 
  68.   td dd ?       ; +14 тЁхь. єфрыхэш 
  69. ends</pre>
  70. <p>╩рцфр  шч Єръшї ёЄЁєъЄєЁ ёюїЁрэ хЄ юфшэ ёшьтюы т яхЁхьхээющ 'c'. ╧хЁхьхээ√х
  71.   'perv' ш 'next' їЁрэ Є шэфхъё√ яхЁтюую ш ёыхфє■∙хую ёшьтюыют. ┴ыруюфрЁ  ўхьє
  72.   ЄхъёЄ ёючфрхЄё  т тшфх Ўхяюўъш ёшьтюыют (фтєэряЁртыхээ√щ ёяшёюъ).</p>
  73. <p><b>'tc'</b> - тЁхь  ёючфрэш  ёшьтюыр, яЁш юЄьхэх фхщёЄтш  ЄхъёЄют√щ ЁхфръЄюЁ "чэрхЄ"
  74.   ъръшх ёшьтюы√ юЄюсЁрцрЄ№, р ъръшх эхЄ (їюЄ  тёх ёшьтюы√ "тшё Є" т ярь Єш).</p>
  75. <p><b>'td'</b> - тЁхь  єфрыхэш  ёшьтюыр, чряюыэ хЄё  яЁш єфрыхэшш, яЁш юЄьхэх фхщёЄтш 
  76.   єфрыхэш  ёшьтюыют, ЄхъёЄ ьюцхЄ с√Є№ тюёёЄрэютыхэ.</p>
  77. <p><b>'col'</b> - шёяюы№чєхЄё  фы  ЎтхЄютющ ЁрчьхЄъш, ёюфхЁцшЄ шэфхъё ЎтхЄр т ьрёёштх ЎтхЄют ted_text_colors.</p>
  78.  
  79. <h1><a name="funct">╘єэъЎшш</a></h1>
  80. <h2>╘єэъЎшш эр ¤ъёяюЁЄ:</h2>
  81.  
  82. <h4><a name="fun_but_copy">ted_but_copy</a></h4>
  83. <p>╘єэъЎш  ъюЄюЁр  сєфхЄ т√ч√трЄ№ё  яЁш эрцрЄшш эр ъэюяъє ъюяшЁютрэш  т сєЇхЁ шыш эр <b>Ctrl+C</b>. ╥хъёЄ ъюяшЁєхЄё  т сєЇхЁ <b>ted_buffer</b>, ьръёшьры№э√щ ЁрчьхЁ сєЇхЁр єърч√трхЄё  т <b>ted_buffer_size</b>.</p>
  84. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  85. <pre>stdcall [ted_but_copy], tedit0</pre>
  86.  
  87. <h4><a name="fun_but_cut">ted_but_cut</a></h4>
  88. <p>╘єэъЎш  т√ЁхчрхЄ т√фхыхээ√щ ЄхъёЄ ш ъюяшЁєхЄ хую т сєЇхЁ.</p>
  89. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  90. <pre>stdcall [ted_but_cut], tedit0</pre>
  91.  
  92. <h4><a name="fun_but_find">ted_but_find</a></h4>
  93. <p>╘єэъЎш  фы  яюшёър ЄхъёЄр. ╚∙хЄ ЄхъёЄ шч сєЇхЁр <b>ted_buffer_find</b>, яЁш эрїюцфхэшш яхЁхьх∙рхЄ ъєЁёюЁ ъ эрщфхэюьє ЄхъёЄє ш т√фхы хЄ хую. ╧ЁшэшьрхЄ 2 ярЁрьхЄЁр:</p>
  94. <p>1) ёЄЁєъЄєЁр tedit,</p>
  95. <p>2) ярЁрьхЄЁ√ яюшёър:</p>
  96. <ul>
  97. <li>0 - шёърЄ№ эшцх ъєЁёюЁр</li>
  98. <li>1 - шёърЄ№ т√°х ъєЁёюЁр</li>
  99. <li>2 - шёърЄ№ юЄ эрўрыр фюъєьхэЄр</li>
  100. </ul>
  101. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  102. <pre>stdcall [ted_but_find], tedit0, 2</pre>
  103.  
  104. <h4><a name="fun_but_find_next">ted_but_find_next</a></h4>
  105. <p>╘єэъЎш  фы  яюшёър ЄхъёЄр. ╚∙хЄ ЄхъёЄ шч сєЇхЁр <b>ted_buffer_find</b>, яЁш эрїюцфхэшш яхЁхьх∙рхЄ ъєЁёюЁ ъ эрщфхэюьє ЄхъёЄє ш т√фхы хЄ хую. ╧юшёъ тхфхЄё  эшцх Єхъє∙хую яюыюцхэш  ъєЁёюЁр.</p>
  106. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  107. <pre>stdcall [ted_but_find_next], tedit0</pre>
  108.  
  109. <h4><a name="fun_but_paste">ted_but_paste</a></h4><p></p>
  110. <p>╘єэъЎш  тёЄрты хЄ ЄхъёЄ шч сєЇхЁр <b>ted_buffer</b>.</p>
  111. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  112. <pre>stdcall [ted_but_paste], tedit0</pre>
  113.  
  114. <h4><a name="fun_but_redo">ted_but_redo</a></h4>
  115. <p>╧ютЄюЁ хЄ юЄьхэхээ√х фхщёЄтш  яю ЁхфръЄшЁютрэш■ ЄхъёЄр.</p>
  116. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  117. <pre>stdcall [ted_but_redo], tedit0</pre>
  118.  
  119. <h4><a name="fun_but_reverse">ted_but_reverse</a></h4>
  120. <p>╠хэ хЄ яюЁ фюъ ёыхфютрэш  ёшьтюыют т т√фхыхээюь ЄхъёЄх.</p>
  121. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  122. <pre>stdcall [ted_but_reverse], tedit0</pre>
  123.  
  124. <h4><a name="fun_but_save_file">ted_but_save_file</a></h4>
  125. <p>╘єэъЎш  фы  ёюїЁрэхэш  Їрщыр. ╧ЁшэшьрхЄ 3 ярЁрьхЄЁр:</p>
  126. <p>1) ёЄЁєъЄєЁр tedit,</p>
  127. <p>2) ёЄЁєъЄєЁр фы  ЁрсюЄ√ 70-щ ЇєэъЎшш (фю т√чютр ЇєэъЎшш чряюыэхэш  эх ЄЁхсєхЄ),</p>
  128. <p>3) ёЄЁюър ё яєЄхь ш шьхэхь Їрщыр.</p>
  129. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  130. <pre>stdcall [ted_but_save_file], tedit0,run_file_70,[edit1.text]</pre>
  131.  
  132. <h4><a name="fun_but_select_word">ted_but_select_word</a></h4>
  133. <p>╘єэъЎш  фы  т√фхыхэш  ъы■ўхтюую ёыютр яюф ъєЁёюЁюь. ┼ёыш ъы■ўхт√х ёыютр эх шёяюы№чє■Єё , Єюуфр сєфхЄ т√фхыхэ тхё№ ЄхъёЄ.</p>
  134. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  135. <pre>stdcall [ted_but_select_word], tedit0</pre>
  136.  
  137. <h4><a name="fun_but_sumb_lover">ted_but_sumb_lover</a></h4>
  138. <p>╧хЁхтюфшЄ т√фхыхээ√х ёшьтюы√ ъ эшцэхьє ЁхушёЄЁє.</p>
  139. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  140. <pre>stdcall [ted_but_sumb_lover], tedit0</pre>
  141.  
  142. <h4><a name="fun_but_sumb_upper">ted_but_sumb_upper</a></h4>
  143. <p>╧хЁхтюфшЄ т√фхыхээ√х ёшьтюы√ ъ тхЁїэхьє ЁхушёЄЁє.</p>
  144. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  145. <pre>stdcall [ted_but_sumb_upper], tedit0</pre>
  146.  
  147. <h4><a name="fun_but_undo">ted_but_undo</a></h4>
  148. <p>╬Єьхэ хЄ фхщёЄтш  яю ЁхфръЄшЁютрэш■ ЄхъёЄр. ─хщёЄтш  ЇєэъЎшш <b>ted_but_reverse</b> эх юЄьхэ ■Єё .</p>
  149. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  150. <pre>stdcall [ted_but_undo], tedit0</pre>
  151.  
  152. <h4><a name="fun_can_save">ted_can_save</a></h4>
  153. <p>╘єэъЎш  ъюЄюЁр  яЁютхЁ хЄ с√ыш ыш эх ёюїЁрэхээ√х шчьхэхэш  т ЄхъёЄх. ╨хчєы№ЄрЄ тючтЁр∙рхЄё  т ЁхушёЄЁ <b>al</b>, хёыш шчьхэхэш  с√ыш Єю тючтЁр∙рхЄ 1 шэрўх 0.</p>
  154. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  155. <pre>push eax
  156.         stdcall [ted_can_save], tedit0
  157.         cmp al,1
  158. .........
  159. pop eax</pre>
  160.  
  161. <h4><a name="fun_clear">ted_clear</a></h4>
  162. <p>╬ўшёЄър ЄхъёЄр т юъэх ЁхфръЄюЁр. ╧ЁшэшьрхЄ 2 ярЁрьхЄЁр:</p>
  163. <p>1) ёЄЁєъЄєЁр tedit,</p>
  164. <p>2) ярЁрьхЄЁ юяЁхфхы хЄ сєфхЄ ыш юўшёЄър ярь Єш яюыэющ.</p>
  165. <p>┼ёыш 2-щ ярЁрьхЄЁ Ёртхэ 1, Єю юўшёЄър сєфхЄ яюыэющ, яЁш 0 эхЄ. ╧юы№чютрЄхы■ эєцэю т√ч√трЄ№ ЇєэъЎш■ ё ярЁрьхЄЁюь 1, ярЁрьхЄЁ 0 фы  тэєЄЁхээхую шёяюы№чютрэш .</p>
  166. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  167. <pre>stdcall [ted_clear], tedit0,1</pre>
  168.  
  169. <h4><a name="fun_delete">ted_delete</a></h4>
  170. <p>─хёЄЁєъЄюЁ ¤ыхьхэЄр, юётюсюцфрхЄ ярь Є№ чрэ Єє■ ¤ыхьхэЄюь.</p>
  171. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  172. <pre>stdcall [ted_delete], tedit0</pre>
  173.  
  174. <h4><a name="fun_draw">ted_draw</a></h4>
  175. <p>╧хЁхЁшёютър тёхую юъэр ЁхфръЄюЁр, тъы■ўр  фюўхЁэшх ёъЁюыышэуш.</p>
  176. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  177. <pre>stdcall [ted_draw], tedit0</pre>
  178.  
  179. <h4><a name="fun_init">ted_init</a></h4>
  180. <p>╩юэёЄЁєъЄюЁ ¤ыхьхэЄр, т√фхы хЄ ярь Є№ эхюсїюфшьє■ фы  ЁрсюЄ√ ЄхъёЄютюую ЁхфръЄюЁр.</p>
  181. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  182. <pre>stdcall [ted_init], tedit0</pre>
  183.  
  184. <h4><a name="fun_init_scroll_bars">ted_init_scroll_bars</a></h4>
  185. <p>╙ёЄрэртыштрхЄ ЎтхЄ ёъЁюыышэуют ш эрёЄЁрштрхЄ шї ЁрчьхЁ√ т чртшёшьюёЄш юЄ ЁрчьхЁют юъэр. ╠юцэю т√ч√трЄ№ ¤Єє ЇєэъЎш■ яЁш шчьхэхэшш ЁрчьхЁют юъэр т яюы№чютрЄхы№ёъющ яЁюуЁрььх. ╧ЁшэшьрхЄ 2 ярЁрьхЄЁр:</p>
  186. <p>1) ёЄЁєъЄєЁр tedit,</p>
  187. <p>2) юяЎшш, єърч√тр■Є ъръшх эєцэю шчьхэшЄ№ ярЁрьхЄЁ√:</p>
  188. <ul>
  189. <li>1 - шчьхэшЄ№ ЎтхЄр ёъЁюыышэуют</li>
  190. <li>2 - шчьхэшыё  ЁрчьхЁ юъэр</li>
  191. <li>4 - шчьхэшыё  ЁрчьхЁ фюъєьхэЄр</li>
  192. </ul>
  193. <p>╧рЁрьхЄЁ√ ьюцэю ъюьсшэшЁютрЄ№ ўхЁхч <i>ыюушўхёъюх шыш</i>.</p>
  194. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  195. <pre>stdcall [ted_init_scroll_bars], tedit0,2</pre>
  196.  
  197. <h4><a name="fun_init_syntax_file">ted_init_syntax_file</a></h4>
  198. <p>╘єэъЎш  фы  чруЁєчъш ЎтхЄют шэЄхЁЇхщёр ш ъы■ўхт√ї ёыют шч Їрщыр ёшэЄръёшёр. ╧ЁшэшьрхЄ 3 ярЁрьхЄЁр:</p>
  199. <p>1) ёЄЁєъЄєЁр tedit,</p>
  200. <p>2) ёЄЁєъЄєЁр фы  ЁрсюЄ√ 70-щ ЇєэъЎшш (фю т√чютр ЇєэъЎшш чряюыэхэш  эх ЄЁхсєхЄ),</p>
  201. <p>3) ёЄЁюър ё яєЄхь ш шьхэхь Їрщыр ёшэЄръёшёр.</p>
  202. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  203. <pre>stdcall [ted_init_syntax_file], tedit0,run_file_70,file_name</pre>
  204.  
  205. <h4><a name="fun_is_select">ted_is_select</a></h4>
  206. <p>╬яЁхфхы хЄ хёЄ№ т юъэх ЁхфръЄюЁр т√фхыхээ√щ ЄхъёЄ. ┼ёыш хёЄ№ т ЁхушёЄЁ <b>al</b> чряшё√трхЄё  1 шэрўх 0. ╘єэъЎш  эхюсїюфшьр фы  ёючфрэш  ярэхыхщ шэёЄЁхьхэЄют, т ъюЄюЁ√ї т чртшёшьюёЄш юЄ т√фхыхэш  сєфєЄ фюёЄєяэ√ шыш чрсыюъшЁютрэ√ юяЁхфхыхээ√х ъэюяъш (фхщёЄтш ). ═ряЁшьхЁ ъэюяъє фы  ъюяшЁютрэш  т сєЇхЁ ьюцэю чрсыюъшЁютрЄ№ хёыш эхЄ т√сЁрээюую ЄхъёЄр.</p>
  207. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  208. <pre>push eax edi
  209.         mov edi,tedit0
  210.         call [ted_is_select]
  211.         cmp al,0
  212. .........
  213. pop edi eax</pre>
  214.  
  215. <h4><a name="fun_key">ted_key</a></h4>
  216. <p>╘єэъЎш  т√ч√трхьр  фы  ЁхръЎшш эр ъыртшрЄєЁє. ┬ ЁхушёЄЁх <b>eax</b> фюыцхэ с√Є№ ъюф эрцрЄющ ъыртш°ш. ╧ЁшэшьрхЄ 3 ярЁрьхЄЁр:</p>
  217. <p>1) ёЄЁєъЄєЁр tedit,</p>
  218. <p>2) ЄрсышЎр фы  ъюэтхЁЄрЎшш scan ъюфют т ascii,</p>
  219. <p>3) єяЁрты ■∙шх ёшьтюы√.</p>
  220. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  221. <pre>mcall 66,3 ;66.3 яюыєўшЄ№ ёюёЄю эшх єяЁрты ■∙шї ъыртш°
  222. xor esi,esi
  223. mov ecx,1
  224. test al,0x03 ;[Shift]
  225. jz @f
  226.         mov cl,2
  227.         or esi,KM_SHIFT
  228. @@:
  229. test al,0x0c ;[Ctrl]
  230. jz @f
  231.         or esi,KM_CTRL
  232. @@:
  233. test al,0x30 ;[Alt]
  234. jz @f
  235. mov cl,3
  236.         or esi,KM_ALT
  237. @@:
  238. test al,0x80 ;[NumLock]
  239. jz @f
  240.         or esi,KM_NUMLOCK
  241. @@:
  242.  
  243. mcall 26,2,,conv_tabl ;26.2 яюыєўшЄ№ Ёрёъырфъє ъыртшрЄєЁ√
  244. mcall 2 ;яюыєўрхь ъюф эрцрЄющ ъыртш°ш
  245. stdcall [ted_key], tedit0, conv_tabl,esi</pre>
  246.  
  247. <h4><a name="fun_mouse">ted_mouse</a></h4>
  248. <p>╘єэъЎш  эр яхЁхьх∙хэшх шыш эрцрЄшх ь√°ш.</p>
  249. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  250. <pre>stdcall [ted_mouse], tedit0</pre>
  251.  
  252. <h4><a name="fun_open_file">ted_open_file</a></h4>
  253. <p>╘єэъЎш  фы  юЄъЁ√Єш  Їрщыр. ╧ЁшэшьрхЄ 3 ярЁрьхЄЁр:</p>
  254. <p>1) ёЄЁєъЄєЁр tedit,</p>
  255. <p>2) ёЄЁєъЄєЁр фы  ЁрсюЄ√ 70-щ ЇєэъЎшш (фю т√чютр ЇєэъЎшш чряюыэхэш  эх ЄЁхсєхЄ),</p>
  256. <p>3) ёЄЁюър ё яєЄхь ш шьхэхь Їрщыр.</p>
  257. <p>┬ючтЁр∙рхЄ 2 ярЁрьхЄЁр:</p>
  258. <p>1) eax = ъюф ю°шсъш</p>
  259. <p>2) ebx = ъюыышўхёЄтю яЁюўшЄрээ√ї срщЄ</p>
  260. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  261. <pre>push eax ebx
  262. stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
  263. .........
  264. pop ebx eax</pre>
  265.  
  266. <h4><a name="fun_text_add">ted_text_add</a></h4>
  267. <p>╘єэъЎш  фы  фюсртыхэш  ЄхъёЄр. ╧ЁшэшьрхЄ 4 ярЁрьхЄЁр:</p>
  268. <p>1) ёЄЁєъЄєЁр tedit,</p>
  269. <p>2) єърчрЄхы№ эр сєЇхЁ ё ЄхъёЄюь,</p>
  270. <p>3) фышэр ЄхъёЄр,</p>
  271. <p>4) юяЎшш тёЄртъш.</p>
  272. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  273. <pre>text_buffer db 500 dup(0)
  274. .........
  275. mov ebx,ted_opt_ed_change_time+ted_opt_ed_move_cursor
  276. stdcall [ted_text_add], tedit0,text_buffer,30,ebx</pre>
  277. <p><b>ted_opt_ed_change_time</b> - ЇшъёшЁютрЄ№ шчьхэхэш  фюъєьхэЄр, ўЄю-с√ шї ьюцэю с√ыю юЄьхэшЄ№. ═ряЁшьхЁ хёыш эєцэю ёфхырЄ№ эхёъюы№ъю шчьхэхэшщ ЄхъёЄр, ъюЄюЁ√х сєфєЄ юЄьхэ Є№ё  чр юфшэ Ёрч, Єю 1-х шчьхэхэшх шфхЄ ё ¤Єющ ъюэёЄрэЄющ р юёЄры№э√х эхЄ.</p>
  278. <p><b>ted_opt_ed_move_cursor</b> - ъюэёЄрэЄр ъюЄюЁр  юяЁхфхы хЄ ёфтшу ъєЁёюЁр яюёых фюсртыхэш  ЄхъёЄр.</p>
  279.  
  280. <h4><a name="fun_text_colored">ted_text_colored</a></h4>
  281. <p>╘єэъЎш  фы  ЁрчьхЄъш ЄхъёЄр ЎтхЄюь. ╬с√ўэю т√ч√трхЄё  тэєЄЁш ёрьющ сшсышюЄхъш, яЁш шчьхэхэш ї ЄхъёЄр. ┬ эхъюЄюЁ√ї ёыєўр ї ьюцхЄ яюэрфюсшЄ№ё  т√чтрЄ№ яЁшэєфшЄхы№эю шч тэх°эхщ яЁюуЁрьь√.</p>
  282. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  283. <pre>push edi
  284.         mov edi,tedit0
  285.         call [ted_text_colored]
  286. pop edi</pre>
  287.  
  288. <h4><a name="fun_go_to_position">ted_go_to_position</a></h4>
  289. <p>╘єэъЎш  фы  яхЁхїюфр эр єърчрээє■ яючшЎш■. ╧ЁшэшьрхЄ 3 ярЁрьхЄЁр:</p>
  290. <p>1) ёЄЁєъЄєЁр tedit,</p>
  291. <p>2) эюьхЁ ёЄЁюъш,</p>
  292. <p>3) эюьхЁ ёшьтюыр.</p>
  293. <p>╧ЁшьхЁ шёяюы№чютрэш :</p>
  294. <pre>stdcall [ted_go_to_position], tedit0,50,3</pre>
  295.  
  296. <h2>┬эєЄЁхээшх ЇєэъЎшш:</h2>
  297. <p><b>ted_get_text_perv_pos</b> - яхЁхїюф эр яЁхф√фє∙шщ ёшьтюы т Ўхяш (ўхЁхч єърчрЄхы№ 'perv')</p>
  298. <p><b>ted_get_text_next_pos</b> - яхЁхїюф эр ёыхфє■∙шщ ёшьтюы т Ўхяш (ўхЁхч єърчрЄхы№ 'next')</p>
  299. <p><b>ted_symbol_not_vis</b> - юяЁхфхы хЄ тшфшь√щ ыш єърчрээ√щ ёшьтюы эр ¤ъЁрэх (т чртшёшьюёЄш
  300.       юЄ чэрўхэшщ 'tc' ш 'td')</p>
  301. <p><b>ted_iterat_next</b> - яхЁхїюф эр ёыхфє■∙шщ тшфшь√щ ёшьтюы т Ўхяш. ╚ёяюы№чєхЄ фы 
  302.       ЁрсюЄ√ ЇєэъЎшш ted_get_text_next_pos ш ted_symbol_not_vis.</p>
  303. <p><b>ted_iterat_perv</b> - яхЁхїюф эр яЁхфхфє∙шщ тшфшь√щ ёшьтюы т Ўхяш.</p>
  304.  
  305. <p><b>ted_iterat_next_pos_char</b> - эрщЄш ёыхфє■∙є■ яючшЎш■ єърчрээюую ёшьтюыр (edx-яюч. эрўрыр
  306.       яюшёър, bl->ъюф шёъюьюую ёшьтюыр)</p>
  307. <p><b>ted_get_pos_by_coords</b> - схЁхЄ яючшЎш■ ёшьтюыр яю ъююЁфшэрЄрь (esi->ъююЁф. x, чэръ;
  308.       ecx->ъююЁф. y, ёЄЁюър)</p>
  309. <p><b>ted_go_to_pos</b> - яхЁхёЄрты хЄ ъєЁёюЁ т єърчрээє■ яючшЎш■, хёыш єърчрээр  яючшЎш 
  310.       эрїюфшЄё  тэх ¤ъЁрэр, Єю Єръцх яхЁхёЄрты ■Єё  ёъЁюышэуш (ecx->ъююЁф. x, чэръ; edx->ъююЁф. y, ёЄЁюър)</p>
  311.  
  312. <h1><a name="syn_file">╘юЁьрЄ Їрщыр яюфётхЄъш *.syn</a></h1>
  313. <table>
  314. <tr><th>▌ыхьхэЄ</th><th>╨рчьхЁ (срщЄ)</th></tr>
  315. <tr><td>╩юышўхёЄтю ЎтхЄют ЄхъёЄр</td>
  316.   <td><pre>4</pre></td></tr>
  317. <tr><td>╩юышўхёЄтю яюфётхўштрхь√ї ёыют</td>
  318.   <td><pre>4</pre></td></tr>
  319. <tr><td>╓тхЄр шэЄхЁЇхщёр</td>
  320.   <td><pre>4*6</pre></td></tr>
  321. <tr><td>╓тхЄр фы  ЄхъёЄр</td>
  322.   <td><pre>4*(ъюы. Ўт. ЄхъёЄр)</pre></td></tr>
  323. <tr><td>╤ЄЁєъЄєЁ√ ёю ётющёЄтрьш ш юяшёрэш ьш ёыют</td>
  324.   <td><pre>sizeof(TexColViv)*(ъюы. ёыют)</pre></td></tr>
  325. <tr><td>╨рчфхышЄхы№э√щ ёшьтюы, ючэрўр■∙шщ эрўрыю юяшёрэшщ ёыют (тёхуфр Ёртхэ 0)</td>
  326.   <td><pre>1 срщЄ</pre></td></tr>
  327. <tr><td>╬яшёрэш  ёыют (ёЄЁюъш ЄхъёЄр ё 0-ьш т ъюэЎх)</td>
  328.   <td><pre>(фышээр ёяЁртюўэюую ЄхъёЄр + 1)</pre></td></tr>
  329. </table>
  330. <h4>╟рьхўрэш .</h4>
  331. <ul>
  332. <li>┬ёх ёыютр фюыцэ√ с√Є№ Ёрёяюыюцхэ√ т яюЁ фъх ёыхфютрэш  шї ASCII ъюфют.
  333.   ┬ючьюцэю т сєфє∙шї тхЁёш ї ЇюЁьрЄ Їрщыют яюфётхЄъш сєфхЄ шчьхэхэ.</li>
  334. </ul>
  335.  
  336. <h1><a name="struc_tedit">╤ЄЁєъЄєЁр tedit</a></h1>
  337. <p>╠ръЁюёр фы  ёючфрэш  ёЄЁєъЄєЁ√ ЄхъёЄютюую ЁхфръЄюЁр эхЄ. ╧юЄюьє фрээ√х фы  эхую чрфр■Єё  тЁєўэє■. ╧ЁшьхЁ ёЄЁєъЄєЁ√ фы  ЄхъёЄютюую ЁхфръЄюЁр:</p>
  338. <pre>align 4
  339. tedit0: ;ёЄЁєъЄєЁр ЄхъёЄютюую ЁхфръЄюЁр
  340.         .wnd BOX 195,5+20,325,260 ;+ 0
  341.         .rec BOX 30,13,7,10   ;+16
  342.         .drag_m db 0 ;+32 т√фхыхэшх юЄ ь√°ш
  343.         .drag_k db 0 ;+33 т√фхыхэшх юЄ ъыртшрЄєЁ√
  344.         .sel  TexSelect 0,0,0,0 ;+34 ёЄЁєъЄєЁр т√фхыхэш 
  345.         .seln TexSelect ;+50 фюяюыэшЄхы№эр  ёЄЁєъЄєЁр т√фхыхэш 
  346.         .tex      dd 0 ;+66 text memory pointer
  347.         .tex_1    dd 0 ;+70 text first symbol pointer
  348.         .tex_end  dd 0 ;+74 text end memory pointer
  349.         .cur_x    dd 0 ;+78 ъююЁфшэрЄр x ъєЁёюЁр
  350.         .cur_y    dd 0 ;+82 ъююЁфшэрЄр y ъєЁёюЁр
  351.         .max_chars dd 5002 ;+86 ьръёшьры№эюх ўшёыю ёшьтюыют т юфэюь фюъєьхэЄх
  352.         .count_colors_text dd 1 ;+90 ъюыышўхёЄтю ЎтхЄют ЄхъёЄр
  353.         .count_key_words   dd 0 ;+94 ъюыышўхёЄтю ъы■ўхт√ї ёыют
  354.         .color_cursor      dd 0xff0000 ;+98 ЎтхЄ ъєЁёюЁр
  355.         .color_wnd_capt    dd 0x0080c0 ;+102 ЎтхЄ яюыхщ тюъЁєу юъэр
  356.         .color_wnd_work    dd      0x0 ;+106 ЎтхЄ Їюэр юъэр
  357.         .color_wnd_bord    dd 0xffffff ;+110 ЎтхЄ ЄхъёЄр эр яюы ї
  358.         .color_select      dd 0x0000ff ;+114 ЎтхЄ т√фхыхэш 
  359.         .color_cur_text    dd 0xffff00 ;+118 ЎтхЄ ёшьтюыр яюф ъєЁёюЁюь
  360.         .color_wnd_text    dd 0x80ffff ;+122 ЎтхЄ ЄхъёЄр т юъэх
  361.         .syntax_file       dd 0 ;+126 єърчрЄхы№ эр эрўрыю Їрщыр ёшэЄръёшёр
  362.         .syntax_file_size  dd 500 ;+130 ьръёшьры№э√щ ЁрчьхЁ Їрщыр ёшэЄръёшёр
  363.         .text_colors       dd 0 ;+134 єърчрЄхы№ эр ьрёёшт ЎтхЄют ЄхъёЄр
  364.         .help_text_f1      dd 0 ;+138 єърчрЄхы№ эр ЄхъёЄ ёяЁртъш (яю эрцрЄшш F1)
  365.         .help_id           dd -1 ;+142 шфхэЄшЇшърЄюЁ фы  ёяЁртъш
  366.         .key_words_data    dd 0 ;+146 єърчрЄхы№ эр ёЄЁєъЄєЁ√ ъы■ўхт√ї ёыют TexColViv
  367.         .tim_ch      dd ? ;+150 ъюышўхёЄтю шчьхэхэшщ т Їрщых
  368.         .tim_undo    dd ? ;+154 ъюышўхёЄтю юЄьхэхээ√ї фхщёЄтшщ
  369.         .tim_ls      dd ? ;+158 тЁхь  яюёыхфэхую ёюїЁрэхэш 
  370.         .tim_co      dd ? ;+162 тЁхь  яюёыхфэхщ ЎтхЄютющ ЁрчьхЄъш
  371.         .el_focus    dd el_focus ;+166 єърчрЄхы№ эр яхЁхьхээє■ ¤ыхьхэЄр т Їюъєёх
  372.         .err_save    db 0 ;+170 ю°шсър ёюїЁрэхэш  Їрщыр
  373.         .panel_id    db 0 ;+171 эюьхЁ юЄъЁ√Єющ ярэхыш
  374.         .key_new     db 0 ;+172 ёшьтюы, ъюЄюЁ√щ сєфхЄ фюсрты Єё  ё ъыртшрЄєЁ√
  375.         .symbol_new_line db 20 ;+173 ёшьтюы чртхЁ°хэш  ёЄЁюъш
  376.         .scr_w       dd scrol_w1 ;+174 тхЁЄшъры№э√щ ёъЁюыышэу
  377.         .scr_h       dd scrol_h1 ;+178 уюЁшчюэЄры№э√щ ёъЁюыышэу
  378.         .arr_key_pos dd 0 ;+182 єърчрЄхы№ эр ьрёёшт яючшЎшщ ъы■ўхт√ї ёыют
  379.         .buffer      dd buf ;+186 єърчрЄхы№ эр сєЇхЁ ъюяшЁютрэш /тёЄртъш
  380.         .buffer_find dd 0 ;+190 єърчрЄхы№ эр сєЇхЁ фы  яюшёър
  381.         .cur_ins     db 1 ;+194 Ёхцшь ЁрсюЄ√ ъєЁёюЁр (юс√ўэ√щ шыш чрьхэр)
  382.         .mode_color  db 1 ;+195 Ёхцшь т√фхыхэш  ёыют ЎтхЄюь (0-т√ъы. 1-тъы.)
  383.         .mode_invis  db 0 ;+196 Ёхцшь яюърчр эхяхўрЄрхь√ї ёшьтюыют
  384.         .gp_opt      db 0 ;+197 юяЎшш тючтЁр∙рхь√х ЇєэъЎшхщ ted_get_pos_by_cursor
  385.         .fun_on_key_ctrl_all dd but_ctrl_all ;+198 єърчрЄхы№ эр ЇєэъЎш■ т√ч√трхьє■ яЁш эрцрЄшш Ctrl+N,O,S,F,H,G
  386.         dd 0,0,0 ;чрЁхчхЁтшЁютрэю
  387.         .buffer_size       dd BUF_SIZE ;+214 ЁрчьхЁ сєЇхЁр ъюяшЁютрэш /тёЄртъш
  388.         .fun_find_err      dd 0 ;+218 єърчрЄхы№ эр ЇєэъЎш■ т√ч√трхьє■ хёыш яюшёъ чръюэўшыё  эхєфрўэю
  389.         .fun_init_synt_err dd 0 ;+222 єърчрЄхы№ эр ЇєэъЎш■ т√ч√трхьє■ яЁш ю°шсюўэюь юЄъЁ√Єшш Їрщыр ёшэЄръёшёр
  390.         .fun_draw_panel_buttons dd 0 ;+226 єърчрЄхы№ эр ЇєэъЎш■ Ёшёютрэш  ярэхыш ё ъэюяърьш
  391.         .fun_draw_panels   dd 0 ;+230 єърчрЄхы№ эр ЇєэъЎш■ Ёшёютрэш  ярэхыш яюшёър/чрьхэ√/яхЁхїюфр/ёшэЄръёшёр
  392.         dd 0 ;чрЁхчхЁтшЁютрэю
  393.         .fun_save_err      dd 0 ;+238 єърчрЄхы№ эр ЇєэъЎш■ т√ч√трхьє■ хёыш ёюїЁрэхэшх Їрщыр чръюэўшыюё№ эхєфрўэю
  394.         .increase_size dd 225 ;+242 ўшёыю ёшьтюыют эр ъюЄюЁ√х сєфхЄ єтхўштрЄ№ё  ярь Є№ яЁш эхїтрЄъх
  395.         .ptr_free_symb dd   ? ;+246 єърчрЄхы№ эр ётюсюфэє■ ярь Є№, т ъюЄюЁє■ ьюцэю фюсрты Є№ ёшьтюы (шёяюы№чєхЄё  тэєЄЁш ¤ыхьхэЄр фы  єёъюЁхэш  тёЄртъш ЄхъёЄр)
  396.         .font_s dd ? ;+250 ёЄшыш фы  °ЁшЇЄр (юЄ 0 фю 7 ьэюцшЄхы№ фы  ЁрчьхЁр, +16 фы  тЄюЁюую ёшёЄхьэюую °ЁшЇЄр)</pre>
  397. <hr>
  398. <p>─юъєьхэЄрЎш  юсэюты ырё№ яюёыхфэшщ Ёрч 29.01.19.</p>
  399.  
  400. </body>
  401. </html>