forked from KolibriOS/kolibrios
33d9aafa30
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 |
||
---|---|---|
.. | ||
about.png | ||
prop_auto.png | ||
prop_code.png | ||
prop_ifun.png | ||
prop_incl.png | ||
prop_libr.png | ||
prop_stru.png | ||
prop_type.png | ||
prop_vari.png | ||
property.png | ||
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 - "ìèíèìàëüíàÿ" ïðîãðàììà, 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>