From 45c092e796736fffa817b209bbc1d91a23f9d606 Mon Sep 17 00:00:00 2001
From: IgorA
Date: Tue, 16 Nov 2010 23:25:56 +0000
Subject: [PATCH] update 'kol_f_edit'
git-svn-id: svn://kolibrios.org@1705 a494cfbc-eb01-0410-851d-a64ba20cac60
---
programs/develop/kol_f_edit/box_l.ced | Bin 0 -> 1534 bytes
programs/develop/kol_f_edit/ced_code_g.inc | 150 +++++++++++---
programs/develop/kol_f_edit/ced_view.asm | 185 +++++++++++++++---
programs/develop/kol_f_edit/ced_wnd_m.inc | 10 +
programs/develop/kol_f_edit/icon.bmp | Bin 23094 -> 23094 bytes
programs/develop/kol_f_edit/min_prog.ced | Bin 27240 -> 26281 bytes
programs/develop/kol_f_edit/ob_o.asm | 28 ++-
.../trunk/doc/tree_list/info_treelist.htm | 15 +-
programs/other/t_edit/t_edit.asm | 37 ++--
9 files changed, 333 insertions(+), 92 deletions(-)
create mode 100644 programs/develop/kol_f_edit/box_l.ced
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 0000000000000000000000000000000000000000..6c9953d2e52ebe03b326d0deaf988a30bec3ab16
GIT binary patch
literal 1534
zcmcJO-422v6oBbXyyK>2Z^Sflqc9p^Y46ZG=$4z+?4f#+T=^4Ht`=~`;lTOMcQz>W
zS%N6>XUt#1=^UsFx*`>Bopzy`_!yCB!?;9E)!{X#aCv
zj^0g7>9ERoaoAl8xVHmCwJ!VDrXCFb=Tg=hp!}UEG
N+PyF=5dhHDz#S!UWyAmg
literal 0
HcmV?d00001
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 b5b6659754522ec892b5e93196dd4e8c253629e3..d25320a50b2ad5cf67efd06c33da929be57e0025 100644
GIT binary patch
delta 1448
zcmaKqUr1AN6vt-|y$41@J@gVi^dg8sB+=~2DCoU63+XZNp@)J??}1oJ4@E(#6_SQ7
z!wAiVg{7r!SLdc~yK~OX>D1lr-m7lwV?X_IyR*jO$N8P}`JO+&yM9kazo+7DeVw8i
zp%;;smPqs6P@^z>f~8Waux(&C@&^fX`PcE9F_$#1je)bMBqkgp#3kl%P~DukQc(7K
zPj_jQow#R
z77H;18;B`f6CKqU=Twc_0wO6(-{_V(-nCp0)LK_MKzg6v`E@u>#D
zaN>oy%6|s_-yh=q?ymMRP0Nx39NvmTbak{LLb+D=;VQZTF)1MoT8z-@uCEDrdmZK<
z?EX3MdbF=Ss*c>ljjTuoZbadRoW%PTfTM|anm!PS{H%SZ%wN^8(d
zW@^Dmg!5X^(IA*B0YB7s&cO19uK6}s5@s@L#OLx_AQ$$P^GDyU-0)dQ>hAYU#Z%T2
zuoB8gr}cSXHaPAOFxazK9mhPWL${y0Z{1U)abqEvkE*%ZNj)%@Rlk<=M5YqyQ%#B*
zSukQVxv-iGO=JV#H`Fidliq!K#Y$>wBxW%3yiX7P$WDLT@Q=ggH^u)<*CAQ
delta 143
zcmdnCg>l;!#tlw3n;&Q@Fix&>6`K4&g=g{vSN_TJ?!1%dhzU*J=gK#EkFye#=AC>=
zMI0#4v$@8-i*YiirvVZ+oqR<_6eKyh2dqI5NUKcNbLWQ{JjuIs@&l3WK(o1!v>8l}
Mbm!ju&?!_L02Prm0{{R3
diff --git a/programs/develop/kol_f_edit/min_prog.ced b/programs/develop/kol_f_edit/min_prog.ced
index 4a9eb300598b2d33d6a2497130373583e4d75de1..ba2a22eabd3c9d05f7bbb454d69331b2fce87713 100644
GIT binary patch
delta 836
zcmYLIYe>^k6yMCL)0xg`+QXbvbEw-Ce6;1Ga!t+mY-(xQG#?AeXa*uBShz3s!TF;;
zrt~6-Mh}9Zf|BY(5eri!emJ4N2pN$dA}FZ)--HhQxc8oOf4_6i<=oW;`Rsf7@C*ge#~{HxGhr&
zgkvcxfagkLCR)1ZS8o>Hcqt+v*?&%)IH?7~VT%nQZ!-}WN307h#uHD}#D|nt{79I<
zn1*mB64oR}1vQ##tX_4N$gIb?EuM{99+XviwMuj)d+;q;A`_3c5?8lLdjoE7_n~tK
zQISgMb`pv-VpZUsmhhz$!x`~NN^8ctZdB}vwoJm3MWpWHR5tM?dn0%C&{=qE)4bXU
zsdJ4<6jUG(CKV>kV0B{LF2a#g7$Z3D3CLaPO;$=Q@vw+GV
zy~Q=!>s4n4U)3T!r2-0!x#nRmRH43*$S)!^#l%8|1KM;2no7p;sf2j8o0v8e7c7hk
zN*VhGo&9deOLUmp<3n{Rky|G5{a7wn2@MBq6&|5O!FNEl&m%M(_%7CIvjg+{JwnTY
z$CVybS{V`2L_=&gPFoddKQIfWjaU=#R}l}Zi7Pe4$U&l`mME_y((8%v21?T*GZ@{$
z)-sUT=)>Da;$9Om*-W_Y8@(Id11_j-nV7Nbaks?-^C4o~<;Pct3V$8M=T_o%8*!(d
zxOA8}b%bc{APPG}3eL6Pzy65neHAU2ofJ6-1@QCe3YL!%FS>{u$3uN|7kSkhOgrb`
r>L%)X2-687p*Qpe4DKH33y4>|CQ;AuZ`Z9pn1H2<=Hj+{Z2
delta 1570
zcmZ9MUr1AN6vv%yS~fTD=D*Bz%~?xxYim=p<}}mH#Qa;Et*L7c_aGykC>Eh$|0t`=
z@u4875CkEmS0N}RL6AhUsF&`D9ttHGLJcA*(di9g_$ETn>C9b&b^#U6x`R>)!WT7d9a#W1Z?&w
z`YHF3eqEr&9I`#jCAz91GHKP|-@lA{la}oAJfiOcE$FafPx7f^LkGANQDU`$0cfhu
zgNlrTXy=T4BTW2?%vH2=20ew|btp#d?Cuh)&AiIOuN{K=bpa;vxR8<i--yh
zL(lzj#<~qBqcxtEJ
zM2Q22D`*!ebwFDs?LJq=d~b$9zc<(u`QE;rq=~y@R3l@`7<;19vY4}_av|9=QG4HV$^
zxtKm1`g{EFrb-u)!-ypb78|eO#FsZ=@gqIoXvUuZYQ|2iv>;5kB8;^mbeyMgIDP?R
zq&e^`Ot9=k%TznU=tTsVDmE
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.
┴хЁхЄ єърчрЄхы№ эр ёыхфє■∙шщ ¤ыхьхэЄ т Ўхяш, схч єўхЄр юЄъЁ√Єш /чръЁ√Єш фюўхЁэшї єчыют. ╧ЁшьхЁ шёяюы№чютрэш ЇєэъЎшш:
@@ -162,6 +163,7 @@ pop edi esi ecx
pop esi ;яхЁхїюфшь ъ ёыхфє∙хьє єчыє
уфх: tree1 - ёЄЁєъЄєЁр tree_list;
esi - фю т√чютр ЇєэъЎшш єърчрЄхы№ эр ёЄЁєъЄєЁє юяшё√тр■∙є■ єчхы, яюёых т√чютр єърчрЄхы№ эр ёЄЁєъЄєЁє юяшё√тр■∙є■ ёыхфє∙шщ єчхы т Ўхяш.
+╟рьхўрэшх. ┼ёыш ёыхфє∙шщ єчхы эх эрщфхэ, т єърчрЄхых тючтЁр∙рхЄё 0.
┴хЁхЄ єърчрЄхы№ эр фрээ√х (яюы№чютрЄхы№ёъшх ш яюфяшё№) шч єчыр єърчрээюую т єърчрЄхых. ╧ЁшьхЁ шёяюы№чютрэш ЇєэъЎшш:
@@ -210,8 +212,17 @@ pop edi esi ecx
┬√ўшёы хЄ ЁрчьхЁ сыюър ярь Єш (т ъюЄюЁ√щ с√ыш Ёрэ№°х ёюїЁрэхэ√ ¤ыхьхэЄ√).
- ▌Єє ЇєэъЎш■ ьюцэю шёяюы№чютрЄ№ яхЁхф ёюїЁрэхэшхь эр фшёъ, фы яюыєўхэш Єюўэюую
- ЁрчьхЁр ёюїЁрэ хь√ї фрээ√ї.
+ ▌Єє ЇєэъЎш■ ьюцэю шёяюы№чютрЄ№ яхЁхф ёюїЁрэхэшхь эр фшёъ, фы яюыєўхэш Єюўэюую ЁрчьхЁр ёюїЁрэ хь√ї фрээ√ї. ╧ЁшьхЁ:
+ 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
┬хЁёш ¤ыхьхэЄр
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: