diff --git a/programs/develop/kol_f_edit/box_l.ced b/programs/develop/kol_f_edit/box_l.ced new file mode 100644 index 0000000000..6c9953d2e5 Binary files /dev/null and b/programs/develop/kol_f_edit/box_l.ced differ diff --git a/programs/develop/kol_f_edit/ced_code_g.inc b/programs/develop/kol_f_edit/ced_code_g.inc index df6e5aa705..0c72f62fd2 100644 --- a/programs/develop/kol_f_edit/ced_code_g.inc +++ b/programs/develop/kol_f_edit/ced_code_g.inc @@ -251,6 +251,7 @@ proc get_code_auto, p_obj:dword jae @f call get_code_auto_data_el call get_code_auto_data_dop + call get_code_auto_data_libs @@: insert_nl popad @@ -320,17 +321,13 @@ proc get_code_auto_data_el cmp byte[ebx],C_ED jne @f ;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt - stdcall get_obj_text_col,ebx,0 - stdcall str_len,edx - stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor + stdcall insert_text_prop, ebx,0 stdcall insert_text, txt_ebox mov ecx,1 .prop: insert_sp - stdcall get_obj_text_col,ebx,ecx - stdcall str_len,edx - stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor + stdcall insert_text_prop, ebx,ecx insert_coma inc ecx cmp ecx,10 @@ -363,6 +360,105 @@ proc get_code_auto_data_el ret endp +;фрээ√х фы  сшсышюЄхъ +align 4 +proc get_code_auto_data_libs + pushad + insert_nl ;юЄёЄєя фы  ЇюЁьрЄшЁютрэш  + + stdcall dword[tl_node_poi_get_info], 0,tree2 + pop esi + .beg_iterat: + cmp esi,0 + je .find_no + + stdcall dword[tl_node_poi_get_data], esi,tree2 + pop ebx ;яюыєўрхь фрээ√х єчыр + cmp ebx,0 + je .find_no + + 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 + stdcall insert_text_prop, ebx,2 + stdcall insert_text, txt_d_poi + insert_nl + + call get_code_lib_table + @@: + + stdcall dword[tl_node_poi_get_next_info], esi,tree2 + pop esi ;яхЁхїюфшь ъ ёыхфє∙хьє єчыє + + jmp .beg_iterat + .find_no: + popad + ret +endp + +;input: +; esi +align 4 +get_code_lib_table: +pushad + mov bl,byte[esi+2] + mov edi,esi + stdcall dword[tl_node_poi_get_data], esi,tree2 + pop edx ;яюыєўхэшх фрээ√ї ЁюфшЄхы№ёъюую юс·хъЄр + cmp edx,0 + je @f + @@: + stdcall dword[tl_node_poi_get_next_info], esi,tree2 + pop esi ;яхЁхїюфшь ъ ёыхфє∙хьє єчыє + cmp esi,0 + je @f + cmp byte[esi+2],bl ;lev + jle @f + stdcall dword[tl_node_poi_get_data], esi,tree2 + pop ecx ;яюыєўрхь фрээ√х єчыр + cmp ecx,0 + je @f + cmp byte[ecx],C_IFN + jne @b + ;тёЄртър єърчрЄхы  эр ЇєэъЎш■ + insert_tab + stdcall insert_text_prop, ecx,0 + stdcall insert_text, txt_dd + stdcall insert_text_prop, edx,3 ;яЁшёЄртър ъ ЇєэъЎшш + stdcall insert_text_prop, ecx,0 + insert_nl + jmp @b + @@: + stdcall insert_text, txt_dd_0_0 + mov esi,edi + @@: + stdcall dword[tl_node_poi_get_next_info], esi,tree2 + pop esi ;яхЁхїюфшь ъ ёыхфє∙хьє єчыє + cmp esi,0 + je @f + cmp byte[esi+2],bl ;lev + jle @f + stdcall dword[tl_node_poi_get_data], esi,tree2 + pop ecx ;яюыєўрхь фрээ√х єчыр + cmp ecx,0 + je @f + cmp byte[ecx],C_IFN + jne @b + ;тёЄртър шьхэш шьяюЁЄшЁютрээющ ЇєэъЎшш + insert_tab + stdcall insert_text_prop, edx,3 ;яЁшёЄртър ъ ЇєэъЎшш + stdcall insert_text_prop, ecx,0 + stdcall insert_text, txt_db + stdcall insert_text, txt_str_beg + stdcall insert_text_prop, ecx,1 + stdcall insert_text, txt_str_end + insert_nl + jmp @b + @@: +popad + ret + ; align 4 proc get_code_auto_data_dop @@ -626,6 +722,7 @@ proc get_code_window, p_obj:dword insert_nl ;or edx,0x33000000 + insert_tab stdcall insert_text, txt_or insert_reg txt_edx insert_coma @@ -642,10 +739,11 @@ proc get_code_window, p_obj:dword insert_tab stdcall insert_text, txt_i_40 + insert_nl call get_code_draw_obj - stdcall insert_text, txt_draw_we + stdcall insert_text, txt_draw_we ;ъюф чртхЁ°р■∙шщ ЇєэъЎш■ Ёшёютрэш  popad ret endp @@ -788,9 +886,7 @@ proc get_code_struct, p_obj:dword ;0 - name stdcall [ted_text_add], tedit0,txt_struct,7,ted_opt_ed_move_cursor - stdcall get_obj_text_col,ebx,0 - stdcall str_len,edx - stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor + stdcall insert_text_prop, ebx,0 insert_nl popad @@ -814,9 +910,7 @@ proc get_code_variable, p_obj:dword,o_lev:dword loop @b .no_tab: - stdcall get_obj_text_col,ebx,0 - stdcall str_len,edx - stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor + stdcall insert_text_prop, ebx,0 ;шь  яхЁхьхээющ insert_sp mov ecx,dword[ebx+u_object.typid-u_object] ;ecx - юЄэюёшЄхы№э√щ шэфхъё ЁюфшЄхы№ёъюую юс·хъЄр (т ярь Єш) @@ -827,16 +921,11 @@ proc get_code_variable, p_obj:dword,o_lev:dword ;яЁютхЁъє эр яЁртшы№эюёЄ№ ecx ??? - stdcall get_obj_text_col,ecx,0 - stdcall str_len,edx - stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor + stdcall insert_text_prop, ecx,0 ;Єшя яхЁхьхээющ insert_sp + stdcall insert_text_prop, ebx,1 ;чэрўхэшх - stdcall get_obj_text_col,ebx,1 - stdcall str_len,edx - stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor - - stdcall get_obj_text_col,ebx,2 + stdcall get_obj_text_col,ebx,2 ;ъюььхэЄрЁшщ stdcall str_len,edx cmp eax,1 jl @f @@ -853,6 +942,8 @@ endp ;--- ЄхъёЄют√х ъюэёЄрэЄ√ --- +txt_str_beg db 39,0 +txt_str_end db 39,',0',0 txt_coma db ',',0 txt_i_40 db 'int 0x40',13,0 txt_0 db '0',0 @@ -867,14 +958,12 @@ txt_com db ';',0 txt_sp db ' ',0 txt_tab db 9,0 txt_br db '\',13,9,0 -txt_txt: - db 'txt_',0 -txt_db: - db ' db ',0 -txt_mouse_dd: - db ', mouse_dd, ',0 -txt_times: - db ':',13,9,'times ',0 +txt_txt db 'txt_',0 +txt_db db ' db ',0 +txt_dd db ' dd ',0 +txt_dd_0_0 db 9,'dd 0,0',13,0 +txt_mouse_dd db ', mouse_dd, ',0 +txt_times db ':',13,9,'times ',0 txt_draw_wb: db 13,'align 4',13,'draw_window:',13,'pushad',13,9,'mcall 12,1',13,0 txt_draw_we: @@ -910,8 +999,7 @@ txt_std_key_ed: txt_incl: db 'include ',0 txt_ebox: - db ' edit_box' - .end: db 0 + db ' edit_box',0 txt_editb_draw: db 9,'stdcall [edit_box_draw], ',0 txt_cbox_draw: diff --git a/programs/develop/kol_f_edit/ced_view.asm b/programs/develop/kol_f_edit/ced_view.asm index 9b7550cb8e..bb2d700f44 100644 --- a/programs/develop/kol_f_edit/ced_view.asm +++ b/programs/develop/kol_f_edit/ced_view.asm @@ -19,7 +19,9 @@ include 'strlen.inc' @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load -hed db 'kol_f_edit 11.11.10',0 +hed db 'kol_f_edit 17.11.10',0 + +sizeof.TreeList equ 20 ;need for element 'tree_list' BUF_STRUCT_SIZE equ 21 buf2d_data equ dword[edi] ;данные буфера изображения @@ -34,10 +36,11 @@ buf2d_bits equ byte[edi+20] ; MAX_LEN_OBJ_TXT equ 200 MAX_CED_OBJECTS equ 200 MAX_OPT_FIELDS equ 11 -MAX_OBJ_TYPES equ 16 +MAX_OBJ_TYPES equ 18 WND_CAPT_COLOR equ 0xb0d0ff BUF_SIZE equ 1000 +C_TD equ 't' ;typedef C_AC equ 'a' ;автоматические коды (auto code) C_ST equ 's' ;struct C_IN equ '#' ;include @@ -52,6 +55,8 @@ C_BU equ 'b' ;Button C_DT equ 'x' ;рисовать текст C_RE equ 'r' ;рисовать прямоугольник C_KE equ 'k' ;клавиатура +C_LIB equ 'l' +C_IFN equ 'f' ;modif CPP_MOD_ACM equ 2 ;события мыши @@ -101,16 +106,13 @@ struct FileInfoBlock ends struct object - c db ? - txt rb MAX_LEN_OBJ_TXT - lvl db 0 - clo db 0 - perv dd ? - next dd ? - typid dd ? - tc dd ? - td dd ? - modif dd ? + c db ? ;0 + txt rb MAX_LEN_OBJ_TXT ;1 + lvl db 0 ;1+mt + clo db 0 ;2+mt + rb 8 ;3+mt не используется, отсталось от Win версии + typid dd ? ;3+8+mt + modif dd ? ;7+8+mt ends struct ObjOpt @@ -295,7 +297,7 @@ start: mov [edit1.size],eax mov ecx,eax rep movsb - call but_open + call but_open_proj @@: @@ -334,58 +336,79 @@ pushad mov edx,[sc.work] or edx,0x33000000 mov edi,hed - mcall + int 0x40 - mov eax,8 ;button 'Open' + mov eax,8 ;button 'Open Project' mov esi,0x80ff - mov ebx,230*65536+70 - mov ecx,5*65536+22 + mov ebx,230*65536+18 + mov ecx,5*65536+18 mov edx,5 - mcall + int 0x40 + + ;button 'Save Project' + mov ebx,250*65536+18 + mov ecx,5*65536+18 + mov edx,6 + int 0x40 + stdcall draw_icon, 17,251,6 ;17 - save icon ;button 'Show Constructor' mov ebx,310*65536+18 mov ecx,5*65536+18 mov edx,11 - mcall + int 0x40 stdcall draw_icon, 12,311,6 ;12 - window icon ;button 'Show Code' mov ebx,330*65536+18 mov edx,12 - mcall + int 0x40 stdcall draw_icon, 11,331,6 ;11 - text icon ;button 'Update Code' mov ebx,350*65536+18 mov edx,13 - mcall + int 0x40 ;button 'Save Code' mov ebx,370*65536+18 mov edx,14 - mcall + int 0x40 stdcall draw_icon, 17,371,6 ;17 - save icon ;button ']P' mov ebx,390*65536+18 mov edx,15 - mcall + int 0x40 stdcall draw_icon, 18,391,6 ;18 - знак конца абзаца ;button 'Show color text' mov ebx,410*65536+18 mov edx,16 - mcall + int 0x40 stdcall draw_icon, 19,411,6 + ;button 'Move Up' + mov ebx,160*65536+18 + mov ecx,30*65536+18 + mov edx,21 + int 0x40 + stdcall draw_icon, 23,161,31 ;23 - move up + + ;button 'Move Down' + mov ebx,180*65536+18 + mov ecx,30*65536+18 + mov edx,22 + int 0x40 + stdcall draw_icon, 24,181,31 ;24 - move down + ; 10 30 50 70 90 mov eax,4 ;подпись 'Открыть' - mov ebx,245*65536+13 + mov ebx,232*65536+13 mov ecx,0x80ffff00 mov edx,txtOpen - mcall + int 0x40 cmp [err_opn],1 jne @f @@ -393,7 +416,7 @@ pushad mov ebx,10*65536+35 mov ecx,0x80ff0000 mov edx,txtErrOpen - mcall + int 0x40 @@: cmp [err_ini0],1 @@ -477,7 +500,11 @@ button: mcall 17 cmp ah,5 jne @f - call but_open + call but_open_proj + @@: + cmp ah,6 + jne @f + call but_save_proj @@: cmp ah,10 jne @f @@ -507,6 +534,14 @@ button: jne @f call but_show_syntax @@: + cmp ah,21 + jne @f + call but_obj_move_up + @@: + cmp ah,22 + jne @f + call but_obj_move_down + @@: cmp ah,1 jne still .exit: @@ -526,7 +561,7 @@ button: mcall -1 align 4 -but_open: +but_open_proj: pushad mov eax,70 mov [run_file_70.Function], 0 @@ -579,6 +614,90 @@ but_open: popad ret +;сохранение файла проэкта на диск +align 4 +but_save_proj: + pushad + + mov edi,ced_info + + stdcall [tl_node_poi_get_info], 0,tree2 + pop edx + @@: + cmp edx,0 + je @f + stdcall [tl_node_poi_get_data], edx,tree2 + pop esi ;получаем данные узла + + mov bl,byte[edx+2] ;bl - уровень объекта + mov byte[esi+1+MAX_LEN_OBJ_TXT],bl + + ;вычисляем новый индекс для типа объекта + mov ebx,[esi+3+8+MAX_LEN_OBJ_TXT] ;ebx - тип объекта + ;сохраняем тип объекта + push ebx + imul ebx,sizeof.TreeList + add ebx,[tree2.data_nodes] ;ebx - указатель объект указывающий тип + stdcall get_obj_npp,ebx + mov [esi+3+8+MAX_LEN_OBJ_TXT],eax + mov eax,esi + + ;копируем объект в память для сохранения + xor ecx,ecx + mov cx,word[tree2.info_size] + cld + rep movsb + ;восстанавливаем тип объекта + pop dword[eax+3+8+MAX_LEN_OBJ_TXT] + + stdcall [tl_node_poi_get_next_info], edx,tree2 + pop edx ;переходим к следущему узлу + jmp @b + @@: + mov byte[edi],0 + inc edi + mov ecx,edi + sub ecx,ced_info ;ecx - размер сохраняемого файла + + mov eax,70 + mov [run_file_70.Function], 2 + mov [run_file_70.Position], 0 + mov [run_file_70.Flags], 0 + mov [run_file_70.Count], ecx + mov [run_file_70.Buffer], ced_info + mov [run_file_70.rezerv], 0 + push [edit1.text] + pop [run_file_70.FileName] + mov ebx,run_file_70 + int 0x40 + + popad + ret + +;берет номер по порядку по указателю на структуру объекта +align 4 +proc get_obj_npp, p_obj_str:dword + mov eax,2 + push ebx edx + mov ebx,[p_obj_str] + + stdcall [tl_node_poi_get_info], 0,tree2 + pop edx + @@: + cmp edx,0 + je @f + cmp edx,ebx + je @f + + inc eax + stdcall [tl_node_poi_get_next_info], edx,tree2 + pop edx ;переходим к следущему узлу + jmp @b + @@: + pop edx ebx + ret +endp + ;функция для сохранения созданного asm файла align 4 but_save_asm: @@ -749,14 +868,14 @@ buf_skin3: db 24 ;+20 bit in pixel show_mode db 0 ;режим для показа определенного окна -txtOpen db 'Открыть',0 +txtOpen db 'От',0 txtErrOpen db 'Не найден файл, проверьте правильность имени',0 txtErrIni1 db 'Не открылся файл с опциями',0 err_opn db 0 err_ini0 db 0 ;??? err_ini1 db 0 -edit1 edit_box 210, 10, 10, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7 +edit1 edit_box 210, 10, 5, 0xffffff, 0xff80, 0xff, 0xff0000, 0x4080, 300, ed_text1, mouse_dd, 0, 7, 7 edit2 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text2, mouse_dd, 0 edit3 edit_box 115, 32, 20, 0xffffff, 0x80ff, 0xff, 0x808080, 0, MAX_LEN_OBJ_TXT, ed_text3, mouse_dd, 0 @@ -1125,6 +1244,8 @@ import_box_lib: tl_node_set_data dd sz_tl_node_set_data tl_node_get_data dd sz_tl_node_get_data tl_node_delete dd sz_tl_node_delete + tl_node_move_up dd sz_tl_node_move_up + tl_node_move_down dd sz_tl_node_move_down tl_cur_beg dd sz_tl_cur_beg tl_cur_next dd sz_tl_cur_next tl_cur_perv dd sz_tl_cur_perv @@ -1185,6 +1306,8 @@ dd 0,0 sz_tl_node_set_data db 'tl_node_set_data',0 sz_tl_node_get_data db 'tl_node_get_data',0 sz_tl_node_delete db 'tl_node_delete',0 + sz_tl_node_move_up db 'tl_node_move_up',0 + sz_tl_node_move_down db 'tl_node_move_down',0 sz_tl_cur_beg db 'tl_cur_beg',0 sz_tl_cur_next db 'tl_cur_next',0 sz_tl_cur_perv db 'tl_cur_perv',0 diff --git a/programs/develop/kol_f_edit/ced_wnd_m.inc b/programs/develop/kol_f_edit/ced_wnd_m.inc index 14da7b6086..d6ca42c96a 100644 --- a/programs/develop/kol_f_edit/ced_wnd_m.inc +++ b/programs/develop/kol_f_edit/ced_wnd_m.inc @@ -73,6 +73,16 @@ draw_obj_info: .exit_fun: ret +align 4 +but_obj_move_up: + stdcall [tl_node_move_up], tree2 + ret + +align 4 +but_obj_move_down: + stdcall [tl_node_move_down], tree2 + ret + ;обновление объектов в tree2, по значениям текстовых полей ;функция обратная к данной on_file_object_select align 4 diff --git a/programs/develop/kol_f_edit/icon.bmp b/programs/develop/kol_f_edit/icon.bmp index b5b6659754..d25320a50b 100644 Binary files a/programs/develop/kol_f_edit/icon.bmp and b/programs/develop/kol_f_edit/icon.bmp differ diff --git a/programs/develop/kol_f_edit/min_prog.ced b/programs/develop/kol_f_edit/min_prog.ced index 4a9eb30059..ba2a22eabd 100644 Binary files a/programs/develop/kol_f_edit/min_prog.ced and b/programs/develop/kol_f_edit/min_prog.ced differ diff --git a/programs/develop/kol_f_edit/ob_o.asm b/programs/develop/kol_f_edit/ob_o.asm index 99563dd2a5..81b26a1bd7 100644 --- a/programs/develop/kol_f_edit/ob_o.asm +++ b/programs/develop/kol_f_edit/ob_o.asm @@ -17,6 +17,8 @@ C_BU equ 'b' ;Button C_DT equ 'x' ;рисовать текст C_RE equ 'r' ;рисовать прямоугольник C_KE equ 'k' ;клавиатура +C_LIB equ 'l' +C_IFN equ 'f' macro ObjOpt c,bl_type,graph,info,caption,Col,img { @@ -31,12 +33,18 @@ dw Col dw img } -ObjOpt C_AC, 1,0,'Авто код','',\ - <0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ - <2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> +ObjOpt C_TD, 0,0,'Тип данного','',\ + < 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ + < 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> +ObjOpt C_VR, 0,0,'Переменная','имя переменной*значение по умолчанию*комментарий',\ + <40, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ + < 0, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1> ObjOpt C_ST, 1,0,'Структура','имя структуры*параметры для макроса',\ <40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ < 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> +ObjOpt C_AC, 1,0,'Авто код','',\ + <0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ + <2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> ObjOpt C_BU, 1,1,'Кнопка','идентификатор*отступ слева*отступ сверху*ширина*высота*цвет*имя метки при нажатии',\ <20, 40, 60, 80,100,120, 0, 0, 0, 0, 0>,\ <29, 15, 16, 26, 27, 25, -1, -1, -1, -1,-1> @@ -52,9 +60,6 @@ ObjOpt C_CB, 1,1,' ObjOpt C_TT, 1,0,'asm код','',\ < 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ <11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> -ObjOpt C_VR, 0,0,'Переменная','имя переменной*значение по умолчанию*комментарий',\ - <40, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ - < 0, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1> ObjOpt C_WI, 1,1,'Окно','**отступ слева*отступ сверху*ширина*высота*цвет клиентской области*цвет заголовка (если есть)',\ <98,100,110,120,130,150,170, 0, 0, 0, 0>,\ <12, -1, 15, 16, 26, 27, 25, 25, -1, -1, -1> @@ -62,11 +67,14 @@ ObjOpt C_CO, 1,0,' < 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ < 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> ObjOpt C_IN, 1,0,'Включение файла','имя файла*комментарий',\ - <100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ + <100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ < 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1> -ObjOpt C_TD, 0,0,'Тип данного','',\ - < 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ - < 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> +ObjOpt C_LIB, 1,0,'Импорт библиотеки','имя библ.*сист. дир.*метка импорта*приставка*ошибка не найдена*ошибка не могу открыть',\ + <30, 80,110,120,160, 0, 0, 0, 0, 0, 0>,\ + <20, -1, -1, -1, 4, 4, -1, -1, -1, -1, -1> +ObjOpt C_IFN, 1,0,'Функция из библиотеки','програмное имя функции*импортируемое имя функции',\ + <100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ + <21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> ObjOpt C_DT, 1,1,'Рисование текста','***цвет текста*цвет фона (если есть)',\ <40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\ < 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1> diff --git a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm index d697ccd6b2..8a14a8473b 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm @@ -153,6 +153,7 @@ pop edi esi ecx

уфх: tree1 - ёЄЁєъЄєЁр tree_list; 0 - яючшЎш  єчыр, ё ъюЄюЁюую схЁхЄё  єърчрЄхы№; esi - єърчрЄхы№ эр ёЄЁєъЄєЁє юяшё√тр■∙є■ єчхы.

+

╟рьхўрэшх. ┼ёыш єчхы ё єърчрээ√ь шэфхъёюь эх эрщфхэ, т єърчрЄхых тючтЁр∙рхЄё  0.

tl_node_poi_get_next_info

┴хЁхЄ єърчрЄхы№ эр ёыхфє■∙шщ ¤ыхьхэЄ т Ўхяш, схч єўхЄр юЄъЁ√Єш /чръЁ√Єш  фюўхЁэшї єчыют. ╧ЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш:

@@ -162,6 +163,7 @@ pop edi esi ecx pop esi ;яхЁхїюфшь ъ ёыхфє∙хьє єчыє

уфх: tree1 - ёЄЁєъЄєЁр tree_list; esi - фю т√чютр ЇєэъЎшш єърчрЄхы№ эр ёЄЁєъЄєЁє юяшё√тр■∙є■ єчхы, яюёых т√чютр єърчрЄхы№ эр ёЄЁєъЄєЁє юяшё√тр■∙є■ ёыхфє∙шщ єчхы т Ўхяш.

+

╟рьхўрэшх. ┼ёыш ёыхфє∙шщ єчхы эх эрщфхэ, т єърчрЄхых тючтЁр∙рхЄё  0.

tl_node_poi_get_data

┴хЁхЄ єърчрЄхы№ эр фрээ√х (яюы№чютрЄхы№ёъшх ш яюфяшё№) шч єчыр єърчрээюую т єърчрЄхых. ╧ЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш:

@@ -210,8 +212,17 @@ pop edi esi ecx

tl_get_mem_size

┬√ўшёы хЄ ЁрчьхЁ сыюър ярь Єш (т ъюЄюЁ√щ с√ыш Ёрэ№°х ёюїЁрэхэ√ ¤ыхьхэЄ√). - ▌Єє ЇєэъЎш■ ьюцэю шёяюы№чютрЄ№ яхЁхф ёюїЁрэхэшхь эр фшёъ, фы  яюыєўхэш  Єюўэюую - ЁрчьхЁр ёюїЁрэ хь√ї фрээ√ї.

+ ▌Єє ЇєэъЎш■ ьюцэю шёяюы№чютрЄ№ яхЁхф ёюїЁрэхэшхь эр фшёъ, фы  яюыєўхэш  Єюўэюую ЁрчьхЁр ёюїЁрэ хь√ї фрээ√ї. ╧ЁшьхЁ:

+
	MEM_SIZE equ 5000
+	node_data rb MEM_SIZE
+.........
+	;ёюїЁрэ хь фрээ√х т 'node_data'
+	stdcall dword[tl_save_mem], MEM_SIZE, node_data, 0, tree1
+	pop eax ;ъюф ю°шсъш
+.........
+	;яюыєўрхь ЁрчьхЁ фрээ√ї т 'node_data'
+	stdcall dword[tl_get_mem_size], node_data, tree1
+	pop ecx ;ЁрчьхЁ фрээ√ї, фюыцхэ с√Є№ <= MEM_SIZE

version_tree_list

┬хЁёш  ¤ыхьхэЄр

diff --git a/programs/other/t_edit/t_edit.asm b/programs/other/t_edit/t_edit.asm index 27c275f154..7407fdc5ca 100644 --- a/programs/other/t_edit/t_edit.asm +++ b/programs/other/t_edit/t_edit.asm @@ -530,9 +530,9 @@ end if ;library structures l_libs_start: - lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l0, boxlib_import,err_message_import0, head_f_i0 - lib1 l_libs lib1_name, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l0, msgbox_lib_import, err_message_import1, head_f_i0 - lib2 l_libs lib2_name, sys_path, file_name, system_dir2, err_message_found_lib2, head_f_l0, proclib_import, err_message_import2, head_f_i0 + lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l0, boxlib_import,err_message_import0, head_f_i0 + lib1 l_libs lib1_name, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l0, msgbox_lib_import, err_message_import1, head_f_i0 + lib2 l_libs lib2_name, sys_path, file_name, system_dir2, err_message_found_lib2, head_f_l0, proclib_import, err_message_import2, head_f_i0 load_lib_end: @@ -540,21 +540,22 @@ i_end: rb 1024 align 16 procinfo process_information - thread: rb 1024 + thread: + rb 1024 stacktop: - sys_path: - rb 4096 - file_name: - rb 4096 - file_name_rez: - rb 4096 - plugin_path: - rb 4096 - openfile_path: - rb 4096 - filename_area: - rb 256 - file_info: - rb 40 + sys_path: + rb 4096 + file_name: + rb 4096 + file_name_rez: + rb 4096 + plugin_path: + rb 4096 + openfile_path: + rb 4096 + filename_area: + rb 256 + file_info: + rb 40 mem: