kolibrios/programs/develop/kol_f_edit/docs
ace_dent 33d9aafa30 Optimize png files for programs/develop
Lossless optimization of png image files, using `pngslim` and other tools.
Program graphics (compiled or included with software):
- Slimmed 28.7 KiB (~28.5 KiB kpacked), average ~19% saving for 13 files.
Documentation only artwork (distributed outside of a program):
- Slimmed 100 KiB (~91 KiB kpacked), average ~38% saving for 27 files.

git-svn-id: svn://kolibrios.org@10031 a494cfbc-eb01-0410-851d-a64ba20cac60
2024-05-14 21:07:20 +00:00
..
about.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_auto.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_code.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_ifun.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_incl.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_libr.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_stru.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_type.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
prop_vari.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
property.png Optimize png files for programs/develop 2024-05-14 21:07:20 +00:00
readme.htm

<html>
<head>
<title>Îãëàâëåíèå</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<style>
body
{
  font-size: 15px;
  font-family: "Bookman Old Style";
  color: black;
  text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
  text-indent: 1em;
  margin-top: 3px;
  margin-bottom: 2px;
  margin-left: 0px;
  margin-right: 0px;
}
ol, ul, dl{
  margin-top: 3px;
  margin-bottom: 2px;
}
pre
{
  padding: 2px;
  padding-left: 20px;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 0px;
  margin-right: 0px;
  font-family: "Courier New";
  font-size: 15px;
  color: #004000;
  background-color: #ffd0ff;
}
table
{
  font-size: 15px;
}
</style>
</head>

<body>
<h1>Kol_f_edit âåðñèÿ îò 31.12.2010</h1>
<p>Îãëàâëåíèå</p>
<ul>
<li>Î ïðîãðàììå</li>
<li><a href="#algor">Àëãîðèòì ðàáîòû ñ ïðîãðàììîé</a></li>
<li><a href="#v_obj">Âèäû îáúåêòîâ</a></li>
	<ul>
	<li><a href="#obj_type">Òèï äàíîãî</a></li>
	<li><a href="#obj_vari">Ïåðåìåííàÿ</a></li>
	<li><a href="#obj_stru">Ñòðóêòóðà</a></li>
	<li><a href="#obj_code">Asm êîä</a></li>
	<li><a href="#obj_auto">Àâòî êîä</a></li>
	<li><a href="#obj_libr">Èìïîðò áèáëèîòåêè</a></li>
	<li><a href="#obj_ifun">Ôóíêöèÿ èç áèáëèîòåêè</a></li>
	<li><a href="#obj_incl">Âêëþ÷åíèå ôàéëà</a></li>
	</ul>
</ul>

<h2>Î ïðîãðàììå</h2>
<p>Ïðîãðàììà äëÿ àâòîìàòèçàöèè ñîçäàíèÿ èíòåðôåéñà.
 Íåêîòîðûå èç ôóíêöèé ïðîãðàììû ïîêà åùå íå ñäåëàíû, ïîòîìó âîçìîæíîñòè åå ïðàêòè÷åñêîãî èñïîëüçîâàíèÿ îãðàíè÷åíû.
 Ëèöåíçèÿ ñâîáîäíàÿ.</p>
<p><img src="about.png"></p>
<p>Âíåøíèé âèä ïðîãðàììû.</p>

<h2><a name="algor">Àëãîðèòì ðàáîòû ñ ïðîãðàììîé</a></h2>
<p>1) Îòêðûâàåì øàáëîí ïðîãðàììû èç ôàéëà ñ ðàñøèðåíèåì <b>.ced</b>
 (min_prog.ced - &quot;ìèíèìàëüíàÿ&quot; ïðîãðàììà, box_l.ced - ïðîãðàììà ñ ïîäêëþ÷åíèåì áèáëèîòåêè box_lib.obj,
 buf2d.ced - ïðîãðàììà ñ ïîäêëþ÷åíèåì áèáëèîòåêè buf2d.obj, ïëàíèðóåòüñÿ äîáàâëåíèå äðóãèõ øàáëîíîâ</i>)</p>
<p>2) Ðåäàêòèðóåì îáúåêòû â ïîäêëþ÷åííîì ôàéëå <b>*.ced</b></p>
<p>3) Ñîçäàåì <b>*.asm</b> êîä â òåêñòîâîì îêíå êíîïêîé íà ïàíåëè. Ñîõðàíÿåì <b>*.asm</b> êîä íà äèñê (<i>ðàáîòîñïîñîáíîñòü ïîëó÷èâøåãîñÿ ôàéëà íå ãàðàíòèðóåòñÿ, ò. ê. íåêîòîðûå èç ýëåìåíòîâ åùå äîêîíöà íå ïðîðàáîòàíû</i>)</p>
<p>4) Ðåäàêòèðóåì ïîëó÷èâøèéñÿ <b>*.asm</b> ôàéë ëþáûì òåêñòîâûì ðåäàêòîðîì. Äëÿ ýòîãî óáèðàåì â íà÷àëå ôàéëà îïèñàíèÿ ñòðóêòóð (ò. ê. îíè ñîäåðæàòñÿ â ïîäêëþ÷àåìûõ ôàéëàõ <b>.inc</b>) è äîïèñûâàåì ïóòè ê ïîäêëþ÷àåìûì ôàéëàì.</p>

<h2><a name="v_obj">Âèäû îáúåêòîâ</a></h2>
<p>Ïðîãðàìíûé êîä ñîçäàåòñÿ íà îñíîâå ñâîéñòâ îáúåêòîâ, âíåñåííûõ â ôàéë ïðîýêòà. Âñå îáúåêòû âíóòðè ïðîãðàìû ïðåäñòàâëÿþòüñÿ ñòðóêòóðàìè âèäà:</p>
<pre>struct object
	id dd ? ;èäåíòèôèêàòîð îáúåêòà
	txt rb MAX_LEN_OBJ_TXT ;òåêñòîâûå ñâîéñòâà
	lvl db 0
	clo db 0
	typid dd ? ;íîìåð îáúåêòà îïðåäåëÿþùåãî òèï ïåðåìåííîé
	modif dd ? ;áèòîâûå ñâîéñòâà
ends</pre>
<p>Â çàâèñèìîñòè îò âèäà îáúåêòà íå âñå åãî ïàðàìåòðû ìîãóò èñïîëüçîâàòüñÿ.
 Áîëüøàÿ ÷àñòü ñâîéñòâ îáúåêòà çàäàåòñÿ ïàðàìåòðàìè: <b>txt</b> (òåêñòîâûå ñâîéñòâà), <b>typid</b> è <b>modif</b> (áèòîâûå ñâîéñòâà).
 Ðåäàêòèðîâàíèå îúåêòîâ ñîâåðøàåòñÿ ÷åðåç îêíî ñâîéñòâ îáúåêòà.
 Ïðè ñîçäàíèè îáúåêòà òåêñòîâûå ñâîéñòâà âíîñÿòñÿ â òåêñòîâûå ïîëÿ (ýëåìåíòû editbox ñëåâîé ñòîðîíû îêíà);
 áèòîâûå ñâîéñòâà çàäàþòñÿ ôëàæêàìè (íàõîäÿòñÿ ñïðàâîé ñòîðîíû â íèæíåì óãëó îêíà) à òèï îáúåêòà âûáèðàåòñÿ èç ñïèñêà, êîòîðûé äîñòóïåí òîëüêî ïðè ðåäàêòèðîâàíèè ïåðåìåííûõ (íàõîäÿòñÿ ñïðàâîé ñòîðîíû â âåðõíåì óãëó îêíà).</p>
<p>Äëÿ îòêðûòèÿ îêíà ñî ñâîéñòâàìè îáúåêòà íóæíî âûáðàòü ðåäàêòèðóåìûé îáúåêò è íàæàòü <b>[Enter]</b> èëè êíîïêó <img src="property.png"> íà ïàíåëè èíñòðóìåíòîâ.</p>

<h3><a name="obj_type">Òèï äàíîãî</a></h3>
<img src="prop_type.png">
<p>Ïåðåìåííûå â ïðîãðàìíîì êîäå èìåþò ðàçíûå òèïû äàííûõ. Ýòîò îáúåêò ñëóæèò äëÿ çàäàíèÿ òèïîâ äàííûõ, ñ êîòîðûìè â ïîñëåäñòâèè ìîæíî ñâÿçûâàòü îáúåêòû ïåðåìåííûõ. Îäèí îáúåêò òèïà äàííûõ ìîæåò ìíîãî ðàç èñïîëüçîâàòüñÿ äëÿ çàäàíèÿ òèïîâ ïåðåìåííûõ.</p>

<h3><a name="obj_vari">Ïåðåìåííàÿ</a></h3>
<img src="prop_vari.png">
<p>Îáúåêò ïåðåìåííîé ñîäåðæèò 3 òåêñòîâûõ ñâîéñòâà: 1) èìÿ ïåðåìåííîé, 2) çíà÷åíèå ïî óìîë÷àíèþ, 3) êîììåíòàðèé;
 è îäíó ññûëêó íà îáúåêò òèïà äàííîãî èëè îáúåêò ñòðóêòóðû.</p>

<h3><a name="obj_stru">Ñòðóêòóðà</a></h3>
<img src="prop_stru.png">
<p>Îáúåêò ñòðóêòóðû ñîäåðæèò 2 òåêñòîâûõ ñâîéñòâà: 1) èìÿ ñòðóêòóðû, 2) ïàðàìåòðû äëÿ ìàêðîñà. Ñâîéñòâî <i>ïàðàìåòðû äëÿ ìàêðîñà</i> íå îáÿçàòåëüíî äëÿ çàïîëíåíèÿ.
 Ñòðóêòóðà äîëæíà ñîäåðæàòü â ñåáå ïåðåìåííûå. Âñå îáúåêòû ïåðåìåííûõ ñòðóêòóðû äîëæíû áûòü ðàñïîëîæåíû óðîâíåì íèæå ÷åì îáúåêò ñòðóêòóðû, òàêèì îáðàçîì ïðîãðàììà ïðè ñîçäàíèè êîäà îïðåäåëèò ãäå íàõîäèòñÿ íà÷àëî è êîíåö äàííûõ ñòðóêòóðû.</p>

<h3><a name="obj_code">Asm êîä</a></h3>
<img src="prop_code.png">
<p>Îáúåêò ñîäåðæàùèé ïðîãðàìíûé êîä, êîòîðûé âñòàâëÿåòñÿ â ãåíåðèðóåìóþ ïðîãðàììó.
 Äëèíà êîäà îãðàíè÷èâàåòñÿ ðàçìåðîì êîíñòàíòû MAX_LEN_OBJ_TXT (200 ñèìâîëîâ).
 Ïîäîáíûé îáúåêò íóæåí äëÿ çàäàíèÿ êàêèõ-ëèáî ãîòîâûõ ïîëüçîâàòåëüñêèõ ôóíêöèé èëè äëÿ âûõîäà èç íåñòàíäàðòíûõ çàðàíåå íå ïðåäóñìîòðåííûõ ñèòóàöèé.
 Ìîæåò âîçíèêíóòü ñèòóàöèÿ, êîãäà ÷åðåç èñïîëüçîâàíèå äðóãèõ îáúåêòîâ ðåøåíèå çàäà÷è ìîæåò îêàçàòüñÿ íåöåëåñîîáðàçíûì, íàïðèìåð òàêîé êîä:</p>
<pre>struct p
	a dd ?
	b dd ?
ends</pre>
<p>Ìîæíî ñîçäàòü èç 3-õ îáåêòîâ: 1-íà ñòðóêòóðà è 2 ïåðåìåííûå èëè îáîéòèñü 1-ì îáúåêòîì <i>asm êîäà</i>.</p>

<h3><a name="obj_auto">Àâòî êîä</a></h3>
<img src="prop_auto.png">
<p>Äëÿ ïðîãðàìèðîâàíèÿ íåêîòîðûõ îáúåêòîâ íåîáõîäèìî íàïèñàíèå êîäà â ðàçíûõ ìåñòàõ ïðîãðàììû.
 Íî îäèí îáúåêò íå ìîæåò ñîçäàâàòü ñâîé êîä â ðàçíûõ ìåñòàõ. Äëÿ ðåøåíèÿ ýòîé çàäà÷è áûë ñîçäàí îáúåêò <b>àâòî êîäà</b>.
 Îí ìîæåò àâòîìàòè÷åñêè ñîçäàâàòü êîäû äðóãèõ îáúåêòîâ.
 Ýòîò îáúåêò ñîäåðæèò òåêñòîâîå ñâîéñòâî, êîòîðîå èñïîëüçóåòñÿ êàê ïîäñêàçêà ïîëüçîâàòåëþ, íî â ïðîãðàìíûé êîä íå ïîïàäàåò.
 Òàêæå ñîäåðæèò ôëàãè, îò êîòîðûõ çàâèñèò êàêîé èìåííî êîä áóäåò ñîçäàâàòüñÿ, âîò îíè:</p>
<ul>
<li>ïåðâîíà÷àëüíûå íàñòðîéêè ýëåìåíòîâ</li>
<li>ñîáûòèÿ îò ìûøè</li>
<li>êîäû ýëåìåíòîâ</li>
<li>íàæàòèÿ íà êíîïêè</li>
</ul>
<p>Ýòîò îáúåêò ðàáîòàåò â ñâÿçêå ñ äðóãèìè îáúåêòàìè, à ñàì ïî ñåáå íèêàêîãî êîäà íå ñîçäàåò.</p>

<h3><a name="obj_libr">Èìïîðò áèáëèîòåêè</a></h3>
<img src="prop_libr.png">
<p>Äàííûé îáúåêò ñëóæèò äëÿ ñîçäàíèÿ ñòðóêòóðû èìïîðòà áèáëèîòåêè. Ñîäåðæèò ïàðàìåòðû:</p>
<ul>
<li>èìÿ áèáëèîòåêè</li>
<li>ïóòü ê ñèñòåìíîé äèðåêòîðèè äëÿ ïîèñêà áèáëèîòåêè</li>
<li>ìåòêà èñïîëüçóåìàÿ ïðè èìïîðòå</li>
<li>ïðèñòàâêà, êîòîðàÿ áóäåò äîáàâëÿòüñÿ ïåðåä èìåíåì êàæäîé èìïîðòèðóåìîé ôóíêöèè</li>
<li>òåêñò îøèáêè êîòîðûé ïîÿâëÿåòñÿ åñëè áèáëèîòåêà íå íàéäåíà</li>
<li>òåêñò îøèáêè êîòîðûé ïîÿâëÿåòñÿ åñëè âîçíèêëè ïðîáëåìû ñ èìïîðòîì ôóíêöèé èç áèáëèîòåêè</li>
</ul>
<p>Äëÿ ñîçäàíèÿ ïðîãðàìíîãî êîäà ýòîãî îáúåêòà íóæåí îáúåêò <a href="#obj_auto">àâòî êîäà</a> ñ âêëþ÷åííîé îïöèåé <b>êîäû ýëåìåíòîâ</b>.
 Ýòîò îáúåêò èñïîëüçóåòñÿ âìåñòå ñ îáúåêòàìè <a href="#obj_ifun">ôóíêöèÿ èç áèáëèîòåêè</a>, êîòîðûå äîëæíû áûòü äî÷åðíèìè äëÿ íåãî.</p>

<h3><a name="obj_ifun">Ôóíêöèÿ èç áèáëèîòåêè</a></h3>
<img src="prop_ifun.png">
<p>Äàííûå îáúåêòû ñëóæàò äëÿ ñîçäàíèÿ óêàçàòåëåé íà ôóíêöèè èìïîðòèðóåìûå èç áèáëèîòåêè. Ñîäåðæèò ïàðàìåòðû:</p>
<ul>
<li>ïðîãðàìíîå èìÿ ôóíêöèè (òî èìÿ êàêèì ôóíêöèÿ áóäåò íàçûâàòüñÿ â ïîëüçîâàòåëüñêîé ïðîãðàìå)</li>
<li>èìïîðòèðóåìîå èìÿ ôóíêöèè (òî èìÿ êîòîðîå çàïèñàíî â áèáëèîòåêå)</li>
</ul>
<p> áîëüøèíñòâå ñëó÷àåâ ýòè ïàðàìåòðû áóäóò ñîâïàäàòü äðóã ñ äðóãîì.
 Ýòè îáúåêòû èñïîëüçóåòñÿ âìåñòå ñ îáúåêòàìè <a href="#obj_libr">èìïîðò áèáëèîòåêè</a>, êîòîðûå äîëæíû áûòü ðîäèòåëüñêèìè äëÿ íèõ.</p>

<h3><a name="obj_incl">Âêëþ÷åíèå ôàéëà</a></h3>
<img src="prop_incl.png">
<p>Îáúåêò ñîçäàíèÿ êîäà ïîäêëþ÷åíèÿ ôàéëîâ, ÷åðåç êëþ÷åâîå ñëîâî <b>include</b>. Ñîäåðæèò ïàðàìåòðû:</p>
<ul>
<li>èìÿ ôàéëà (âìåñòå ñ ïóòåì è îäèíàðíûìè êàâû÷êàìè)</li>
<li>êîììåíòàðèé (èñïîëüçóåòñÿ åñëè ïîëüçîâàòåëþ íåîáõîäèìî äîáàâèòü îïèñàíèå ïîäêëþ÷àåìîãî ôàéëà)</li>
</ul>

<h3></h3>
<p></p>

<h2>Àâòîð</h2>
<p>Èãîðü À. (IgorA) - ðàçðàáîòêà ïðîãðàììû.</p>

</body>
</html>