/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 - "ìèíèìàëüíàÿ" ïðîãðàììà, box_l.ced - ïðîãðàììà ñ ïîäêëþ÷åíèåì áèáëèîòåêè box_lib.obj, ïëàíèðóåòüñÿ äîáàâëåíèå äðóãèõ øàáëîíîâ</i>)</p> |
<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> ôàéë ëþáûì òåêñòîâûì ðåäàêòîðîì</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' |