update 'kol_f_edit'

git-svn-id: svn://kolibrios.org@1705 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2010-11-16 23:25:56 +00:00
parent b416c6fac4
commit 45c092e796
9 changed files with 333 additions and 92 deletions

Binary file not shown.

View File

@ -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:

View File

@ -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 '<27>¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0
txtErrIni1 db '<27>¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',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

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -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,'€Άβ® <20>®¤','',\
<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,'<27>¥ΰ¥¬¥­­ ο','¨¬ο ―¥ΰ¥¬¥­­®©*§­ η¥­¨¥ ―® 㬮«η ­¨ξ*<2A>®¬¬¥­β ΰ¨©',\
<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,'€Άβ® <20>®¤','',\
<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,'<27>¥ΰ¥¬¥­­ ο','¨¬ο ―¥ΰ¥¬¥­­®©*§­ η¥­¨¥ ―® 㬮«η ­¨ξ*<2A>®¬¬¥­β ΰ¨©',\
<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>
@ -64,9 +69,12 @@ ObjOpt C_CO, 1,0,'
ObjOpt C_IN, 1,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,'<27>¬―®ΰβ ΅¨΅«¨®β¥<CEB2>¨','¨¬ο ΅¨΅«.*α¨αβ. ¤¨ΰ.*¬¥β<C2A5>  ¨¬―®ΰβ *―ΰ¨αβ Ά<C2A0> *®θ¨΅<C2A8>  ­¥ ­ ©¤¥­ *®θ¨΅<C2A8>  ­¥ ¬®£γ ®β<C2AE>ΰλβμ',\
<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,'”γ­<CEB3>ζ¨ο ¨§ ΅¨΅«¨®β¥<CEB2>¨','―ணࠬ­®¥ ¨¬ο δγ­<CEB3>樨*¨¬―®ΰβ¨ΰ㥬®¥ ¨¬ο δγ­<CEB3>樨',\
<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,'<27>¨á®¢ ­¨¥ ⥪áâ ','***梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\
<40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>

View File

@ -153,6 +153,7 @@ pop edi esi ecx</pre>
<p>где: <b>tree1</b> - структура tree_list;
<b>0</b> - позиция узла, с которого берется указатель;
<b>esi</b> - указатель на структуру описывающую узел.</p>
<p><b>Замечание.</b> Если узел с указанным индексом не найден, в указателе возвращается 0.</p>
<h2><a name="fun_poi_gni">tl_node_poi_get_next_info</a></h2>
<p>Берет указатель на следующий элемент в цепи, без учета открытия/закрытия дочерних узлов. Пример использования функции:</p>
@ -162,6 +163,7 @@ pop edi esi ecx</pre>
pop esi ;переходим к следущему узлу</pre>
<p>где: <b>tree1</b> - структура tree_list;
<b>esi</b> - до вызова функции указатель на структуру описывающую узел, после вызова указатель на структуру описывающую следущий узел в цепи.</p>
<p><b>Замечание.</b> Если следущий узел не найден, в указателе возвращается 0.</p>
<h2><a name="fun_poi_gd">tl_node_poi_get_data</a></h2>
<p>Берет указатель на данные (пользовательские и подпись) из узла указанного в указателе. Пример использования функции:</p>
@ -210,8 +212,17 @@ pop edi esi ecx</pre>
<h2><a name="fun_gme">tl_get_mem_size</a></h2>
<p>Вычисляет размер блока памяти (в который были раньше сохранены элементы).
Эту функцию можно использовать перед сохранением на диск, для получения точного
размера сохраняемых данных.</p>
Эту функцию можно использовать перед сохранением на диск, для получения точного размера сохраняемых данных. Пример:</p>
<pre> 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 ;размер данных, должен быть &lt;= MEM_SIZE</pre>
<h2><a name="version">version_tree_list</a></h2>
<p>Версия элемента</p>

View File

@ -540,6 +540,7 @@ i_end:
rb 1024
align 16
procinfo process_information
rb 1024
thread:
rb 1024
stacktop: