Subversion Repositories Kolibri OS

Rev

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

  1. <html>
  2. <head>
  3. <title>Îãëàâëåíèå</title>
  4. <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
  5. <style>
  6. body
  7. {
  8.   font-size: 15px;
  9.   font-family: "Bookman Old Style";
  10.   color: black;
  11.   text-align: justify;
  12. }
  13. h1 { color: green; font-size: 23px; }
  14. h2 { color: green; font-size: 21px; }
  15. h3 { color: green; font-size: 19px; }
  16. h4 { color: #803f00; font-size: 17px; }
  17. i { color: #0099cc; }
  18. b { color: #0099cc; }
  19. p {
  20.   text-indent: 1em;
  21.   margin-top: 3px;
  22.   margin-bottom: 2px;
  23.   margin-left: 0px;
  24.   margin-right: 0px;
  25. }
  26. ol, ul, dl{
  27.   margin-top: 3px;
  28.   margin-bottom: 2px;
  29. }
  30. pre
  31. {
  32.   padding: 2px;
  33.   padding-left: 20px;
  34.   margin-top: 5px;
  35.   margin-bottom: 5px;
  36.   margin-left: 0px;
  37.   margin-right: 0px;
  38.   font-family: "Courier New";
  39.   font-size: 15px;
  40.   color: #004000;
  41.   background-color: #ffd0ff;
  42. }
  43. table
  44. {
  45.   font-size: 15px;
  46. }
  47. </style>
  48. </head>
  49.  
  50. <body>
  51. <h1>Kol_f_edit âåðñèÿ îò 31.12.2010</h1>
  52. <p>Îãëàâëåíèå</p>
  53. <ul>
  54. <li>Î ïðîãðàììå</li>
  55. <li><a href="#algor">Àëãîðèòì ðàáîòû ñ ïðîãðàììîé</a></li>
  56. <li><a href="#v_obj">Âèäû îáúåêòîâ</a></li>
  57.         <ul>
  58.         <li><a href="#obj_type">Òèï äàíîãî</a></li>
  59.         <li><a href="#obj_vari">Ïåðåìåííàÿ</a></li>
  60.         <li><a href="#obj_stru">Ñòðóêòóðà</a></li>
  61.         <li><a href="#obj_code">Asm êîä</a></li>
  62.         <li><a href="#obj_auto">Àâòî êîä</a></li>
  63.         <li><a href="#obj_libr">Èìïîðò áèáëèîòåêè</a></li>
  64.         <li><a href="#obj_ifun">Ôóíêöèÿ èç áèáëèîòåêè</a></li>
  65.         <li><a href="#obj_incl">Âêëþ÷åíèå ôàéëà</a></li>
  66.         </ul>
  67. </ul>
  68.  
  69. <h2>Î ïðîãðàììå</h2>
  70. <p>Ïðîãðàììà äëÿ àâòîìàòèçàöèè ñîçäàíèÿ èíòåðôåéñà.
  71.  Íåêîòîðûå èç ôóíêöèé ïðîãðàììû ïîêà åùå íå ñäåëàíû, ïîòîìó âîçìîæíîñòè åå ïðàêòè÷åñêîãî èñïîëüçîâàíèÿ îãðàíè÷åíû.
  72.  Ëèöåíçèÿ ñâîáîäíàÿ.</p>
  73. <p><img src="about.png"></p>
  74. <p>Âíåøíèé âèä ïðîãðàììû.</p>
  75.  
  76. <h2><a name="algor">Àëãîðèòì ðàáîòû ñ ïðîãðàììîé</a></h2>
  77. <p>1) Îòêðûâàåì øàáëîí ïðîãðàììû èç ôàéëà ñ ðàñøèðåíèåì <b>.ced</b>
  78.  (min_prog.ced - &quot;ìèíèìàëüíàÿ&quot; ïðîãðàììà, box_l.ced - ïðîãðàììà ñ ïîäêëþ÷åíèåì áèáëèîòåêè box_lib.obj,
  79.  buf2d.ced - ïðîãðàììà ñ ïîäêëþ÷åíèåì áèáëèîòåêè buf2d.obj, ïëàíèðóåòüñÿ äîáàâëåíèå äðóãèõ øàáëîíîâ</i>)</p>
  80. <p>2) Ðåäàêòèðóåì îáúåêòû â ïîäêëþ÷åííîì ôàéëå <b>*.ced</b></p>
  81. <p>3) Ñîçäàåì <b>*.asm</b> êîä â òåêñòîâîì îêíå êíîïêîé íà ïàíåëè. Ñîõðàíÿåì <b>*.asm</b> êîä íà äèñê (<i>ðàáîòîñïîñîáíîñòü ïîëó÷èâøåãîñÿ ôàéëà íå ãàðàíòèðóåòñÿ, ò. ê. íåêîòîðûå èç ýëåìåíòîâ åùå äîêîíöà íå ïðîðàáîòàíû</i>)</p>
  82. <p>4) Ðåäàêòèðóåì ïîëó÷èâøèéñÿ <b>*.asm</b> ôàéë ëþáûì òåêñòîâûì ðåäàêòîðîì. Äëÿ ýòîãî óáèðàåì â íà÷àëå ôàéëà îïèñàíèÿ ñòðóêòóð (ò. ê. îíè ñîäåðæàòñÿ â ïîäêëþ÷àåìûõ ôàéëàõ <b>.inc</b>) è äîïèñûâàåì ïóòè ê ïîäêëþ÷àåìûì ôàéëàì.</p>
  83.  
  84. <h2><a name="v_obj">Âèäû îáúåêòîâ</a></h2>
  85. <p>Ïðîãðàìíûé êîä ñîçäàåòñÿ íà îñíîâå ñâîéñòâ îáúåêòîâ, âíåñåííûõ â ôàéë ïðîýêòà. Âñå îáúåêòû âíóòðè ïðîãðàìû ïðåäñòàâëÿþòüñÿ ñòðóêòóðàìè âèäà:</p>
  86. <pre>struct object
  87.         id dd ? ;èäåíòèôèêàòîð îáúåêòà
  88.         txt rb MAX_LEN_OBJ_TXT ;òåêñòîâûå ñâîéñòâà
  89.         lvl db 0
  90.         clo db 0
  91.         typid dd ? ;íîìåð îáúåêòà îïðåäåëÿþùåãî òèï ïåðåìåííîé
  92.         modif dd ? ;áèòîâûå ñâîéñòâà
  93. ends</pre>
  94. <p>Â çàâèñèìîñòè îò âèäà îáúåêòà íå âñå åãî ïàðàìåòðû ìîãóò èñïîëüçîâàòüñÿ.
  95.  Áîëüøàÿ ÷àñòü ñâîéñòâ îáúåêòà çàäàåòñÿ ïàðàìåòðàìè: <b>txt</b> (òåêñòîâûå ñâîéñòâà), <b>typid</b> è <b>modif</b> (áèòîâûå ñâîéñòâà).
  96.  Ðåäàêòèðîâàíèå îúåêòîâ ñîâåðøàåòñÿ ÷åðåç îêíî ñâîéñòâ îáúåêòà.
  97.  Ïðè ñîçäàíèè îáúåêòà òåêñòîâûå ñâîéñòâà âíîñÿòñÿ â òåêñòîâûå ïîëÿ (ýëåìåíòû editbox ñëåâîé ñòîðîíû îêíà);
  98.  áèòîâûå ñâîéñòâà çàäàþòñÿ ôëàæêàìè (íàõîäÿòñÿ ñïðàâîé ñòîðîíû â íèæíåì óãëó îêíà) à òèï îáúåêòà âûáèðàåòñÿ èç ñïèñêà, êîòîðûé äîñòóïåí òîëüêî ïðè ðåäàêòèðîâàíèè ïåðåìåííûõ (íàõîäÿòñÿ ñïðàâîé ñòîðîíû â âåðõíåì óãëó îêíà).</p>
  99. <p>Äëÿ îòêðûòèÿ îêíà ñî ñâîéñòâàìè îáúåêòà íóæíî âûáðàòü ðåäàêòèðóåìûé îáúåêò è íàæàòü <b>[Enter]</b> èëè êíîïêó <img src="property.png"> íà ïàíåëè èíñòðóìåíòîâ.</p>
  100.  
  101. <h3><a name="obj_type">Òèï äàíîãî</a></h3>
  102. <img src="prop_type.png">
  103. <p>Ïåðåìåííûå â ïðîãðàìíîì êîäå èìåþò ðàçíûå òèïû äàííûõ. Ýòîò îáúåêò ñëóæèò äëÿ çàäàíèÿ òèïîâ äàííûõ, ñ êîòîðûìè â ïîñëåäñòâèè ìîæíî ñâÿçûâàòü îáúåêòû ïåðåìåííûõ. Îäèí îáúåêò òèïà äàííûõ ìîæåò ìíîãî ðàç èñïîëüçîâàòüñÿ äëÿ çàäàíèÿ òèïîâ ïåðåìåííûõ.</p>
  104.  
  105. <h3><a name="obj_vari">Ïåðåìåííàÿ</a></h3>
  106. <img src="prop_vari.png">
  107. <p>Îáúåêò ïåðåìåííîé ñîäåðæèò 3 òåêñòîâûõ ñâîéñòâà: 1) èìÿ ïåðåìåííîé, 2) çíà÷åíèå ïî óìîë÷àíèþ, 3) êîììåíòàðèé;
  108.  è îäíó ññûëêó íà îáúåêò òèïà äàííîãî èëè îáúåêò ñòðóêòóðû.</p>
  109.  
  110. <h3><a name="obj_stru">Ñòðóêòóðà</a></h3>
  111. <img src="prop_stru.png">
  112. <p>Îáúåêò ñòðóêòóðû ñîäåðæèò 2 òåêñòîâûõ ñâîéñòâà: 1) èìÿ ñòðóêòóðû, 2) ïàðàìåòðû äëÿ ìàêðîñà. Ñâîéñòâî <i>ïàðàìåòðû äëÿ ìàêðîñà</i> íå îáÿçàòåëüíî äëÿ çàïîëíåíèÿ.
  113.  Ñòðóêòóðà äîëæíà ñîäåðæàòü â ñåáå ïåðåìåííûå. Âñå îáúåêòû ïåðåìåííûõ ñòðóêòóðû äîëæíû áûòü ðàñïîëîæåíû óðîâíåì íèæå ÷åì îáúåêò ñòðóêòóðû, òàêèì îáðàçîì ïðîãðàììà ïðè ñîçäàíèè êîäà îïðåäåëèò ãäå íàõîäèòñÿ íà÷àëî è êîíåö äàííûõ ñòðóêòóðû.</p>
  114.  
  115. <h3><a name="obj_code">Asm êîä</a></h3>
  116. <img src="prop_code.png">
  117. <p>Îáúåêò ñîäåðæàùèé ïðîãðàìíûé êîä, êîòîðûé âñòàâëÿåòñÿ â ãåíåðèðóåìóþ ïðîãðàììó.
  118.  Äëèíà êîäà îãðàíè÷èâàåòñÿ ðàçìåðîì êîíñòàíòû MAX_LEN_OBJ_TXT (200 ñèìâîëîâ).
  119.  Ïîäîáíûé îáúåêò íóæåí äëÿ çàäàíèÿ êàêèõ-ëèáî ãîòîâûõ ïîëüçîâàòåëüñêèõ ôóíêöèé èëè äëÿ âûõîäà èç íåñòàíäàðòíûõ çàðàíåå íå ïðåäóñìîòðåííûõ ñèòóàöèé.
  120.  Ìîæåò âîçíèêíóòü ñèòóàöèÿ, êîãäà ÷åðåç èñïîëüçîâàíèå äðóãèõ îáúåêòîâ ðåøåíèå çàäà÷è ìîæåò îêàçàòüñÿ íåöåëåñîîáðàçíûì, íàïðèìåð òàêîé êîä:</p>
  121. <pre>struct p
  122.         a dd ?
  123.         b dd ?
  124. ends</pre>
  125. <p>Ìîæíî ñîçäàòü èç 3-õ îáåêòîâ: 1-íà ñòðóêòóðà è 2 ïåðåìåííûå èëè îáîéòèñü 1-ì îáúåêòîì <i>asm êîäà</i>.</p>
  126.  
  127. <h3><a name="obj_auto">Àâòî êîä</a></h3>
  128. <img src="prop_auto.png">
  129. <p>Äëÿ ïðîãðàìèðîâàíèÿ íåêîòîðûõ îáúåêòîâ íåîáõîäèìî íàïèñàíèå êîäà â ðàçíûõ ìåñòàõ ïðîãðàììû.
  130.  Íî îäèí îáúåêò íå ìîæåò ñîçäàâàòü ñâîé êîä â ðàçíûõ ìåñòàõ. Äëÿ ðåøåíèÿ ýòîé çàäà÷è áûë ñîçäàí îáúåêò <b>àâòî êîäà</b>.
  131.  Îí ìîæåò àâòîìàòè÷åñêè ñîçäàâàòü êîäû äðóãèõ îáúåêòîâ.
  132.  Ýòîò îáúåêò ñîäåðæèò òåêñòîâîå ñâîéñòâî, êîòîðîå èñïîëüçóåòñÿ êàê ïîäñêàçêà ïîëüçîâàòåëþ, íî â ïðîãðàìíûé êîä íå ïîïàäàåò.
  133.  Òàêæå ñîäåðæèò ôëàãè, îò êîòîðûõ çàâèñèò êàêîé èìåííî êîä áóäåò ñîçäàâàòüñÿ, âîò îíè:</p>
  134. <ul>
  135. <li>ïåðâîíà÷àëüíûå íàñòðîéêè ýëåìåíòîâ</li>
  136. <li>ñîáûòèÿ îò ìûøè</li>
  137. <li>êîäû ýëåìåíòîâ</li>
  138. <li>íàæàòèÿ íà êíîïêè</li>
  139. </ul>
  140. <p>Ýòîò îáúåêò ðàáîòàåò â ñâÿçêå ñ äðóãèìè îáúåêòàìè, à ñàì ïî ñåáå íèêàêîãî êîäà íå ñîçäàåò.</p>
  141.  
  142. <h3><a name="obj_libr">Èìïîðò áèáëèîòåêè</a></h3>
  143. <img src="prop_libr.png">
  144. <p>Äàííûé îáúåêò ñëóæèò äëÿ ñîçäàíèÿ ñòðóêòóðû èìïîðòà áèáëèîòåêè. Ñîäåðæèò ïàðàìåòðû:</p>
  145. <ul>
  146. <li>èìÿ áèáëèîòåêè</li>
  147. <li>ïóòü ê ñèñòåìíîé äèðåêòîðèè äëÿ ïîèñêà áèáëèîòåêè</li>
  148. <li>ìåòêà èñïîëüçóåìàÿ ïðè èìïîðòå</li>
  149. <li>ïðèñòàâêà, êîòîðàÿ áóäåò äîáàâëÿòüñÿ ïåðåä èìåíåì êàæäîé èìïîðòèðóåìîé ôóíêöèè</li>
  150. <li>òåêñò îøèáêè êîòîðûé ïîÿâëÿåòñÿ åñëè áèáëèîòåêà íå íàéäåíà</li>
  151. <li>òåêñò îøèáêè êîòîðûé ïîÿâëÿåòñÿ åñëè âîçíèêëè ïðîáëåìû ñ èìïîðòîì ôóíêöèé èç áèáëèîòåêè</li>
  152. </ul>
  153. <p>Äëÿ ñîçäàíèÿ ïðîãðàìíîãî êîäà ýòîãî îáúåêòà íóæåí îáúåêò <a href="#obj_auto">àâòî êîäà</a> ñ âêëþ÷åííîé îïöèåé <b>êîäû ýëåìåíòîâ</b>.
  154.  Ýòîò îáúåêò èñïîëüçóåòñÿ âìåñòå ñ îáúåêòàìè <a href="#obj_ifun">ôóíêöèÿ èç áèáëèîòåêè</a>, êîòîðûå äîëæíû áûòü äî÷åðíèìè äëÿ íåãî.</p>
  155.  
  156. <h3><a name="obj_ifun">Ôóíêöèÿ èç áèáëèîòåêè</a></h3>
  157. <img src="prop_ifun.png">
  158. <p>Äàííûå îáúåêòû ñëóæàò äëÿ ñîçäàíèÿ óêàçàòåëåé íà ôóíêöèè èìïîðòèðóåìûå èç áèáëèîòåêè. Ñîäåðæèò ïàðàìåòðû:</p>
  159. <ul>
  160. <li>ïðîãðàìíîå èìÿ ôóíêöèè (òî èìÿ êàêèì ôóíêöèÿ áóäåò íàçûâàòüñÿ â ïîëüçîâàòåëüñêîé ïðîãðàìå)</li>
  161. <li>èìïîðòèðóåìîå èìÿ ôóíêöèè (òî èìÿ êîòîðîå çàïèñàíî â áèáëèîòåêå)</li>
  162. </ul>
  163. <p> áîëüøèíñòâå ñëó÷àåâ ýòè ïàðàìåòðû áóäóò ñîâïàäàòü äðóã ñ äðóãîì.
  164.  Ýòè îáúåêòû èñïîëüçóåòñÿ âìåñòå ñ îáúåêòàìè <a href="#obj_libr">èìïîðò áèáëèîòåêè</a>, êîòîðûå äîëæíû áûòü ðîäèòåëüñêèìè äëÿ íèõ.</p>
  165.  
  166. <h3><a name="obj_incl">Âêëþ÷åíèå ôàéëà</a></h3>
  167. <img src="prop_incl.png">
  168. <p>Îáúåêò ñîçäàíèÿ êîäà ïîäêëþ÷åíèÿ ôàéëîâ, ÷åðåç êëþ÷åâîå ñëîâî <b>include</b>. Ñîäåðæèò ïàðàìåòðû:</p>
  169. <ul>
  170. <li>èìÿ ôàéëà (âìåñòå ñ ïóòåì è îäèíàðíûìè êàâû÷êàìè)</li>
  171. <li>êîììåíòàðèé (èñïîëüçóåòñÿ åñëè ïîëüçîâàòåëþ íåîáõîäèìî äîáàâèòü îïèñàíèå ïîäêëþ÷àåìîãî ôàéëà)</li>
  172. </ul>
  173.  
  174. <h3></h3>
  175. <p></p>
  176.  
  177. <h2>Àâòîð</h2>
  178. <p>Èãîðü À. (IgorA) - ðàçðàáîòêà ïðîãðàììû.</p>
  179.  
  180. </body>
  181. </html>