Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 1731 → Rev 1732

/programs/develop/kol_f_edit/buf2d.ced
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/develop/kol_f_edit/ced_code_g.inc
138,15 → 138,6
}
 
;
macro insert_but_beg
{
stdcall [ted_text_add], tedit0,txt_but_1,txt_but_2-txt_but_1,ted_opt_ed_move_cursor
}
macro insert_but_end
{
stdcall [ted_text_add], tedit0,txt_but_2,txt_but_3-txt_but_2,ted_opt_ed_move_cursor
}
;
macro insert_key_beg
{
stdcall [ted_text_add], tedit0,txt_key_1,txt_key_2-txt_key_1,ted_opt_ed_move_cursor
200,7 → 191,7
; esi - 㪠§ â¥«ì ­  㧥«
align 4
code_gen_obj:
push ebx edx
push eax ebx edx
.beg_iterat:
cmp esi,0
je .find_no
233,27 → 224,15
stdcall insert_text, txt_skob_fo
@@:
insert_nl
stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
cmp esi,0
je .end_st
cmp byte[esi+2],bl ;lev
jle .end_st
push bx
mov bl,byte[esi+2]
call code_gen_obj ;४ãàᨢ­ë© ¢ë§®¢ ¤®ç¥à­¨å ®¡ê¥ªâ®¢
pop bx
.end_st:
stdcall get_code_children_objects, esi
call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à­¨å ®¡¥ªâ®¢
cmp byte[edx],0
je @f
;¥á«¨ áâàãªâãà  § ¤ ­  ¬ ªà®á®¬
stdcall insert_text, txt_skob_fc
insert_nl
jmp .beg_iterat
@@:
stdcall insert_text,txt_ends
jmp .beg_iterat
.no_struct:
cmp dword[eax],C_TXT
jne @f
270,10 → 249,14
cmp dword[eax],C_WND
jne @f
stdcall get_code_window,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
stdcall get_code_children_objects, esi ;®¡à ¡®âª  ¤®ç¥à­¨å ®¡¥ªâ®¢
call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à­¨å ®¡¥ªâ®¢
stdcall insert_text, txt_draw_we ;ª®¤ § ¢¥àè î騩 äã­ªæ¨î à¨á®¢ ­¨ï
@@:
cmp dword[eax],C_ACO
jne @f
stdcall get_code_auto,eax ;®¡à ¡®âª  ®¡ê¥ªâ 
stdcall get_code_auto,esi ;®¡à ¡®âª  ®¡ê¥ªâ 
call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à­¨å ®¡¥ªâ®¢
@@:
cmp dword[eax],C_KEY ;ª« ¢¨ âãà 
jne @f
285,9 → 268,51
 
jmp .beg_iterat
.find_no:
pop edx ebx
pop edx ebx eax
ret
 
;¢§ïâì ª®¤ë ¤®ç¥à­¨å ®¡ê¥ªâ®¢
align 4
proc get_code_children_objects, p_node:dword
push ebx esi
mov esi,[p_node]
mov bl,byte[esi+2] ;á®å࠭塞 ã஢¥­ì ⥪ã饣® ®¡ê¥ªâ 
 
stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
cmp esi,0 ;¥á«¨ ¤®á⨣«¨ ª®­æ  ᯨ᪠ ®¡ê¥ªâ®¢
je @f
cmp byte[esi+2],bl ;¥á«¨ ã஢¥­ì á«¥¤ãî饣® ®¡ê¥ªâ  ¡®«ìè¥ ¨«¨ à ¢¥­ ⥪ã饬ã
jle @f ;â® ¤®ç¥à­¨å 㧫®¢ ­¥â
mov bl,byte[esi+2]
call code_gen_obj ;४ãàᨢ­ë© ¢ë§®¢ ¤®ç¥à­¨å ®¡ê¥ªâ®¢
@@:
pop esi ebx
ret
endp
 
;¯à®¯ã᪠¢á¥å ¤®ç¥à­¨å ®¡ê¥ªâ®¢
;input:
; esi - 㪠§ â¥«ì ­  㧥«
;outpet:
; esi - 㪠§ â¥«ì á«¥¤ã騩 ­¥ ¤®ç¥à­¨© (®â­®á¨â¥«ì­® ¢å®¤ï饣®) ­  㧥«
align 4
move_next_no_child_objects:
push eax ebx
mov bl,byte[esi+2] ;á®å࠭塞 ã஢¥­ì ⥪ã饣® ®¡ê¥ªâ 
@@:
stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop eax ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã
cmp eax,0 ;¥á«¨ ¤®á⨣«¨ ª®­æ  ᯨ᪠ ®¡ê¥ªâ®¢
je @f
cmp byte[eax+2],bl ;¥á«¨ ã஢¥­ì á«¥¤ãî饣® ®¡ê¥ªâ  ¡®«ìè¥ ¨«¨ à ¢¥­ ⥪ã饬ã
jle @f ;â® ¤®ç¥à­¨å 㧫®¢ ­¥â
mov esi,eax ;¥á«¨ á«¥¤ã騩 㧥« ®ª § «áï ¤®ç¥à­¨¬, ¯¥à¥áâ ¢«ï¥¬ 㪠§ â¥«ì
jmp @b
@@:
pop ebx eax
ret
 
;¤®¡ ¢«¥­¨¥ ®¡ê¥ªâ  á ¯à®£à ¬­ë¬ ª®¤®¬ (⥪á⮬)
align 4
proc get_code_text, p_obj:dword
301,10 → 326,13
 
;®¡à ¡®âª  ®¡ê¥ªâ  ᮧ¤ î饣®  ¢â®¬ â¨ç¥ªá¨¥ ª®¤ë
align 4
proc get_code_auto, p_obj:dword
proc get_code_auto, p_node:dword
pushad
insert_nl
mov ebx,dword[p_obj]
mov esi,dword[p_node]
stdcall dword[tl_node_poi_get_data], esi,tree2
pop ebx ;¯®«ãç ¥¬ ¤ ­­ë¥ 㧫 
 
test_bool_prop ebx,BIT_MOD_ACI
jae @f
mov edx,C_CHB
321,9 → 349,13
test_bool_prop ebx,BIT_MOD_ABU
jae @f
;ᮧ¤ ­¨¥ ä㭪樨 button
insert_but_beg
stdcall insert_text, txt_but_beg
call get_code_auto_but ;ª®¤ë ¢ë§®¢  ª­®¯®ª
insert_but_end
stdcall insert_text, txt_but_mid
stdcall get_code_children_objects, esi
;ª®­¥æ ä㭪樨 button (ª­®¯ª  id=-1, § ¢¥à襭¨¥ ¯à®£à ¬¬ë)
stdcall insert_text, txt_but_end
 
call get_code_a_but_fun ;ª®¤ë ä㭪権, ¢ë§ë¢ ¥¬ëå ¯à¨ ­ ¦ â¨¨ ª­®¯®ª
@@:
test_bool_prop ebx,BIT_MOD_ACD
1105,8 → 1137,6
insert_nl
 
call get_code_draw_obj
 
stdcall insert_text, txt_draw_we ;ª®¤ § ¢¥àè î騩 äã­ªæ¨î à¨á®¢ ­¨ï
popad
ret
endp
1423,16 → 1453,14
txt_cb_e db 'check_boxes_end:',13,0
 
txt_ebox db ' edit_box',0
txt_editb_draw:
db 9,'stdcall [edit_box_draw], ',0
txt_cbox_draw:
db 9,'stdcall [check_box_draw], ',0
txt_editb_draw db 9,'stdcall [edit_box_draw], ',0
txt_cbox_draw db 9,'stdcall [check_box_draw], ',0
 
txt_but_1:
db 'align 4',13,'button:',13,9,'mcall 17',13
txt_but_2:
db 9,'cmp ah,1',13,9,'jne still',13,'.exit:',13,9,'mcall -1',13
txt_but_3:
;­ ç «® ä㭪樨 ª­®¯®ª
txt_but_beg db 'align 4',13,'button:',13,9,'mcall 17',13,0
txt_but_mid db 9,'cmp ah,1',13,9,'jne still',13,'.exit:',13,0
;ª®­¥æ ä㭪樨 ª­®¯®ª (§ ¢¥à襭¨¥ ¯à®£à ¬ë)
txt_but_end db 9,'mcall -1',13,0
 
txt_key_1:
db 'align 4',13,'key:',13,9,'mcall 2',13
/programs/develop/kol_f_edit/docs/prop_incl.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/develop/kol_f_edit/docs/readme.htm
48,7 → 48,7
</head>
 
<body>
<h1>Kol_f_edit âåðñèÿ îò 22.12.2010</h1>
<h1>Kol_f_edit âåðñèÿ îò 31.12.2010</h1>
<p>Îãëàâëåíèå</p>
<ul>
<li>Î ïðîãðàììå</li>
61,22 → 61,25
<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>min_prog.ced</b> èëè <b>box_l.ced</b>
(min_prog.ced - &quot;ìèíèìàëüíàÿ&quot; ïðîãðàììà, box_l.ced - ïðîãðàììà ñ ïîäêëþ÷åíèåì áèáëèîòåêè box_lib.obj, ïëàíèðóåòüñÿ äîáàâëåíèå äðóãèõ øàáëîíîâ</i>)</p>
<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> ôàéë ëþáûì òåêñòîâûì ðåäàêòîðîì</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>
148,8 → 151,26
<li>òåêñò îøèáêè êîòîðûé ïîÿâëÿåòñÿ åñëè âîçíèêëè ïðîáëåìû ñ èìïîðòîì ôóíêöèé èç áèáëèîòåêè</li>
</ul>
<p>Äëÿ ñîçäàíèÿ ïðîãðàìíîãî êîäà ýòîãî îáúåêòà íóæåí îáúåêò <a href="#obj_auto">àâòî êîäà</a> ñ âêëþ÷åííîé îïöèåé <b>êîäû ýëåìåíòîâ</b>.
Ýòîò îáúåêò èñïîëüçóåòñÿ âìåñòå ñ îáúåêòàìè <b>ôóíêöèÿ èç áèáëèîòåêè</b>, êîòîðûå äîëæíû áûòü äî÷åðíèìè äëÿ íåãî.</p>
Ýòîò îáúåêò èñïîëüçóåòñÿ âìåñòå ñ îáúåêòàìè <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>
 
/programs/develop/kol_f_edit/kol_f_edit.asm
20,7 → 20,7
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
 
hed db 'kol_f_edit 22.12.10',0
hed db 'kol_f_edit 31.12.10',0
 
sizeof.TreeList equ 20 ;need for element 'tree_list'