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,'€¢â® ª®¤','',\
<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>¥à¥¬¥­­ ï','¨¬ï ¯¥à¥¬¥­­®©*§­ ç¥­¨¥ ¯® 㬮«ç ­¨î*ª®¬¬¥­â à¨©',\
<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,'<27>¥à¥¬¥­­ ï','¨¬ï ¯¥à¥¬¥­­®©*§­ ç¥­¨¥ ¯® 㬮«ç ­¨î*ª®¬¬¥­â à¨©',\
<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,'<27>¨á®¢ ­¨¥ ⥪áâ ','***梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\
<40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>