Subversion Repositories Kolibri OS

Rev

Rev 1464 | Rev 6274 | Go to most recent revision | 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_next">ted_but_find_next</a></li>
  18. <li><a href="#fun_but_paste">ted_but_paste</a></li>
  19. <li><a href="#fun_but_redo">ted_but_redo</a></li>
  20. <li><a href="#fun_but_reverse">ted_but_reverse</a></li>
  21. <li><a href="#fun_but_save_file">ted_but_save_file</a></li>
  22. <li><a href="#fun_but_select_word">ted_but_select_word</a></li>
  23. <li><a href="#fun_but_sumb_lover">ted_but_sumb_lover</a></li>
  24. <li><a href="#fun_but_sumb_upper">ted_but_sumb_upper</a></li>
  25. <li><a href="#fun_but_undo">ted_but_undo</a></li>
  26. <li><a href="#fun_can_save">ted_can_save</a></li>
  27. <li><a href="#fun_clear">ted_clear</a></li>
  28. <li><a href="#fun_delete">ted_delete</a></li>
  29. <li><a href="#fun_draw">ted_draw</a></li>
  30. <li><a href="#fun_init">ted_init</a></li>
  31. <li><a href="#fun_init_scroll_bars">ted_init_scroll_bars</a></li>
  32. <li><a href="#fun_init_syntax_file">ted_init_syntax_file</a></li>
  33. <li><a href="#fun_is_select">ted_is_select</a></li>
  34. <li><a href="#fun_key">ted_key</a></li>
  35. <li><a href="#fun_mouse">ted_mouse</a></li>
  36. <li><a href="#fun_open_file">ted_open_file</a></li>
  37. <li><a href="#fun_text_add">ted_text_add</a></li>
  38. <li><a href="#fun_text_colored">ted_text_colored</a></li>
  39. </ul>
  40. <p><a href="#syn_file">Ôîðìàò ôàéëà ïîäñâåòêè *.syn</a></p>
  41. <p><a href="#struc_tedit">Ñòðóêòóðà tedit</a></p>
  42.  
  43. <h1><a name="vveden">Ââåäåíèå</a></h1>
  44. <p>Ýëåìåíò text_editor ïîçâîëÿåò ðàáîòàòü ñ òåêñòîâûìè ôàéëàìè, ñîäåðæèò ìíîãî ôóíêöèé äëÿ ðåäàêòèðîâàíèÿ òåêñòà.</p>
  45. <p><img src="../../../../../../other/t_edit/t_edit.png"></p>
  46. <p>Âíåøíèé âèä ïðîãðàììû, ñ ýëåìåíòîì text_editor.</p>
  47.  
  48. <h2>Âîçìîæíîñòè ýëåìåíòà</h2>
  49. <ul>
  50.   <li>Îòêðûòèå (Ctrl+O)/Ñîõðàíåíèå ôàéëà.</li>
  51.   <li>Ðåäàêòèðîâàíèå: Ïîâòîð/Îòìåíà äåéñòâèÿ (Ctrl+Z), Âûðåçàòü/Êîïèðîâàòü (Ctrl+C)/Âñòàâèòü (Ctrl+V), Ïîèñê (Ctrl+F, F3).</li>
  52.   <li>Âûäåëåíèå öâåòîì ñëîâ, çàäàííûõ â ôàéëå ñèíòàêñèñà. Âûâîä ñïðàâêè ïî íèì, åñëè îíà åñòü (íàæàòèåì F1 êîãäà êóðñîð íà ñëîâå).</li>
  53. </ul>
  54.  
  55. <h2>Î ðàáîòå ýëåìåíòà</h2>
  56. <p>Ðàçäåë äëÿ ïðîãðàììèñòîâ (è èíòåðåñóþùèõñÿ ëþäåé), â êîòîðîì ðàñêàçàíû
  57.   íåêîòîðûå èäåè, íà êîòîðûõ ïîñòðîåíà äàííàÿ ïðîãðàììà.</p>
  58.  
  59. <p>Äëÿ ðàáîòû ñ òåêñòîì ïðîãðàììà èñïîëüçóåò ñòðóêòóðû:</p>
  60. <pre>struct symbol
  61.   c db ?        ;  +0 ñèìâîë
  62.   col db ?      ;  +1 öâåò
  63.   perv dd ? ;  +2
  64.   next dd ? ;  +6 óêàçàòåëè
  65.   tc dd ?       ; +10 âðåì. ñîçäàíèÿ
  66.   td dd ?       ; +14 âðåì. óäàëåíèÿ
  67. ends</pre>
  68. <p>Êàæäàÿ èç òàêèõ ñòðóêòóð ñîõðàíÿåò îäèí ñèìâîë â ïåðåìåííîé 'c'. Ïåðåìåííûå
  69.   'perv' è 'next' õðàíÿò èíäåêñû ïåðâîãî è ñëåäóþùåãî ñèìâîëîâ. Áëàãîäàðÿ ÷åìó
  70.   òåêñò ñîçäàåòñÿ â âèäå öåïî÷êè ñèìâîëîâ (äâóíàïðàâëåííûé ñïèñîê).</p>
  71. <p><b>'tc'</b> - âðåìÿ ñîçäàíèÿ ñèìâîëà, ïðè îòìåíå äåéñòâèÿ òåêñòîâûé ðåäàêòîð "çíàåò"
  72.   êàêèå ñèìâîëû îòîáðàæàòü, à êàêèå íåò (õîòÿ âñå ñèìâîëû "âèñÿò" â ïàìÿòè).</p>
  73. <p><b>'td'</b> - âðåìÿ óäàëåíèÿ ñèìâîëà, çàïîëíÿåòñÿ ïðè óäàëåíèè, ïðè îòìåíå äåéñòâèÿ
  74.   óäàëåíèÿ ñèìâîëîâ, òåêñò ìîæåò áûòü âîññòàíîâëåí.</p>
  75. <p><b>'col'</b> - èñïîëüçóåòñÿ äëÿ öâåòîâîé ðàçìåòêè, ñîäåðæèò èíäåêñ öâåòà â ìàññèâå öâåòîâ ted_text_colors.</p>
  76.  
  77. <h1><a name="funct">Ôóíêöèè</a></h1>
  78. <h2>Ôóíêöèè íà ýêñïîðò:</h2>
  79.  
  80. <h4><a name="fun_but_copy">ted_but_copy</a></h4>
  81. <p>Ôóíêöèÿ êîòîðàÿ áóäåò âûçûâàòüñÿ ïðè íàæàòèè íà êíîïêó êîïèðîâàíèÿ â áóôåð èëè íà <b>Ctrl+C</b>. Òåêñò êîïèðóåòñÿ â áóôåð <b>ted_buffer</b>, ìàêñèìàëüíûé ðàçìåð áóôåðà óêàçûâàåòñÿ â <b>ted_buffer_size</b>.</p>
  82. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  83. <pre>stdcall [ted_but_copy], tedit0</pre>
  84.  
  85. <h4><a name="fun_but_cut">ted_but_cut</a></h4>
  86. <p>Ôóíêöèÿ âûðåçàåò âûäåëåííûé òåêñò è êîïèðóåò åãî â áóôåð.</p>
  87. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  88. <pre>stdcall [ted_but_cut], tedit0</pre>
  89.  
  90. <h4><a name="fun_but_find_next">ted_but_find_next</a></h4>
  91. <p>Ôóíêöèÿ äëÿ ïîèñêà òåêñòà. Èùåò òåêñò èç áóôåðà <b>ted_buffer_find</b>, ïðè íàõîæäåíèè ïåðåìåùàåò êóðñîð ê íàéäåíîìó òåêñòó è âûäåëÿåò åãî.</p>
  92. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  93. <pre>stdcall [ted_but_find_next], tedit0</pre>
  94.  
  95. <h4><a name="fun_but_paste">ted_but_paste</a></h4><p></p>
  96. <p>Ôóíêöèÿ âñòàâëÿåò òåêñò èç áóôåðà <b>ted_buffer</b>.</p>
  97. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  98. <pre>stdcall [ted_but_paste], tedit0</pre>
  99.  
  100. <h4><a name="fun_but_redo">ted_but_redo</a></h4>
  101. <p>Ïîâòîðÿåò îòìåíåííûå äåéñòâèÿ ïî ðåäàêòèðîâàíèþ òåêñòà.</p>
  102. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  103. <pre>stdcall [ted_but_redo], tedit0</pre>
  104.  
  105. <h4><a name="fun_but_reverse">ted_but_reverse</a></h4>
  106. <p>Ìåíÿåò ïîðÿäîê ñëåäîâàíèÿ ñèìâîëîâ â âûäåëåííîì òåêñòå.</p>
  107. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  108. <pre>stdcall [ted_but_reverse], tedit0</pre>
  109.  
  110. <h4><a name="fun_but_save_file">ted_but_save_file</a></h4>
  111. <p>Ôóíêöèÿ äëÿ ñîõðàíåíèÿ ôàéëà. Ïðèíèìàåò 3 ïàðàìåòðà:</p>
  112. <p>1) ñòðóêòóðà tedit,</p>
  113. <p>2) ñòðóêòóðà äëÿ ðàáîòû 70-é ôóíêöèè (äî âûçîâà ôóíêöèè çàïîëíåíèÿ íå òðåáóåò),</p>
  114. <p>3) ñòðîêà ñ ïóòåì è èìåíåì ôàéëà.</p>
  115. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  116. <pre>stdcall [ted_but_save_file], tedit0,run_file_70,[edit1.text]</pre>
  117.  
  118. <h4><a name="fun_but_select_word">ted_but_select_word</a></h4>
  119. <p>Ôóíêöèÿ äëÿ âûäåëåíèÿ êëþ÷åâîãî ñëîâà ïîä êóðñîðîì. Åñëè êëþ÷åâûå ñëîâà íå èñïîëüçóþòñÿ, òîãäà áóäåò âûäåëåí âåñü òåêñò.</p>
  120. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  121. <pre>stdcall [ted_but_select_word], tedit0</pre>
  122.  
  123. <h4><a name="fun_but_sumb_lover">ted_but_sumb_lover</a></h4>
  124. <p>Ïåðåâîäèò âûäåëåííûå ñèìâîëû ê íèæíåìó ðåãèñòðó.</p>
  125. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  126. <pre>stdcall [ted_but_sumb_lover], tedit0</pre>
  127.  
  128. <h4><a name="fun_but_sumb_upper">ted_but_sumb_upper</a></h4>
  129. <p>Ïåðåâîäèò âûäåëåííûå ñèìâîëû ê âåðõíåìó ðåãèñòðó.</p>
  130. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  131. <pre>stdcall [ted_but_sumb_upper], tedit0</pre>
  132.  
  133. <h4><a name="fun_but_undo">ted_but_undo</a></h4>
  134. <p>Îòìåíÿåò äåéñòâèÿ ïî ðåäàêòèðîâàíèþ òåêñòà. Äåéñòâèÿ ôóíêöèè <b>ted_but_reverse</b> íå îòìåíÿþòñÿ.</p>
  135. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  136. <pre>stdcall [ted_but_undo], tedit0</pre>
  137.  
  138. <h4><a name="fun_can_save">ted_can_save</a></h4>
  139. <p>Ôóíêöèÿ êîòîðàÿ ïðîâåðÿåò áûëè ëè íå ñîõðàíåííûå èçìåíåíèÿ â òåêñòå. Ðåçóëüòàò âîçâðàùàåòñÿ â ðåãèñòð <b>al</b>, åñëè èçìåíåíèÿ áûëè òî âîçâðàùàåò 1 èíà÷å 0.</p>
  140. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  141. <pre>push eax
  142.         stdcall [ted_can_save], tedit0
  143.         cmp al,1
  144. .........
  145. pop eax</pre>
  146.  
  147. <h4><a name="fun_clear">ted_clear</a></h4>
  148. <p>Î÷èñòêà òåêñòà â îêíå ðåäàêòîðà. Ïðèíèìàåò 2 ïàðàìåòðà:</p>
  149. <p>1) ñòðóêòóðà tedit,</p>
  150. <p>2) ïàðàìåòð îïðåäåëÿåò áóäåò ëè î÷èñòêà ïàìÿòè ïîëíîé.</p>
  151. <p>Åñëè 2-é ïàðàìåòð ðàâåí 1, òî î÷èñòêà áóäåò ïîëíîé, ïðè 0 íåò. Ïîëüçîâàòåëþ íóæíî âûçûâàòü ôóíêöèþ ñ ïàðàìåòðîì 1, ïàðàìåòð 0 äëÿ âíóòðåííåãî èñïîëüçîâàíèÿ.</p>
  152. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  153. <pre>stdcall [ted_clear], tedit0,1</pre>
  154.  
  155. <h4><a name="fun_delete">ted_delete</a></h4>
  156. <p>Äåñòðóêòîð ýëåìåíòà, îñâîáîæäàåò ïàìÿòü çàíÿòóþ ýëåìåíòîì.</p>
  157. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  158. <pre>stdcall [ted_delete], tedit0</pre>
  159.  
  160. <h4><a name="fun_draw">ted_draw</a></h4>
  161. <p>Ïåðåðèñîâêà âñåãî îêíà ðåäàêòîðà, âêëþ÷àÿ äî÷åðíèå ñêðîëëèíãè.</p>
  162. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  163. <pre>stdcall [ted_draw], tedit0</pre>
  164.  
  165. <h4><a name="fun_init">ted_init</a></h4>
  166. <p>Êîíñòðóêòîð ýëåìåíòà, âûäåëÿåò ïàìÿòü íåîáõîäèìóþ äëÿ ðàáîòû òåêñòîâîãî ðåäàêòîðà.</p>
  167. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  168. <pre>stdcall [ted_init], tedit0</pre>
  169.  
  170. <h4><a name="fun_init_scroll_bars">ted_init_scroll_bars</a></h4>
  171. <p>Óñòàíàâëèâàåò öâåò ñêðîëëèíãîâ è íàñòðàèâàåò èõ ðàçìåðû â çàâèñèìîñòè îò ðàçìåðîâ îêíà. Ìîæíî âûçûâàòü ýòó ôóíêöèþ ïðè èçìåíåíèè ðàçìåðîâ îêíà â ïîëüçîâàòåëüñêîé ïðîãðàììå. Ïðèíèìàåò 2 ïàðàìåòðà:</p>
  172. <p>1) ñòðóêòóðà tedit,</p>
  173. <p>2) îïöèè, óêàçûâàþò êàêèå íóæíî èçìåíèòü ïàðàìåòðû:</p>
  174. <ul>
  175. <li>1 - èçìåíèòü öâåòà ñêðîëëèíãîâ</li>
  176. <li>2 - èçìåíèëñÿ ðàçìåð îêíà</li>
  177. <li>4 - èçìåíèëñÿ ðàçìåð äîêóìåíòà</li>
  178. </ul>
  179. <p>Ïàðàìåòðû ìîæíî êîìáèíèðîâàòü ÷åðåç <i>ëîãè÷åñêîå èëè</i>.</p>
  180. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  181. <pre>stdcall [ted_init_scroll_bars], tedit0,2</pre>
  182.  
  183. <h4><a name="fun_init_syntax_file">ted_init_syntax_file</a></h4>
  184. <p>Ôóíêöèÿ äëÿ çàãðóçêè öâåòîâ èíòåðôåéñà è êëþ÷åâûõ ñëîâ èç ôàéëà ñèíòàêñèñà. Ïðèíèìàåò 3 ïàðàìåòðà:</p>
  185. <p>1) ñòðóêòóðà tedit,</p>
  186. <p>2) ñòðóêòóðà äëÿ ðàáîòû 70-é ôóíêöèè (äî âûçîâà ôóíêöèè çàïîëíåíèÿ íå òðåáóåò),</p>
  187. <p>3) ñòðîêà ñ ïóòåì è èìåíåì ôàéëà ñèíòàêñèñà.</p>
  188. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  189. <pre>stdcall [ted_init_syntax_file], tedit0,run_file_70,file_name</pre>
  190.  
  191. <h4><a name="fun_is_select">ted_is_select</a></h4>
  192. <p>Îïðåäåëÿåò åñòü â îêíå ðåäàêòîðà âûäåëåííûé òåêñò. Åñëè åñòü â ðåãèñòð <b>al</b> çàïèñûâàåòñÿ 1 èíà÷å 0. Ôóíêöèÿ íåîáõîäèìà äëÿ ñîçäàíèÿ ïàíåëåé èíñòðåìåíòîâ, â êîòîðûõ â çàâèñèìîñòè îò âûäåëåíèÿ áóäóò äîñòóïíû èëè çàáëîêèðîâàíû îïðåäåëåííûå êíîïêè (äåéñòâèÿ). Íàïðèìåð êíîïêó äëÿ êîïèðîâàíèÿ â áóôåð ìîæíî çàáëîêèðîâàòü åñëè íåò âûáðàííîãî òåêñòà.</p>
  193. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  194. <pre>push eax edi
  195.         mov edi,tedit0
  196.         call [ted_is_select]
  197.         cmp al,0
  198. .........
  199. pop edi eax</pre>
  200.  
  201. <h4><a name="fun_key">ted_key</a></h4>
  202. <p>Ôóíêöèÿ âûçûâàåìàÿ äëÿ ðåàêöèè íà êëàâèàòóðó. Â ðåãèñòðå <b>eax</b> äîëæåí áûòü êîä íàæàòîé êëàâèøè. Ïðèíèìàåò 3 ïàðàìåòðà:</p>
  203. <p>1) ñòðóêòóðà tedit,</p>
  204. <p>2) òàáëèöà äëÿ êîíâåðòàöèè scan êîäîâ â ascii,</p>
  205. <p>3) óïðàâëÿþùèå ñèìâîëû.</p>
  206. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  207. <pre>mcall 66,3 ;66.3 ïîëó÷èòü ñîñòîÿíèå óïðàâëÿþùèõ êëàâèø
  208. xor esi,esi
  209. mov ecx,1
  210. test al,0x03 ;[Shift]
  211. jz @f
  212.         mov cl,2
  213.         or esi,KM_SHIFT
  214. @@:
  215. test al,0x0c ;[Ctrl]
  216. jz @f
  217.         or esi,KM_CTRL
  218. @@:
  219. test al,0x30 ;[Alt]
  220. jz @f
  221. mov cl,3
  222.         or esi,KM_ALT
  223. @@:
  224. test al,0x80 ;[NumLock]
  225. jz @f
  226.         or esi,KM_NUMLOCK
  227. @@:
  228.  
  229. mcall 26,2,,conv_tabl ;26.2 ïîëó÷èòü ðàñêëàäêó êëàâèàòóðû
  230. mcall 2 ;ïîëó÷àåì êîä íàæàòîé êëàâèøè
  231. stdcall [ted_key], tedit0, conv_tabl,esi</pre>
  232.  
  233. <h4><a name="fun_mouse">ted_mouse</a></h4>
  234. <p>Ôóíêöèÿ íà ïåðåìåùåíèå èëè íàæàòèå ìûøè.</p>
  235. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  236. <pre>stdcall [ted_mouse], tedit0</pre>
  237.  
  238. <h4><a name="fun_open_file">ted_open_file</a></h4>
  239. <p>Ôóíêöèÿ äëÿ îòêðûòèÿ ôàéëà. Ïðèíèìàåò 3 ïàðàìåòðà:</p>
  240. <p>1) ñòðóêòóðà tedit,</p>
  241. <p>2) ñòðóêòóðà äëÿ ðàáîòû 70-é ôóíêöèè (äî âûçîâà ôóíêöèè çàïîëíåíèÿ íå òðåáóåò),</p>
  242. <p>3) ñòðîêà ñ ïóòåì è èìåíåì ôàéëà.</p>
  243. <p>Âîçâðàùàåò 2 ïàðàìåòðà:</p>
  244. <p>1) eax = êîä îøèáêè</p>
  245. <p>2) ebx = êîëëè÷åñòâî ïðî÷èòàííûõ áàéò</p>
  246. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  247. <pre>push eax ebx
  248. stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
  249. .........
  250. pop ebx eax</pre>
  251.  
  252. <h4><a name="fun_text_add">ted_text_add</a></h4>
  253. <p>Ôóíêöèÿ äëÿ äîáàâëåíèÿ òåêñòà. Ïðèíèìàåò 4 ïàðàìåòðà:</p>
  254. <p>1) ñòðóêòóðà tedit,</p>
  255. <p>2) óêàçàòåëü íà áóôåð ñ òåêñòîì,</p>
  256. <p>3) äëèíà òåêñòà,</p>
  257. <p>4) îïöèè âñòàâêè.</p>
  258. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  259. <pre>text_buffer db 500 dup(0)
  260. .........
  261. mov ebx,ted_opt_ed_change_time+ted_opt_ed_move_cursor
  262. stdcall [ted_text_add], tedit0,text_buffer,30,ebx</pre>
  263. <p><b>ted_opt_ed_change_time</b> - ôèêñèðîâàòü èçìåíåíèÿ äîêóìåíòà, ÷òî-áû èõ ìîæíî áûëî îòìåíèòü. Íàïðèìåð åñëè íóæíî ñäåëàòü íåñêîëüêî èçìåíåíèé òåêñòà, êîòîðûå áóäóò îòìåíÿòüñÿ çà îäèí ðàç, òî 1-å èçìåíåíèå èäåò ñ ýòîé êîíñòàíòîé à îñòàëüíûå íåò.</p>
  264. <p><b>ted_opt_ed_move_cursor</b> - êîíñòàíòà êîòîðàÿ îïðåäåëÿåò ñäâèã êóðñîðà ïîñëå äîáàâëåíèÿ òåêñòà.</p>
  265.  
  266. <h4><a name="fun_text_colored">ted_text_colored</a></h4>
  267. <p>Ôóíêöèÿ äëÿ ðàçìåòêè òåêñòà öâåòîì. Îáû÷íî âûçûâàåòñÿ âíóòðè ñàìîé áèáëèîòåêè, ïðè èçìåíåíèÿõ òåêñòà.  íåêîòîðûõ ñëó÷àÿõ ìîæåò ïîíàäîáèòüñÿ âûçâàòü ïðèíóäèòåëüíî èç âíåøíåé ïðîãðàììû.</p>
  268. <p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
  269. <pre>push edi
  270.         mov edi,tedit0
  271.         call [ted_text_colored]
  272. pop edi</pre>
  273.  
  274. <h2>Âíóòðåííèå ôóíêöèè:</h2>
  275. <p><b>ted_get_text_perv_pos</b> - ïåðåõîä íà ïðåäûäóùèé ñèìâîë â öåïè (÷åðåç óêàçàòåëü 'perv')</p>
  276. <p><b>ted_get_text_next_pos</b> - ïåðåõîä íà ñëåäóþùèé ñèìâîë â öåïè (÷åðåç óêàçàòåëü 'next')</p>
  277. <p><b>ted_symbol_not_vis</b> - îïðåäåëÿåò âèäèìûé ëè óêàçàííûé ñèìâîë íà ýêðàíå (â çàâèñèìîñòè
  278.       îò çíà÷åíèé 'tc' è 'td')</p>
  279. <p><b>ted_iterat_next</b> - ïåðåõîä íà ñëåäóþùèé âèäèìûé ñèìâîë â öåïè. Èñïîëüçóåò äëÿ
  280.       ðàáîòû ôóíêöèè ted_get_text_next_pos è ted_symbol_not_vis.</p>
  281. <p><b>ted_iterat_perv</b> - ïåðåõîä íà ïðåäåäóùèé âèäèìûé ñèìâîë â öåïè.</p>
  282.  
  283. <p><b>ted_iterat_next_pos_char</b> - íàéòè ñëåäóþùóþ ïîçèöèþ óêàçàííîãî ñèìâîëà (edx-ïîç. íà÷àëà
  284.       ïîèñêà, bl->êîä èñêîìîãî ñèìâîëà)</p>
  285. <p><b>ted_get_pos_by_coords</b> - áåðåò ïîçèöèþ ñèìâîëà ïî êîîðäèíàòàì (esi->êîîðä. x, çíàê;
  286.       ecx->êîîðä. y, ñòðîêà)</p>
  287. <p><b>ted_go_to_pos</b> - ïåðåñòàâëÿåò êóðñîð â óêàçàííóþ ïîçèöèþ, åñëè óêàçàííàÿ ïîçèöèÿ
  288.       íàõîäèòñÿ âíå ýêðàíà, òî òàêæå ïåðåñòàâëÿþòñÿ ñêðîëèíãè (ecx->êîîðä. x, çíàê; edx->êîîðä. y, ñòðîêà)</p>
  289.  
  290. <h1><a name="syn_file">Ôîðìàò ôàéëà ïîäñâåòêè *.syn</a></h1>
  291. <table>
  292. <tr><th>Ýëåìåíò</th><th>Ðàçìåð (áàéò)</th></tr>
  293. <tr><td>Êîëè÷åñòâî öâåòîâ òåêñòà</td>
  294.   <td><pre>4</pre></td></tr>
  295. <tr><td>Êîëè÷åñòâî ïîäñâå÷èâàåìûõ ñëîâ</td>
  296.   <td><pre>4</pre></td></tr>
  297. <tr><td>Öâåòà èíòåðôåéñà</td>
  298.   <td><pre>4*6</pre></td></tr>
  299. <tr><td>Öâåòà äëÿ òåêñòà</td>
  300.   <td><pre>4*(êîë. öâ. òåêñòà)</pre></td></tr>
  301. <tr><td>Ñòðóêòóðû ñî ñâîéñòâàìè è îïèñàíèÿìè ñëîâ</td>
  302.   <td><pre>sizeof(TexColViv)*(êîë. ñëîâ)</pre></td></tr>
  303. <tr><td>Ðàçäåëèòåëüíûé ñèìâîë, îçíà÷àþùèé íà÷àëî îïèñàíèé ñëîâ (âñåãäà ðàâåí 0)</td>
  304.   <td><pre>1 áàéò</pre></td></tr>
  305. <tr><td>Îïèñàíèÿ ñëîâ (ñòðîêè òåêñòà ñ 0-ìè â êîíöå)</td>
  306.   <td><pre>(äëèííà ñïðàâî÷íîãî òåêñòà + 1)</pre></td></tr>
  307. </table>
  308. <h4>Çàìå÷àíèÿ.</h4>
  309. <ul>
  310. <li>Âñå ñëîâà äîëæíû áûòü ðàñïîëîæåíû â ïîðÿäêå ñëåäîâàíèÿ èõ ASCII êîäîâ.
  311.   Âîçìîæíî â áóäóùèõ âåðñèÿõ ôîðìàò ôàéëîâ ïîäñâåòêè áóäåò èçìåíåí.</li>
  312. </ul>
  313.  
  314. <h1><a name="struc_tedit">Ñòðóêòóðà tedit</a></h1>
  315. <p>Ìàêðîñà äëÿ ñîçäàíèÿ ñòðóêòóðû òåêñòîâîãî ðåäàêòîðà íåò. Ïîòîìó äàííûå äëÿ íåãî çàäàþòñÿ âðó÷íóþ. Ïðèìåð ñòðóêòóðû äëÿ òåêñòîâîãî ðåäàêòîðà:</p>
  316. <pre>align 4
  317. tedit0: ;ñòðóêòóðà òåêñòîâîãî ðåäàêòîðà
  318.         .wnd BOX 195,5+20,325,260 ;+ 0
  319.         .rec BOX 30,13,7,10   ;+16
  320.         .drag_m db 0 ;+32 âûäåëåíèå îò ìûøè
  321.         .drag_k db 0 ;+33 âûäåëåíèå îò êëàâèàòóðû
  322.         .sel  TexSelect 0,0,0,0 ;+34 ñòðóêòóðà âûäåëåíèÿ
  323.         .seln TexSelect ;+50 äîïîëíèòåëüíàÿ ñòðóêòóðà âûäåëåíèÿ
  324.         .tex      dd 0 ;+66 text memory pointer
  325.         .tex_1    dd 0 ;+70 text first symbol pointer
  326.         .tex_end  dd 0 ;+74 text end memory pointer
  327.         .cur_x    dd 0 ;+78 êîîðäèíàòà x êóðñîðà
  328.         .cur_y    dd 0 ;+82 êîîðäèíàòà y êóðñîðà
  329.         .max_chars dd 5002 ;+86 ìàêñèìàëüíîå ÷èñëî ñèìâîëîâ â îäíîì äîêóìåíòå
  330.         .count_colors_text dd 1 ;+90 êîëëè÷åñòâî öâåòîâ òåêñòà
  331.         .count_key_words   dd 0 ;+94 êîëëè÷åñòâî êëþ÷åâûõ ñëîâ
  332.         .color_cursor      dd 0xff0000 ;+98 öâåò êóðñîðà
  333.         .color_wnd_capt    dd 0x0080c0 ;+102 öâåò ïîëåé âîêðóã îêíà
  334.         .color_wnd_work    dd      0x0 ;+106 öâåò ôîíà îêíà
  335.         .color_wnd_bord    dd 0xffffff ;+110 öâåò òåêñòà íà ïîëÿõ
  336.         .color_select      dd 0x0000ff ;+114 öâåò âûäåëåíèÿ
  337.         .color_cur_text    dd 0xffff00 ;+118 öâåò ñèìâîëà ïîä êóðñîðîì
  338.         .color_wnd_text    dd 0x80ffff ;+122 öâåò òåêñòà â îêíå
  339.         .syntax_file       dd 0 ;+126 óêàçàòåëü íà íà÷àëî ôàéëà ñèíòàêñèñà
  340.         .syntax_file_size  dd 500 ;+130 ìàêñèìàëüíûé ðàçìåð ôàéëà ñèíòàêñèñà
  341.         .text_colors       dd 0 ;+134 óêàçàòåëü íà ìàññèâ öâåòîâ òåêñòà
  342.         .help_text_f1      dd 0 ;+138 óêàçàòåëü íà òåêñò ñïðàâêè (ïî íàæàòèè F1)
  343.         .help_id           dd -1 ;+142 èäåíòèôèêàòîð äëÿ ñïðàâêè
  344.         .key_words_data    dd 0 ;+146 óêàçàòåëü íà ñòðóêòóðû êëþ÷åâûõ ñëîâ TexColViv
  345.         .tim_ch      dd ? ;+150 êîëè÷åñòâî èçìåíåíèé â ôàéëå
  346.         .tim_undo    dd ? ;+154 êîëè÷åñòâî îòìåíåííûõ äåéñòâèé
  347.         .tim_ls      dd ? ;+158 âðåìÿ ïîñëåäíåãî ñîõðàíåíèÿ
  348.         .tim_co      dd ? ;+162 âðåìÿ ïîñëåäíåé öâåòîâîé ðàçìåòêè
  349.         .el_focus    dd el_focus ;+166 óêàçàòåëü íà ïåðåìåííóþ ýëåìåíòà â ôîêóñå
  350.         .err_save    db 0 ;+170 îøèáêà ñîõðàíåíèÿ ôàéëà
  351.         .panel_id    db 0 ;+171 íîìåð îòêðûòîé ïàíåëè
  352.         .key_new     db 0 ;+172 ñèìâîë, êîòîðûé áóäåò äîáàâëÿòñÿ ñ êëàâèàòóðû
  353.         .symbol_new_line db 20 ;+173 ñèìâîë çàâåðøåíèÿ ñòðîêè
  354.         .scr_w       dd scrol_w1 ;+174 âåðòèêàëüíûé ñêðîëëèíã
  355.         .scr_h       dd scrol_h1 ;+178 ãîðèçîíòàëüíûé ñêðîëëèíã
  356.         .arr_key_pos dd 0 ;+182 óêàçàòåëü íà ìàññèâ ïîçèöèé êëþ÷åâûõ ñëîâ
  357.         .buffer      dd buf ;+186 óêàçàòåëü íà áóôåð êîïèðîâàíèÿ/âñòàâêè
  358.         .buffer_find dd 0 ;+190 óêàçàòåëü íà áóôåð äëÿ ïîèñêà
  359.         .cur_ins     db 1 ;+194 ðåæèì ðàáîòû êóðñîðà (îáû÷íûé èëè çàìåíà)
  360.         .mode_color  db 1 ;+195 ðåæèì âûäåëåíèÿ ñëîâ öâåòîì (0-âûêë. 1-âêë.)
  361.         .mode_invis  db 0 ;+196 ðåæèì ïîêàçà íåïå÷àòàåìûõ ñèìâîëîâ
  362.         .gp_opt      db 0 ;+197 îïöèè âîçâðàùàåìûå ôóíêöèåé ted_get_pos_by_cursor
  363.         .fun_on_key_ctrl_o dd but_ctrl_o ;+198 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè íàæàòèè Ctrl+O (îòêðûòèå ôàéëà)
  364.         .fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (âûçîâà/ñêðûòèÿ ïàíåëè ïîèñêà)
  365.         .fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (ñîçäàíèå íîâîãî äîêóìåíòà)
  366.         .fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
  367.         .buffer_size       dd BUF_SIZE ;+214 ðàçìåð áóôåðà êîïèðîâàíèÿ/âñòàâêè
  368.         .fun_find_err      dd 0 ;+218 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ïîèñê çàêîí÷èëñÿ íåóäà÷íî
  369.         .fun_init_synt_err dd 0 ;+222 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè îøèáî÷íîì îòêðûòèè ôàéëà ñèíòàêñèñà
  370.         .fun_draw_panel_buttons dd 0 ;+226 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñ êíîïêàìè
  371.         .fun_draw_panel_find    dd 0 ;+230 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ïîèñêà
  372.         .fun_draw_panel_syntax  dd 0 ;+234 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñèíòàêñèñà
  373.         .fun_save_err           dd 0 ;+238 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ñîõðàíåíèå ôàéëà çàêîí÷èëîñü íåóäà÷íî
  374.         .increase_size dd 225 ;+242 ÷èñëî ñèìâîëîâ íà êîòîðûå áóäåò óâå÷èâàòüñÿ ïàìÿòü ïðè íåõâàòêå
  375.         .ptr_free_symb dd   ? ;+246 óêàçàòåëü íà ñâîáîäíóþ ïàìÿòü, â êîòîðóþ ìîæíî äîáàâëÿòü ñèìâîë (èñïîëüçóåòñÿ âíóòðè ýëåìåíòà äëÿ óñêîðåíèÿ âñòàâêè òåêñòà)</pre>
  376. <hr>
  377. <p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 30.05.10.</p>
  378.  
  379. </body>
  380. </html>