<
meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<
link href="../style.css" type=text/css
rel=stylesheet>
<
p><
a href="../box_lib.htm">Íà ãëàâíóþ ↑<
/a><
/p>
<
p><
a href="#vveden">Ââåäåíèå<
/a><
/p>
<
p><
a href="#funct">Ôóíêöèè<
/a><
/p>
<
li><
a href="#fun_but_copy">ted_but_copy<
/a><
/li>
<
li><
a href="#fun_but_cut">ted_but_cut<
/a><
/li>
<
li><
a href="#fun_but_find_next">ted_but_find_next<
/a><
/li>
<
li><
a href="#fun_but_paste">ted_but_paste<
/a><
/li>
<
li><
a href="#fun_but_redo">ted_but_redo<
/a><
/li>
<
li><
a href="#fun_but_reverse">ted_but_reverse<
/a><
/li>
<
li><
a href="#fun_but_save_file">ted_but_save_file<
/a><
/li>
<
li><
a href="#fun_but_select_word">ted_but_select_word<
/a><
/li>
<
li><
a href="#fun_but_sumb_lover">ted_but_sumb_lover<
/a><
/li>
<
li><
a href="#fun_but_sumb_upper">ted_but_sumb_upper<
/a><
/li>
<
li><
a href="#fun_but_undo">ted_but_undo<
/a><
/li>
<
li><
a href="#fun_can_save">ted_can_save<
/a><
/li>
<
li><
a href="#fun_clear">ted_clear<
/a><
/li>
<
li><
a href="#fun_delete">ted_delete<
/a><
/li>
<
li><
a href="#fun_draw">ted_draw<
/a><
/li>
<
li><
a href="#fun_init">ted_init<
/a><
/li>
<
li><
a href="#fun_init_scroll_bars">ted_init_scroll_bars<
/a><
/li>
<
li><
a href="#fun_init_syntax_file">ted_init_syntax_file<
/a><
/li>
<
li><
a href="#fun_is_select">ted_is_select<
/a><
/li>
<
li><
a href="#fun_key">ted_key<
/a><
/li>
<
li><
a href="#fun_mouse">ted_mouse<
/a><
/li>
<
li><
a href="#fun_open_file">ted_open_file<
/a><
/li>
<
li><
a href="#fun_text_add">ted_text_add<
/a><
/li>
<
li><
a href="#fun_text_colored">ted_text_colored<
/a><
/li>
<
p><
a href="#syn_file">Ôîðìàò ôàéëà ïîäñâåòêè *.syn<
/a><
/p>
<
p><
a href="#struc_tedit">Ñòðóêòóðà tedit<
/a><
/p>
<
h1><
a name="vveden">Ââåäåíèå<
/a><
/h1>
<
p>Ýëåìåíò text_editor ïîçâîëÿåò ðàáîòàòü ñ òåêñòîâûìè ôàéëàìè, ñîäåðæèò ìíîãî ôóíêöèé äëÿ ðåäàêòèðîâàíèÿ òåêñòà.<
/p>
<
p><
img src="../../../../../../other/t_edit/t_edit.png"><
/p>
<
p>Âíåøíèé âèä ïðîãðàììû, ñ ýëåìåíòîì text_editor.<
/p>
<
h2>Âîçìîæíîñòè ýëåìåíòà<
/h2>
<
li>Îòêðûòèå
(Ctrl+O
)/Ñîõðàíåíèå ôàéëà.<
/li>
<
li>Ðåäàêòèðîâàíèå: Ïîâòîð
/Îòìåíà äåéñòâèÿ
(Ctrl+Z
), Âûðåçàòü
/Êîïèðîâàòü
(Ctrl+C
)/Âñòàâèòü
(Ctrl+V
), Ïîèñê
(Ctrl+F, F3
).<
/li>
<
li>Âûäåëåíèå öâåòîì ñëîâ, çàäàííûõ â ôàéëå ñèíòàêñèñà. Âûâîä ñïðàâêè ïî íèì, åñëè îíà åñòü
(íàæàòèåì F1 êîãäà êóðñîð íà ñëîâå
).<
/li>
<
h2>Î ðàáîòå ýëåìåíòà<
/h2>
<
p>Ðàçäåë äëÿ ïðîãðàììèñòîâ
(è èíòåðåñóþùèõñÿ ëþäåé
), â êîòîðîì ðàñêàçàíû
íåêîòîðûå èäåè, íà êîòîðûõ ïîñòðîåíà äàííàÿ ïðîãðàììà.<
/p>
<
p>Äëÿ ðàáîòû ñ òåêñòîì ïðîãðàììà èñïîëüçóåò ñòðóêòóðû:<
/p>
c db ? ; +0 ñèìâîë
col db ? ; +1 öâåò
perv dd ? ; +2
next dd ? ; +6 óêàçàòåëè
tc dd ? ; +10 âðåì. ñîçäàíèÿ
td dd ? ; +14 âðåì. óäàëåíèÿ
<
p>Êàæäàÿ èç òàêèõ ñòðóêòóð ñîõðàíÿåò îäèí ñèìâîë â ïåðåìåííîé
'c'. Ïåðåìåííûå
'perv' è 'next' õðàíÿò èíäåêñû ïåðâîãî è ñëåäóþùåãî ñèìâîëîâ. Áëàãîäàðÿ ÷åìó
òåêñò ñîçäàåòñÿ â âèäå öåïî÷êè ñèìâîëîâ
(äâóíàïðàâëåííûé ñïèñîê
).<
/p>
<
p><
b>
'tc'<
/b> - âðåìÿ ñîçäàíèÿ ñèìâîëà, ïðè îòìåíå äåéñòâèÿ òåêñòîâûé ðåäàêòîð
"çíàåò"
êàêèå ñèìâîëû îòîáðàæàòü, à êàêèå íåò
(õîòÿ âñå ñèìâîëû
"âèñÿò" â ïàìÿòè
).<
/p>
<
p><
b>
'td'<
/b> - âðåìÿ óäàëåíèÿ ñèìâîëà, çàïîëíÿåòñÿ ïðè óäàëåíèè, ïðè îòìåíå äåéñòâèÿ
óäàëåíèÿ ñèìâîëîâ, òåêñò ìîæåò áûòü âîññòàíîâëåí.<
/p>
<
p><
b>
'col'<
/b> - èñïîëüçóåòñÿ äëÿ öâåòîâîé ðàçìåòêè, ñîäåðæèò èíäåêñ öâåòà â ìàññèâå öâåòîâ ted_text_colors.<
/p>
<
h1><
a name="funct">Ôóíêöèè<
/a><
/h1>
<
h2>Ôóíêöèè íà ýêñïîðò:<
/h2>
<
h4><
a name="fun_but_copy">ted_but_copy<
/a><
/h4>
<
p>Ôóíêöèÿ êîòîðàÿ áóäåò âûçûâàòüñÿ ïðè íàæàòèè íà êíîïêó êîïèðîâàíèÿ â áóôåð èëè íà <
b>Ctrl+C<
/b>. Òåêñò êîïèðóåòñÿ â áóôåð <
b>ted_buffer<
/b>, ìàêñèìàëüíûé ðàçìåð áóôåðà óêàçûâàåòñÿ â <
b>ted_buffer_size<
/b>.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_copy
], tedit0<
/pre>
<
h4><
a name="fun_but_cut">ted_but_cut<
/a><
/h4>
<
p>Ôóíêöèÿ âûðåçàåò âûäåëåííûé òåêñò è êîïèðóåò åãî â áóôåð.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_cut
], tedit0<
/pre>
<
h4><
a name="fun_but_find_next">ted_but_find_next<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ ïîèñêà òåêñòà. Èùåò òåêñò èç áóôåðà <
b>ted_buffer_find<
/b>, ïðè íàõîæäåíèè ïåðåìåùàåò êóðñîð ê íàéäåíîìó òåêñòó è âûäåëÿåò åãî.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_find_next
], tedit0<
/pre>
<
h4><
a name="fun_but_paste">ted_but_paste<
/a><
/h4><
p><
/p>
<
p>Ôóíêöèÿ âñòàâëÿåò òåêñò èç áóôåðà <
b>ted_buffer<
/b>.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_paste
], tedit0<
/pre>
<
h4><
a name="fun_but_redo">ted_but_redo<
/a><
/h4>
<
p>Ïîâòîðÿåò îòìåíåííûå äåéñòâèÿ ïî ðåäàêòèðîâàíèþ òåêñòà.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_redo
], tedit0<
/pre>
<
h4><
a name="fun_but_reverse">ted_but_reverse<
/a><
/h4>
<
p>Ìåíÿåò ïîðÿäîê ñëåäîâàíèÿ ñèìâîëîâ â âûäåëåííîì òåêñòå.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_reverse
], tedit0<
/pre>
<
h4><
a name="fun_but_save_file">ted_but_save_file<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ ñîõðàíåíèÿ ôàéëà. Ïðèíèìàåò
3 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) ñòðóêòóðà äëÿ ðàáîòû
70-é ôóíêöèè
(äî âûçîâà ôóíêöèè çàïîëíåíèÿ íå òðåáóåò
),<
/p>
<
p>
3) ñòðîêà ñ ïóòåì è èìåíåì ôàéëà.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_save_file
], tedit0,run_file_70,
[edit1.
text]<
/pre>
<
h4><
a name="fun_but_select_word">ted_but_select_word<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ âûäåëåíèÿ êëþ÷åâîãî ñëîâà ïîä êóðñîðîì. Åñëè êëþ÷åâûå ñëîâà íå èñïîëüçóþòñÿ, òîãäà áóäåò âûäåëåí âåñü òåêñò.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_select_word
], tedit0<
/pre>
<
h4><
a name="fun_but_sumb_lover">ted_but_sumb_lover<
/a><
/h4>
<
p>Ïåðåâîäèò âûäåëåííûå ñèìâîëû ê íèæíåìó ðåãèñòðó.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_sumb_lover
], tedit0<
/pre>
<
h4><
a name="fun_but_sumb_upper">ted_but_sumb_upper<
/a><
/h4>
<
p>Ïåðåâîäèò âûäåëåííûå ñèìâîëû ê âåðõíåìó ðåãèñòðó.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_sumb_upper
], tedit0<
/pre>
<
h4><
a name="fun_but_undo">ted_but_undo<
/a><
/h4>
<
p>Îòìåíÿåò äåéñòâèÿ ïî ðåäàêòèðîâàíèþ òåêñòà. Äåéñòâèÿ ôóíêöèè <
b>ted_but_reverse<
/b> íå îòìåíÿþòñÿ.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_but_undo
], tedit0<
/pre>
<
h4><
a name="fun_can_save">ted_can_save<
/a><
/h4>
<
p>Ôóíêöèÿ êîòîðàÿ ïðîâåðÿåò áûëè ëè íå ñîõðàíåííûå èçìåíåíèÿ â òåêñòå. Ðåçóëüòàò âîçâðàùàåòñÿ â ðåãèñòð <
b>al<
/b>, åñëè èçìåíåíèÿ áûëè òî âîçâðàùàåò
1 èíà÷å
0.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
stdcall [ted_can_save], tedit0
cmp al,1
.........
<
h4><
a name="fun_clear">ted_clear<
/a><
/h4>
<
p>Î÷èñòêà òåêñòà â îêíå ðåäàêòîðà. Ïðèíèìàåò
2 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) ïàðàìåòð îïðåäåëÿåò áóäåò ëè î÷èñòêà ïàìÿòè ïîëíîé.<
/p>
<
p>Åñëè
2-é ïàðàìåòð ðàâåí
1, òî î÷èñòêà áóäåò ïîëíîé, ïðè
0 íåò. Ïîëüçîâàòåëþ íóæíî âûçûâàòü ôóíêöèþ ñ ïàðàìåòðîì
1, ïàðàìåòð
0 äëÿ âíóòðåííåãî èñïîëüçîâàíèÿ.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_clear
], tedit0,
1<
/pre>
<
h4><
a name="fun_delete">ted_delete<
/a><
/h4>
<
p>Äåñòðóêòîð ýëåìåíòà, îñâîáîæäàåò ïàìÿòü çàíÿòóþ ýëåìåíòîì.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_delete
], tedit0<
/pre>
<
h4><
a name="fun_draw">ted_draw<
/a><
/h4>
<
p>Ïåðåðèñîâêà âñåãî îêíà ðåäàêòîðà, âêëþ÷àÿ äî÷åðíèå ñêðîëëèíãè.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_draw
], tedit0<
/pre>
<
h4><
a name="fun_init">ted_init<
/a><
/h4>
<
p>Êîíñòðóêòîð ýëåìåíòà, âûäåëÿåò ïàìÿòü íåîáõîäèìóþ äëÿ ðàáîòû òåêñòîâîãî ðåäàêòîðà.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_init
], tedit0<
/pre>
<
h4><
a name="fun_init_scroll_bars">ted_init_scroll_bars<
/a><
/h4>
<
p>Óñòàíàâëèâàåò öâåò ñêðîëëèíãîâ è íàñòðàèâàåò èõ ðàçìåðû â çàâèñèìîñòè îò ðàçìåðîâ îêíà. Ìîæíî âûçûâàòü ýòó ôóíêöèþ ïðè èçìåíåíèè ðàçìåðîâ îêíà â ïîëüçîâàòåëüñêîé ïðîãðàììå. Ïðèíèìàåò
2 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) îïöèè, óêàçûâàþò êàêèå íóæíî èçìåíèòü ïàðàìåòðû:<
/p>
<
li>
1 - èçìåíèòü öâåòà ñêðîëëèíãîâ<
/li>
<
li>
2 - èçìåíèëñÿ ðàçìåð îêíà<
/li>
<
li>
4 - èçìåíèëñÿ ðàçìåð äîêóìåíòà<
/li>
<
p>Ïàðàìåòðû ìîæíî êîìáèíèðîâàòü ÷åðåç <
i>ëîãè÷åñêîå èëè<
/i>.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_init_scroll_bars
], tedit0,
2<
/pre>
<
h4><
a name="fun_init_syntax_file">ted_init_syntax_file<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ çàãðóçêè öâåòîâ èíòåðôåéñà è êëþ÷åâûõ ñëîâ èç ôàéëà ñèíòàêñèñà. Ïðèíèìàåò
3 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) ñòðóêòóðà äëÿ ðàáîòû
70-é ôóíêöèè
(äî âûçîâà ôóíêöèè çàïîëíåíèÿ íå òðåáóåò
),<
/p>
<
p>
3) ñòðîêà ñ ïóòåì è èìåíåì ôàéëà ñèíòàêñèñà.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_init_syntax_file
], tedit0,run_file_70,file_name<
/pre>
<
h4><
a name="fun_is_select">ted_is_select<
/a><
/h4>
<
p>Îïðåäåëÿåò åñòü â îêíå ðåäàêòîðà âûäåëåííûé òåêñò. Åñëè åñòü â ðåãèñòð <
b>al<
/b> çàïèñûâàåòñÿ
1 èíà÷å
0. Ôóíêöèÿ íåîáõîäèìà äëÿ ñîçäàíèÿ ïàíåëåé èíñòðåìåíòîâ, â êîòîðûõ â çàâèñèìîñòè îò âûäåëåíèÿ áóäóò äîñòóïíû èëè çàáëîêèðîâàíû îïðåäåëåííûå êíîïêè
(äåéñòâèÿ
). Íàïðèìåð êíîïêó äëÿ êîïèðîâàíèÿ â áóôåð ìîæíî çàáëîêèðîâàòü åñëè íåò âûáðàííîãî òåêñòà.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
mov edi,tedit0
call [ted_is_select]
cmp al,0
.........
<
h4><
a name="fun_key">ted_key<
/a><
/h4>
<
p>Ôóíêöèÿ âûçûâàåìàÿ äëÿ ðåàêöèè íà êëàâèàòóðó. Â ðåãèñòðå <
b>eax<
/b> äîëæåí áûòü êîä íàæàòîé êëàâèøè. Ïðèíèìàåò
3 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) òàáëèöà äëÿ êîíâåðòàöèè scan êîäîâ â ascii,<
/p>
<
p>
3) óïðàâëÿþùèå ñèìâîëû.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>mcall
66,
3 ;
66.3 ïîëó÷èòü ñîñòîÿíèå óïðàâëÿþùèõ êëàâèø
xor esi,esi
mov ecx,1
test al,0x03 ;[Shift]
jz @f
mov cl,2
or esi,KM_SHIFT
@@:
test al,0x0c ;[Ctrl]
jz @f
or esi,KM_CTRL
@@:
test al,0x30 ;[Alt]
jz @f
mov cl,3
or esi,KM_ALT
@@:
test al,0x80 ;[NumLock]
jz @f
or esi,KM_NUMLOCK
@@:
mcall 26,2,,conv_tabl ;26.2 ïîëó÷èòü ðàñêëàäêó êëàâèàòóðû
mcall 2 ;ïîëó÷àåì êîä íàæàòîé êëàâèøè
stdcall
[ted_key
], tedit0, conv_tabl,esi<
/pre>
<
h4><
a name="fun_mouse">ted_mouse<
/a><
/h4>
<
p>Ôóíêöèÿ íà ïåðåìåùåíèå èëè íàæàòèå ìûøè.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>stdcall
[ted_mouse
], tedit0<
/pre>
<
h4><
a name="fun_open_file">ted_open_file<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ îòêðûòèÿ ôàéëà. Ïðèíèìàåò
3 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) ñòðóêòóðà äëÿ ðàáîòû
70-é ôóíêöèè
(äî âûçîâà ôóíêöèè çàïîëíåíèÿ íå òðåáóåò
),<
/p>
<
p>
3) ñòðîêà ñ ïóòåì è èìåíåì ôàéëà.<
/p>
<
p>Âîçâðàùàåò
2 ïàðàìåòðà:<
/p>
<
p>
1) eax
= êîä îøèáêè<
/p>
<
p>
2) ebx
= êîëëè÷åñòâî ïðî÷èòàííûõ áàéò<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
.........
<
h4><
a name="fun_text_add">ted_text_add<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ äîáàâëåíèÿ òåêñòà. Ïðèíèìàåò
4 ïàðàìåòðà:<
/p>
<
p>
1) ñòðóêòóðà tedit,<
/p>
<
p>
2) óêàçàòåëü íà áóôåð ñ òåêñòîì,<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
<
pre>text_buffer db
500 dup
(0)
.........
mov ebx,ted_opt_ed_change_time+ted_opt_ed_move_cursor
stdcall
[ted_text_add
], tedit0,text_buffer,
30,ebx<
/pre>
<
p><
b>ted_opt_ed_change_time<
/b> - ôèêñèðîâàòü èçìåíåíèÿ äîêóìåíòà, ÷òî-áû èõ ìîæíî áûëî îòìåíèòü. Íàïðèìåð åñëè íóæíî ñäåëàòü íåñêîëüêî èçìåíåíèé òåêñòà, êîòîðûå áóäóò îòìåíÿòüñÿ çà îäèí ðàç, òî
1-å èçìåíåíèå èäåò ñ ýòîé êîíñòàíòîé à îñòàëüíûå íåò.<
/p>
<
p><
b>ted_opt_ed_move_cursor<
/b> - êîíñòàíòà êîòîðàÿ îïðåäåëÿåò ñäâèã êóðñîðà ïîñëå äîáàâëåíèÿ òåêñòà.<
/p>
<
h4><
a name="fun_text_colored">ted_text_colored<
/a><
/h4>
<
p>Ôóíêöèÿ äëÿ ðàçìåòêè òåêñòà öâåòîì. Îáû÷íî âûçûâàåòñÿ âíóòðè ñàìîé áèáëèîòåêè, ïðè èçìåíåíèÿõ òåêñòà.  íåêîòîðûõ ñëó÷àÿõ ìîæåò ïîíàäîáèòüñÿ âûçâàòü ïðèíóäèòåëüíî èç âíåøíåé ïðîãðàììû.<
/p>
<
p>Ïðèìåð èñïîëüçîâàíèÿ:<
/p>
mov edi,tedit0
call [ted_text_colored]
<
h2>Âíóòðåííèå ôóíêöèè:<
/h2>
<
p><
b>ted_get_text_perv_pos<
/b> - ïåðåõîä íà ïðåäûäóùèé ñèìâîë â öåïè
(÷åðåç óêàçàòåëü
'perv')<
/p>
<
p><
b>ted_get_text_next_pos<
/b> - ïåðåõîä íà ñëåäóþùèé ñèìâîë â öåïè
(÷åðåç óêàçàòåëü
'next')<
/p>
<
p><
b>ted_symbol_not_vis<
/b> - îïðåäåëÿåò âèäèìûé ëè óêàçàííûé ñèìâîë íà ýêðàíå
(â çàâèñèìîñòè
îò çíà÷åíèé
'tc' è
'td')<
/p>
<
p><
b>ted_iterat_next<
/b> - ïåðåõîä íà ñëåäóþùèé âèäèìûé ñèìâîë â öåïè. Èñïîëüçóåò äëÿ
ðàáîòû ôóíêöèè ted_get_text_next_pos è ted_symbol_not_vis.<
/p>
<
p><
b>ted_iterat_perv<
/b> - ïåðåõîä íà ïðåäåäóùèé âèäèìûé ñèìâîë â öåïè.<
/p>
<
p><
b>ted_iterat_next_pos_char<
/b> - íàéòè ñëåäóþùóþ ïîçèöèþ óêàçàííîãî ñèìâîëà
(edx-ïîç. íà÷àëà
ïîèñêà, bl->êîä èñêîìîãî ñèìâîëà
)<
/p>
<
p><
b>ted_get_pos_by_coords<
/b> - áåðåò ïîçèöèþ ñèìâîëà ïî êîîðäèíàòàì
(esi->êîîðä. x, çíàê;
ecx->êîîðä. y, ñòðîêà
)<
/p>
<
p><
b>ted_go_to_pos<
/b> - ïåðåñòàâëÿåò êóðñîð â óêàçàííóþ ïîçèöèþ, åñëè óêàçàííàÿ ïîçèöèÿ
íàõîäèòñÿ âíå ýêðàíà, òî òàêæå ïåðåñòàâëÿþòñÿ ñêðîëèíãè
(ecx->êîîðä. x, çíàê; edx->êîîðä. y, ñòðîêà
)<
/p>
<
h1><
a name="syn_file">Ôîðìàò ôàéëà ïîäñâåòêè *.syn<
/a><
/h1>
<
tr><
td>Êîëè÷åñòâî öâåòîâ òåêñòà<
/td>
<
tr><
td>Êîëè÷åñòâî ïîäñâå÷èâàåìûõ ñëîâ<
/td>
<
tr><
td>Ñòðóêòóðû ñî ñâîéñòâàìè è îïèñàíèÿìè ñëîâ<
/td>
<
tr><
td>Ðàçäåëèòåëüíûé ñèìâîë, îçíà÷àþùèé íà÷àëî îïèñàíèé ñëîâ
(âñåãäà ðàâåí
0)<
/td>
<
tr><
td>Îïèñàíèÿ ñëîâ
(ñòðîêè òåêñòà ñ
0-ìè â êîíöå
)<
/td>
<
li>Âñå ñëîâà äîëæíû áûòü ðàñïîëîæåíû â ïîðÿäêå ñëåäîâàíèÿ èõ ASCII êîäîâ.
Âîçìîæíî â áóäóùèõ âåðñèÿõ ôîðìàò ôàéëîâ ïîäñâåòêè áóäåò èçìåíåí.<
/li>
<
h1><
a name="struc_tedit">Ñòðóêòóðà tedit<
/a><
/h1>
<
p>Ìàêðîñà äëÿ ñîçäàíèÿ ñòðóêòóðû òåêñòîâîãî ðåäàêòîðà íåò. Ïîòîìó äàííûå äëÿ íåãî çàäàþòñÿ âðó÷íóþ. Ïðèìåð ñòðóêòóðû äëÿ òåêñòîâîãî ðåäàêòîðà:<
/p>
tedit0: ;ñòðóêòóðà òåêñòîâîãî ðåäàêòîðà
.wnd BOX 195,5+20,325,260 ;+ 0
.rec BOX 30,13,7,10 ;+16
.drag_m db 0 ;+32 âûäåëåíèå îò ìûøè
.drag_k db 0 ;+33 âûäåëåíèå îò êëàâèàòóðû
.sel TexSelect 0,0,0,0 ;+34 ñòðóêòóðà âûäåëåíèÿ
.seln TexSelect ;+50 äîïîëíèòåëüíàÿ ñòðóêòóðà âûäåëåíèÿ
.tex dd 0 ;+66 text memory pointer
.tex_1 dd 0 ;+70 text first symbol pointer
.tex_end dd 0 ;+74 text end memory pointer
.cur_x dd 0 ;+78 êîîðäèíàòà x êóðñîðà
.cur_y dd 0 ;+82 êîîðäèíàòà y êóðñîðà
.max_chars dd 5002 ;+86 ìàêñèìàëüíîå ÷èñëî ñèìâîëîâ â îäíîì äîêóìåíòå
.count_colors_text dd 1 ;+90 êîëëè÷åñòâî öâåòîâ òåêñòà
.count_key_words dd 0 ;+94 êîëëè÷åñòâî êëþ÷åâûõ ñëîâ
.color_cursor dd 0xff0000 ;+98 öâåò êóðñîðà
.color_wnd_capt dd 0x0080c0 ;+102 öâåò ïîëåé âîêðóã îêíà
.color_wnd_work dd 0x0 ;+106 öâåò ôîíà îêíà
.color_wnd_bord dd 0xffffff ;+110 öâåò òåêñòà íà ïîëÿõ
.color_select dd 0x0000ff ;+114 öâåò âûäåëåíèÿ
.color_cur_text dd 0xffff00 ;+118 öâåò ñèìâîëà ïîä êóðñîðîì
.color_wnd_text dd 0x80ffff ;+122 öâåò òåêñòà â îêíå
.syntax_file dd 0 ;+126 óêàçàòåëü íà íà÷àëî ôàéëà ñèíòàêñèñà
.syntax_file_size dd 500 ;+130 ìàêñèìàëüíûé ðàçìåð ôàéëà ñèíòàêñèñà
.text_colors dd 0 ;+134 óêàçàòåëü íà ìàññèâ öâåòîâ òåêñòà
.help_text_f1 dd 0 ;+138 óêàçàòåëü íà òåêñò ñïðàâêè (ïî íàæàòèè F1)
.help_id dd -1 ;+142 èäåíòèôèêàòîð äëÿ ñïðàâêè
.key_words_data dd 0 ;+146 óêàçàòåëü íà ñòðóêòóðû êëþ÷åâûõ ñëîâ TexColViv
.tim_ch dd ? ;+150 êîëè÷åñòâî èçìåíåíèé â ôàéëå
.tim_undo dd ? ;+154 êîëè÷åñòâî îòìåíåííûõ äåéñòâèé
.tim_ls dd ? ;+158 âðåìÿ ïîñëåäíåãî ñîõðàíåíèÿ
.tim_co dd ? ;+162 âðåìÿ ïîñëåäíåé öâåòîâîé ðàçìåòêè
.el_focus dd el_focus ;+166 óêàçàòåëü íà ïåðåìåííóþ ýëåìåíòà â ôîêóñå
.err_save db 0 ;+170 îøèáêà ñîõðàíåíèÿ ôàéëà
.panel_id db 0 ;+171 íîìåð îòêðûòîé ïàíåëè
.key_new db 0 ;+172 ñèìâîë, êîòîðûé áóäåò äîáàâëÿòñÿ ñ êëàâèàòóðû
.symbol_new_line db 20 ;+173 ñèìâîë çàâåðøåíèÿ ñòðîêè
.scr_w dd scrol_w1 ;+174 âåðòèêàëüíûé ñêðîëëèíã
.scr_h dd scrol_h1 ;+178 ãîðèçîíòàëüíûé ñêðîëëèíã
.arr_key_pos dd 0 ;+182 óêàçàòåëü íà ìàññèâ ïîçèöèé êëþ÷åâûõ ñëîâ
.buffer dd buf ;+186 óêàçàòåëü íà áóôåð êîïèðîâàíèÿ/âñòàâêè
.buffer_find dd 0 ;+190 óêàçàòåëü íà áóôåð äëÿ ïîèñêà
.cur_ins db 1 ;+194 ðåæèì ðàáîòû êóðñîðà (îáû÷íûé èëè çàìåíà)
.mode_color db 1 ;+195 ðåæèì âûäåëåíèÿ ñëîâ öâåòîì (0-âûêë. 1-âêë.)
.mode_invis db 0 ;+196 ðåæèì ïîêàçà íåïå÷àòàåìûõ ñèìâîëîâ
.gp_opt db 0 ;+197 îïöèè âîçâðàùàåìûå ôóíêöèåé ted_get_pos_by_cursor
.fun_on_key_ctrl_o dd but_ctrl_o ;+198 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè íàæàòèè Ctrl+O (îòêðûòèå ôàéëà)
.fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (âûçîâà/ñêðûòèÿ ïàíåëè ïîèñêà)
.fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (ñîçäàíèå íîâîãî äîêóìåíòà)
.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
.buffer_size dd BUF_SIZE ;+214 ðàçìåð áóôåðà êîïèðîâàíèÿ/âñòàâêè
.fun_find_err dd 0 ;+218 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ïîèñê çàêîí÷èëñÿ íåóäà÷íî
.fun_init_synt_err dd 0 ;+222 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè îøèáî÷íîì îòêðûòèè ôàéëà ñèíòàêñèñà
.fun_draw_panel_buttons dd 0 ;+226 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñ êíîïêàìè
.fun_draw_panel_find dd 0 ;+230 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ïîèñêà
.fun_draw_panel_syntax dd 0 ;+234 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñèíòàêñèñà
.fun_save_err dd 0 ;+238 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ñîõðàíåíèå ôàéëà çàêîí÷èëîñü íåóäà÷íî
.increase_size dd 225 ;+242 ÷èñëî ñèìâîëîâ íà êîòîðûå áóäåò óâå÷èâàòüñÿ ïàìÿòü ïðè íåõâàòêå
.ptr_free_symb dd ? ;+
246 óêàçàòåëü íà ñâîáîäíóþ ïàìÿòü, â êîòîðóþ ìîæíî äîáàâëÿòü ñèìâîë
(èñïîëüçóåòñÿ âíóòðè ýëåìåíòà äëÿ óñêîðåíèÿ âñòàâêè òåêñòà
)<
/pre>
<
p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 30.05.10.<
/p>