164,12 → 164,9 |
cmp eax,0 |
je .find_no |
|
cmp dword[eax],C_STR |
cmp byte[eax],C_STR |
jne @f |
stdcall insert_text,txt_struct |
stdcall insert_text_prop, eax,0 |
insert_nl |
|
stdcall get_code_struct,eax ;îáðàáîòêà îáúåêòà |
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó |
cmp esi,0 |
181,34 → 178,34 |
call code_gen_obj ;ðåêóðñèâíûé âûçîâ äî÷åðíèõ îáúåêòîâ |
pop bx |
.end_st: |
stdcall insert_text,txt_ends |
stdcall [ted_text_add], tedit0,txt_ends,6,ted_opt_ed_move_cursor |
jmp .beg_iterat |
@@: |
cmp dword[eax],C_TXT |
cmp byte[eax],C_TXT |
jne @f |
stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà |
@@: |
cmp dword[eax],C_INC |
cmp byte[eax],C_INC |
jne @f |
stdcall get_code_incl,eax ;îáðàáîòêà îáúåêòà |
@@: |
cmp dword[eax],C_COM |
cmp byte[eax],C_COM |
jne @f |
stdcall get_code_comment,eax ;îáðàáîòêà îáúåêòà |
@@: |
cmp dword[eax],C_VAR |
cmp byte[eax],C_VAR |
jne @f |
stdcall get_code_variable,eax,ebx ;îáðàáîòêà îáúåêòà |
@@: |
cmp dword[eax],C_WND |
cmp byte[eax],C_WND |
jne @f |
stdcall get_code_window,eax ;îáðàáîòêà îáúåêòà |
@@: |
cmp dword[eax],C_ACO |
cmp byte[eax],C_ACO |
jne @f |
stdcall get_code_auto,eax ;îáðàáîòêà îáúåêòà |
@@: |
cmp dword[eax],C_KEY ;êëàâèàòóðà |
cmp byte[eax],C_KEY ;êëàâèàòóðà |
jne @f |
stdcall get_code_key,eax ;îáðàáîòêà îáúåêòà |
@@: |
221,14 → 218,17 |
pop ebx |
ret |
|
;äîáàâëåíèå îáúåêòà ñ ïðîãðàìíûì êîäîì (òåêñòîì) |
|
align 4 |
proc get_code_text, p_obj:dword |
;pushad |
pushad |
insert_nl |
stdcall insert_text_prop, dword[p_obj],0 |
mov ebx,dword[p_obj] |
stdcall get_obj_text_col,ebx,0 |
stdcall str_len,edx |
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
insert_nl |
;popad |
popad |
ret |
endp |
|
238,12 → 238,13 |
pushad |
insert_nl |
mov ebx,dword[p_obj] |
test_bool_prop ebx,BIT_MOD_ACM |
mov ecx,dword[ebx+u_object.modif-u_object] |
bt ecx,BIT_MOD_ACM |
jae @f |
;àâòîìàòè÷åñêèå ñîáûòèÿ îò ìûøè |
call get_code_auto_m |
@@: |
test_bool_prop ebx,BIT_MOD_ABU |
bt ecx,BIT_MOD_ABU |
jae @f |
;ñîçäàíèå ôóíêöèè button |
insert_but_beg |
251,12 → 252,13 |
insert_but_end |
call get_code_a_but_fun ;êîäû ôóíêöèé, âûçûâàåìûõ ïðè íàæàòèè êíîïîê |
@@: |
test_bool_prop ebx,BIT_MOD_ACD |
bt ecx,BIT_MOD_ACD |
jae @f |
call get_code_auto_data_el |
call get_code_auto_data_dop |
|
mov edx,C_LIB |
xor edx,edx |
mov dl,C_LIB |
stdcall find_obj_in_file,edx ;eax - óêàçàòåëü íà ñòðóêòóðó áèáëèîòåêè |
cmp eax,0 |
je @f |
296,7 → 298,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_EDB |
cmp byte[ebx],C_EDB |
jne @f |
stdcall insert_text, txt_std_mouse_ed |
;insert_sp |
305,7 → 307,7 |
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
insert_nl |
@@: |
cmp dword[ebx],C_CHB |
cmp byte[ebx],C_CHB |
jne @f |
stdcall insert_text, txt_std_mouse_cb |
;insert_sp |
341,7 → 343,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_EDB |
cmp byte[ebx],C_EDB |
jne @f |
;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt |
stdcall insert_text_prop, ebx,0 |
394,7 → 396,7 |
.null_string: |
insert_nl |
@@: |
cmp dword[ebx],C_DTT |
cmp byte[ebx],C_DTT |
jne @f |
stdcall insert_text, txt_txt |
mov edx,fp_icon |
431,7 → 433,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_LIB |
cmp byte[ebx],C_LIB |
jne @f |
;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
|
499,7 → 501,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_LIB |
cmp byte[ebx],C_LIB |
jne @f |
;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
|
565,7 → 567,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_LIB |
cmp byte[ebx],C_LIB |
jne @f |
;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
stdcall insert_text, txt_align_4 |
607,7 → 609,7 |
pop ecx ;ïîëó÷àåì äàííûå óçëà |
cmp ecx,0 |
je @f |
cmp dword[ecx],C_IFN |
cmp byte[ecx],C_IFN |
jne @b |
;âñòàâêà óêàçàòåëÿ íà ôóíêöèþ |
insert_tab |
631,7 → 633,7 |
pop ecx ;ïîëó÷àåì äàííûå óçëà |
cmp ecx,0 |
je @f |
cmp dword[ecx],C_IFN |
cmp byte[ecx],C_IFN |
jne @b |
;âñòàâêà èìåíè èìïîðòèðîâàííîé ôóíêöèè |
insert_tab |
664,7 → 666,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_EDB |
cmp byte[ebx],C_EDB |
jne @f |
;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt |
stdcall insert_text, txt_txt |
715,6 → 717,9 |
insert_0 |
insert_nl |
@@: |
;cmp byte[ebx],C_CHB |
;jne @f |
;@@: |
|
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó |
740,7 → 745,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_BUT |
cmp byte[ebx],C_BUT |
jne @f |
insert_tab |
insert_cmp |
792,7 → 797,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_BUT |
cmp byte[ebx],C_BUT |
jne @f |
stdcall get_obj_text_col,ebx,6 |
stdcall str_len,edx |
846,7 → 851,7 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_EDB |
cmp byte[ebx],C_EDB |
jne @f |
stdcall insert_text, txt_std_key_ed |
stdcall insert_text_prop,ebx,0 |
979,20 → 984,20 |
cmp ebx,0 |
je .find_no |
|
cmp dword[ebx],C_EDB |
cmp byte[ebx],C_EDB |
jne @f |
stdcall insert_text, txt_editb_draw |
stdcall insert_text_prop, ebx,0 |
insert_nl |
@@: |
cmp dword[ebx],C_CHB |
cmp byte[ebx],C_CHB |
jne @f |
stdcall insert_text, txt_cbox_draw |
stdcall insert_text_prop, ebx,0 |
insert_nl |
@@: |
cmp dword[ebx],C_BUT |
jne .ob_draw_but |
cmp byte[ebx],C_BUT |
jne @f |
insert_tab |
stdcall insert_text, txt_mov |
insert_reg txt_eax |
1023,19 → 1028,16 |
insert_reg txt_edx |
insert_coma |
stdcall insert_text_prop, ebx,0 |
test_bool_prop ebx,BIT_MOD_BUT_NFON |
jnc @f |
stdcall insert_text, txt_plus |
stdcall insert_text, txt_bit_30 |
@@: |
test_bool_prop ebx,BIT_MOD_BUT_NBORD |
jnc @f |
stdcall insert_text, txt_plus |
stdcall insert_text, txt_bit_29 |
@@: |
insert_nl |
|
insert_tab |
stdcall insert_text, txt_or |
insert_reg txt_edx |
insert_coma |
stdcall insert_text, txt_but_create |
insert_nl |
|
insert_tab |
stdcall insert_text, txt_mov |
insert_reg txt_esi |
insert_coma |
1045,8 → 1047,8 |
insert_tab |
stdcall insert_text, txt_i_40 |
insert_nl |
.ob_draw_but: |
cmp dword[ebx],C_REC |
@@: |
cmp byte[ebx],C_REC |
jne @f |
insert_tab |
stdcall insert_text, txt_mov |
1085,8 → 1087,8 |
stdcall insert_text, txt_i_40 |
insert_nl |
@@: |
cmp dword[ebx],C_DTT ;ðèñîâàíèå òåêñòà ÷åðåç ñèñò. ô. 4 |
jne .ob_draw_text |
cmp byte[ebx],C_DTT ;ðèñîâàíèå òåêñòà ÷åðåç ñèñò. ô. 4 |
jne @f |
insert_tab |
stdcall insert_text, txt_mov |
insert_reg txt_eax |
1108,26 → 1110,10 |
insert_reg txt_ecx |
insert_coma |
stdcall insert_text_prop, ebx,3 |
test_bool_prop ebx,BIT_MOD_TXT_ASCII_0 |
jnc @f |
;or ecx,0x80000000 - áèò äëÿ ñòðîêè ASCIIZ |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_31 |
@@: |
test_bool_prop ebx,BIT_MOD_TXT_NO_TRAN |
jnc @f |
;or ecx,0x40000000 - áèò äëÿ íå ïðîçðà÷íîãî òåêñòà |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_30 |
@@: |
test_bool_prop ebx,BIT_MOD_TXT_CHAR2 |
jnc @f |
;or ecx,0x40000000 - áèò äëÿ 2-ãî ñèñò. øðèôòà |
stdcall insert_text,txt_plus |
stdcall insert_text,txt_bit_28 |
@@: |
insert_nl |
|
;or ecx,0x80000000 |
|
insert_tab |
stdcall insert_text, txt_mov |
insert_reg txt_edx |
1139,20 → 1125,11 |
insert_nl |
|
;mov esi,... |
test_bool_prop ebx,BIT_MOD_TXT_NO_TRAN |
jnc @f |
insert_tab |
stdcall insert_text, txt_mov |
insert_reg txt_edi |
insert_coma |
stdcall insert_text_prop, ebx,4 ;öâåò ôîíà |
insert_nl |
@@: |
|
insert_tab |
stdcall insert_text, txt_i_40 |
insert_nl |
.ob_draw_text: |
@@: |
|
stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó |
1163,6 → 1140,22 |
ret |
endp |
|
|
|
align 4 |
proc get_code_struct, p_obj:dword |
pushad |
mov ebx,dword[p_obj] |
;0 - name |
|
stdcall [ted_text_add], tedit0,txt_struct,7,ted_opt_ed_move_cursor |
stdcall insert_text_prop, ebx,0 |
insert_nl |
|
popad |
ret |
endp |
|
;ñîçäàòü êîä îáúÿâëåíèÿ ïåðåìåííîé |
align 4 |
proc get_code_variable, p_obj:dword,o_lev:dword |
1173,7 → 1166,7 |
mov ecx,dword[o_lev] |
cmp cl,0 |
je .no_tab ;èçáåãàåì çàöèêëèâàíèÿ (0-1 = 2^32-1) |
and ecx,0xff |
and cx,0xff |
cld |
@@: |
insert_tab ;ôîðìèðîâàíèå îòñòóïà ïåðåä ïåðåìåííîé |
1253,10 → 1246,7 |
txt_err_m_i_lib db 'err_msg_import_',0 |
txt_head_i db 'head_f_i',0 |
txt_ll_end db 'l_libs_end:',13,0 |
txt_bit_28 db '0x10000000',0 |
txt_bit_29 db '0x20000000',0 |
txt_bit_30 db '0x40000000',0 |
txt_bit_31 db '0x80000000',0 |
txt_but_create db '0x40000000',0 ;tmp |
txt_0x33000000 db '0x33000000',0 ;tmp |
txt_struct db 'struct ',0 |
txt_met_end db '.end',0 |