Subversion Repositories Kolibri OS

Rev

Rev 2632 | 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>TextEditor âåðñèÿ îò 19.04.2012</h1>
  52. <h2>Î ïðîãðàììå</h2>
  53. <p>Ïðîãðàììà äëÿ ðàáîòû ñ òåêñòîâûìè ôàéëàìè.
  54.   Ëèöåíçèÿ ñâîáîäíàÿ.</p>
  55. <p><img src="t_edit.png"></p>
  56. <p>Âíåøíèé âèä ïðîãðàììû, ñ îòêðûòûì òåêñòîâûì ôàéëîì.</p>
  57. <p>Îáñóæäåíèå ïðîãðàììû çäåñü: <a href="http://board.kolibrios.org/viewtopic.php?f=9&t=1222">http://board.kolibrios.org/viewtopic.php?f=9&t=1222</a></p>
  58.  
  59. <h2>Âîçìîæíîñòè</h2>
  60. <ul>
  61.   <li>Îòêðûòèå (Ctrl+O)/Ñîõðàíåíèå ôàéëà.</li>
  62.   <li>Ðåäàêòèðîâàíèå: Ïîâòîð/Îòìåíà äåéñòâèÿ (Ctrl+Z), Âûðåçàòü/Êîïèðîâàòü (Ctrl+C)/Âñòàâèòü (Ctrl+V), Ïîèñê (Ctrl+F, F3).</li>
  63.   <li>Âûäåëåíèå öâåòîì ñëîâ, çàäàííûõ â ôàéëå ñèíòàêñèñà. Âûâîä ñïðàâêè ïî íèì, åñëè îíà åñòü (íàæàòèåì F1 êîãäà êóðñîð íà ñëîâå).</li>
  64. </ul>
  65.  
  66. <p>Ïîñëå ñîçäàíèÿ ïðîãðàììû TextEditor â Kolibri ñòàëî 2 ïðîãðàììû äëÿ ðàáîòû ñ òåêñòîì,
  67.   ó êàæäîé èç íèõ åñòü ñâîè ñèëüíûå è ñëàáûå ñòîðîíû.
  68.   Ïðîâåäó (íå ïîëíîå) ñðàâíåíèå ïðîãðàìì TinyPad è TextEditor:</p>
  69. <table border=1>
  70. <tr><th>Äåéñòâèÿ</th><th>TinyPad</th><th>TextEditor</th></tr>
  71. <tr><td>Ðàáîòà ñ íåñêîëüêèìè äîêóìåíòàìè</td>
  72.   <td>åñòü</td><td>íåò (âîçìîæíî ñêîðî áóäåò)</td></tr>
  73. <tr><td>Ïîääåðæêà êîäèðîâîê KOI8M, OEM</td>
  74.   <td>åñòü</td><td>íåò</td></tr>
  75. <tr><td>Ïîäñâåòêà ñèíòàêñèñà</td>
  76.   <td>ïîäñâåòêà çàðàíåå çàøèòà â ïðîãðàììó</td><td>ïîäñâåòêà áåðåòñÿ èç ôàéëîâ, êîòîðûå ìîæåò óêàçàòü ïîëüçîâàòåëü. Òàêæå åñòü âîçìîæíîñòü ïîëó÷àòü ñïðàâêó ïî ïîäñâå÷èâàåìûì ñëîâàì (åñëè îíà åñòü â ôàéëàõ ïîäñâåòêè, íàâåñòè êóðñîð íà ñëîâî è íàæàòü F1).</td></tr>
  77. <tr><td>Ìíîãîêðàòíàÿ îòìåíà/ïîâòîð äåéñòâèé</td>
  78.   <td>íåò</td><td>åñòü</td></tr>
  79. </table>
  80.  
  81. <h2>Íåêîòîðûå íåäîðàáîòêè</h2>
  82. <ul>
  83. <li>Ïðè ñîõðàíåíèè ïðîãðàììà íå ñïðàøèâàåò î çàìåíå ñóùåñòâ. ôàéëà.</li>
  84. <li>Ñðàáàòûâàëè êíîïêè ïîä ìåíþ, ïîòîìó ÿ èõ ñäâèíóë âëåâî.</li>
  85. </ul>
  86.  
  87. <h2>Î ðàáîòå ïðîãðàììû</h2>
  88. <p>Ðàçäåë äëÿ ïðîãðàììèñòîâ (è èíòåðåñóþùèõñÿ ëþäåé), â êîòîðîì ðàñêàçàíû
  89.   íåêîòîðûå èäåè, íà êîòîðûõ ïîñòðîåíà äàííàÿ ïðîãðàììà.</p>
  90.  
  91. <p>Äëÿ ðàáîòû ñ òåêñòîì ïðîãðàììà èñïîëüçóåò ñòðóêòóðû:</p>
  92. <pre>struct symbol
  93.   c db ?        ;  +0 ñèìâîë
  94.   col db ?      ;  +1 öâåò
  95.   perv dd ? ;  +2
  96.   next dd ? ;  +6 óêàçàòåëè
  97.   tc dd ?       ; +10 âðåì. ñîçäàíèÿ
  98.   td dd ?       ; +14 âðåì. óäàëåíèÿ
  99. ends</pre>
  100. <p>Êàæäàÿ èç òàêèõ ñòðóêòóð ñîõðàíÿåò îäèí ñèìâîë â ïåðåìåííîé 'c'. Ïåðåìåííûå
  101.   'perv' è 'next' õðàíÿò èíäåêñû ïåðâîãî è ñëåäóþùåãî ñèìâîëîâ. Áëàãîäàðÿ ÷åìó
  102.   òåêñò ñîçäàåòñÿ â âèäå öåïî÷êè ñèìâîëîâ (äâóíàïðàâëåííûé ñïèñîê).</p>
  103. <p><b>'tc'</b> - âðåìÿ ñîçäàíèÿ ñèìâîëà, ïðè îòìåíå äåéñòâèÿ òåêñòîâûé ðåäàêòîð "çíàåò"
  104.   êàêèå ñèìâîëû îòîáðàæàòü, à êàêèå íåò (õîòÿ âñå ñèìâîëû "âèñÿò" â ïàìÿòè).</p>
  105. <p><b>'td'</b> - âðåìÿ óäàëåíèÿ ñèìâîëà, çàïîëíÿåòñÿ ïðè óäàëåíèè, ïðè îòìåíå äåéñòâèÿ
  106.   óäàëåíèÿ ñèìâîëîâ, òåêñò ìîæåò áûòü âîññòàíîâëåí.</p>
  107. <p><b>'col'</b> - èñïîëüçóåòñÿ äëÿ öâåòîâîé ðàçìåòêè.</p>
  108.  
  109. <h3>Ôóíêöèè</h3>
  110. <p>Èíôîðìàöèþ ïî ôóíêöèÿì ñìîòðèòå â äîêóìåíòàöèè ïî ýëåìåíòó t_edit â áèáëèîòåêå box_lib.obj.</p>
  111.  
  112. <h3>Ôîðìàò ôàéëà ïîäñâåòêè *.syn</h3>
  113. <table>
  114. <tr><th>Ýëåìåíò</th><th>Ðàçìåð (áàéò)</th></tr>
  115. <tr><td>Êîëè÷åñòâî öâåòîâ òåêñòà</td>
  116.   <td><pre>4</pre></td></tr>
  117. <tr><td>Êîëè÷åñòâî ïîäñâå÷èâàåìûõ ñëîâ</td>
  118.   <td><pre>4</pre></td></tr>
  119. <tr><td>Öâåòà èíòåðôåéñà</td>
  120.   <td><pre>4*6</pre></td></tr>
  121. <tr><td>Öâåòà äëÿ òåêñòà</td>
  122.   <td><pre>4*(êîë. öâ. òåêñòà)</pre></td></tr>
  123. <tr><td>Ñòðóêòóðû ñî ñâîéñòâàìè è îïèñàíèÿìè ñëîâ</td>
  124.   <td><pre>sizeof(TexColViv)*(êîë. ñëîâ)</pre></td></tr>
  125. <tr><td>Ðàçäåëèòåëüíûé ñèìâîë, îçíà÷àþùèé íà÷àëî îïèñàíèé ñëîâ (âñåãäà ðàâåí 0)</td>
  126.   <td><pre>1 áàéò</pre></td></tr>
  127. <tr><td>Îïèñàíèÿ ñëîâ (ñòðîêè òåêñòà ñ 0-ìè â êîíöå)</td>
  128.   <td><pre>(äëèííà ñïðàâî÷íîãî òåêñòà + 1)</pre></td></tr>
  129. </table>
  130.  
  131. <h4>Ìàêðîñ äëÿ çàäàíèÿ êëþ÷åâîãî ñëîâà</h4>
  132. <p>Ôàéëû ñèíòàêñèñà ìîæíî êîìïèëèðîâàòü ÷åðåç fasm.</p>
  133. <pre>macro wo txt,f1,p1,p2,p3{
  134. @@: db txt
  135. rb @b+40-$
  136. dd f1+0
  137. db p1
  138. dw p2+0
  139. db p3
  140. }</pre>
  141.  
  142. <h4>Çàìå÷àíèÿ.</h4>
  143. <ul>
  144. <li>Âñå ñëîâà äîëæíû áûòü ðàñïîëîæåíû â ïîðÿäêå ñëåäîâàíèÿ èõ ASCII êîäîâ.
  145.   Âîçìîæíî â áóäóùèõ âåðñèÿõ ôîðìàò ôàéëîâ ïîäñâåòêè áóäåò èçìåíåí.</li>
  146. </ul>
  147.  
  148. <hr>
  149. <h2>Àâòîð</h2>
  150. <p>Èãîðü À. (IgorA) - ðàçðàáîòêà ïðîãðàììû.</p>
  151.  
  152. <h2>Ñïàñèáî</h2>
  153. <ul>
  154.   <li>Åâòèõîâ Ìàêñèì (Maxxxx32) - ýëåìåíò EditBox.</li>
  155.   <li>Àëåêñåé Òåïëîâ (Lrz) - ýëåìåíò EditBox, ìàêðîñ load_library.</li>
  156.   <li>Mario79 - ýëåìåíòû: ñêðîëëèíãè, ìåíþ, OpenDial.</li>
  157.   <li>Diamond - çà ïðîãðàììó KlbrInWin, è ïîìîùü ïðè íàïèñàíèè ïðîãðàììû.</li>
  158.   <li>Insolor - çà òåñòèðîâàíèå ïðîãðàììû íà îøèáêè.</li>
  159.   <li>Leency è äðóãèì, êòî ïîìîãàë íà ôîðóìå ñîâåòàìè.</li>
  160. </ul>
  161.  
  162. </body>
  163. </html>