Subversion Repositories Kolibri OS

Rev

Rev 6906 | Rev 7488 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6906 Rev 7035
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì ¢á¥¬, ªâ® ¯®¬®£ «: ª®¤®¬/ᮢ¥â®¬/¤¨§ ©­®¬ ...
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì ¢á¥¬, ªâ® ¯®¬®£ «: ª®¤®¬/ᮢ¥â®¬/¤¨§ ©­®¬ ...
2
 
2
 
3
use32
3
use32
4
  org 0
4
  org 0
5
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
5
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
6
  dd 1, start, i_end, mem, stacktop, file_name, sys_path
6
  dd 1, start, i_end, mem, stacktop, file_name, sys_path
7
 
7
 
8
MAX_COLOR_WORD_LEN equ 40
8
MAX_COLOR_WORD_LEN equ 40
9
maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2)
9
maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2)
10
BUF_SIZE equ 4096 ;buffer for copy|paste
10
BUF_SIZE equ 4096 ;buffer for copy|paste
11
maxSyntaxFileSize equ 410000
11
maxSyntaxFileSize equ 410000
12
TOOLBAR_ICONS_SIZE equ 1200*20
12
TOOLBAR_ICONS_SIZE equ 1200*20
13
 
13
 
14
include '../../proc32.inc'
14
include '../../proc32.inc'
15
include '../../macros.inc'
15
include '../../macros.inc'
16
include '../../KOSfuncs.inc'
16
include '../../KOSfuncs.inc'
17
include '../../load_img.inc'
17
include '../../load_img.inc'
18
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
18
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
19
include '../../system/skincfg/trunk/kglobals.inc'
19
include '../../system/skincfg/trunk/kglobals.inc'
20
include '../../system/skincfg/trunk/unpacker.inc'
20
include '../../system/skincfg/trunk/unpacker.inc'
21
include 'lang.inc'
21
include 'lang.inc'
22
 
22
 
23
include 't_data.inc'
23
include 't_data.inc'
24
include 't_menu.inc'
24
include 't_menu.inc'
25
include 'strlen.inc'
25
include 'strlen.inc'
26
include 't_draw.inc' ;draw main window functions
26
include 't_draw.inc' ;draw main window functions
27
include 't_button.inc' ;text work functions
27
include 't_button.inc' ;text work functions
28
include 'wnd_k_words.inc'
28
include 'wnd_k_words.inc'
29
 
29
 
30
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
30
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
31
 
31
 
32
align 4
32
align 4
33
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
33
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
34
run_file_70 FileInfoBlock
34
run_file_70 FileInfoBlock
35
 
35
 
36
align 4
36
align 4
37
start:
37
start:
38
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
38
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
39
 
39
 
40
	mcall SF_SYS_MISC,SSF_HEAP_INIT
40
	mcall SF_SYS_MISC,SSF_HEAP_INIT
41
	or eax,eax
41
	or eax,eax
42
	jz button.exit
42
	jz button.exit
43
 
43
 
44
	mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
44
	mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
45
	mcall SF_SET_EVENTS_MASK,0xC0000027
45
	mcall SF_SET_EVENTS_MASK,0xC0000027
46
 
46
 
47
	mov esi,file_name
47
	mov esi,file_name
48
	call strlen
48
	call strlen
49
	mov ecx,eax
49
	mov ecx,eax
50
	mov edi,openfile_path
50
	mov edi,openfile_path
51
	cld
51
	cld
52
	rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à openfile_path
52
	rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à openfile_path
53
 
53
 
54
load_libraries l_libs_start,load_lib_end
54
load_libraries l_libs_start,load_lib_end
55
 
55
 
56
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
56
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
57
mov	ebp,lib0
57
mov	ebp,lib0
58
.test_lib_open:
58
.test_lib_open:
59
	cmp	dword [ebp+ll_struc_size-4],0
59
	cmp	dword [ebp+ll_struc_size-4],0
60
	jz	@f
60
	jz	@f
61
	mcall SF_TERMINATE_PROCESS ;exit not correct
61
	mcall SF_TERMINATE_PROCESS ;exit not correct
62
@@:
62
@@:
63
	add ebp,ll_struc_size
63
	add ebp,ll_struc_size
64
	cmp ebp,load_lib_end
64
	cmp ebp,load_lib_end
65
	jl .test_lib_open
65
	jl .test_lib_open
66
 
66
 
67
;---------------------------------------------------------------------
67
;---------------------------------------------------------------------
68
	stdcall [ted_init], tedit0
68
	stdcall [ted_init], tedit0
69
	stdcall dword[tl_data_init], tree1
69
	stdcall dword[tl_data_init], tree1
70
 
70
 
71
; OpenDialog initialisation
71
; OpenDialog initialisation
72
	stdcall [OpenDialog_Init],OpenDialog_data
72
	stdcall [OpenDialog_Init],OpenDialog_data
73
 
73
 
74
; kmenu initialisation	
74
; kmenu initialisation	
75
	stdcall [kmenu_init], sc
75
	stdcall [kmenu_init], sc
76
	
76
	
77
	stdcall [ksubmenu_new]
77
	stdcall [ksubmenu_new]
78
	mov [main_menu], eax
78
	mov [main_menu], eax
79
	
79
	
80
	stdcall [ksubmenu_new]
80
	stdcall [ksubmenu_new]
81
	mov [main_menu_file], eax
81
	mov [main_menu_file], eax
82
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, 3
82
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, 3
83
	stdcall [ksubmenu_add], [main_menu_file], eax
83
	stdcall [ksubmenu_add], [main_menu_file], eax
84
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Open, 4
84
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Open, 4
85
	stdcall [ksubmenu_add], [main_menu_file], eax
85
	stdcall [ksubmenu_add], [main_menu_file], eax
86
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save, 5
86
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save, 5
87
	stdcall [ksubmenu_add], [main_menu_file], eax
87
	stdcall [ksubmenu_add], [main_menu_file], eax
88
	stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
88
	stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
89
	stdcall [ksubmenu_add], [main_menu_file], eax
89
	stdcall [ksubmenu_add], [main_menu_file], eax
90
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Exit, 199
90
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Exit, 199
91
	stdcall [ksubmenu_add], [main_menu_file], eax	
91
	stdcall [ksubmenu_add], [main_menu_file], eax	
92
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_File, [main_menu_file]
92
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_File, [main_menu_file]
93
	stdcall [ksubmenu_add], [main_menu], eax
93
	stdcall [ksubmenu_add], [main_menu], eax
94
 
94
 
95
	stdcall [ksubmenu_new]
95
	stdcall [ksubmenu_new]
96
	mov [main_menu_changes], eax
96
	mov [main_menu_changes], eax
97
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Undo, 16
97
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Undo, 16
98
	stdcall [ksubmenu_add], [main_menu_changes], eax
98
	stdcall [ksubmenu_add], [main_menu_changes], eax
99
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Redo, 17
99
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Redo, 17
100
	stdcall [ksubmenu_add], [main_menu_changes], eax
100
	stdcall [ksubmenu_add], [main_menu_changes], eax
101
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Changes, [main_menu_changes]
101
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Changes, [main_menu_changes]
102
	stdcall [ksubmenu_add], [main_menu], eax
102
	stdcall [ksubmenu_add], [main_menu], eax
103
	
103
	
104
	stdcall [ksubmenu_new]
104
	stdcall [ksubmenu_new]
105
	mov [main_menu_buf], eax
105
	mov [main_menu_buf], eax
106
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Cut, 7
106
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Cut, 7
107
	stdcall [ksubmenu_add], [main_menu_buf], eax
107
	stdcall [ksubmenu_add], [main_menu_buf], eax
108
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Copy, 8
108
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Copy, 8
109
	stdcall [ksubmenu_add], [main_menu_buf], eax
109
	stdcall [ksubmenu_add], [main_menu_buf], eax
110
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Paste, 9
110
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Paste, 9
111
	stdcall [ksubmenu_add], [main_menu_buf], eax	
111
	stdcall [ksubmenu_add], [main_menu_buf], eax	
112
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Buf, [main_menu_buf]
112
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Buf, [main_menu_buf]
113
	stdcall [ksubmenu_add], [main_menu], eax
113
	stdcall [ksubmenu_add], [main_menu], eax
114
 
114
 
115
	stdcall [ksubmenu_new]
115
	stdcall [ksubmenu_new]
116
	mov [main_menu_search], eax
116
	mov [main_menu_search], eax
117
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Text, 10
117
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Text, 10
118
	stdcall [ksubmenu_add], [main_menu_search], eax
118
	stdcall [ksubmenu_add], [main_menu_search], eax
119
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Keywords, 12
119
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Keywords, 12
120
	stdcall [ksubmenu_add], [main_menu_search], eax
120
	stdcall [ksubmenu_add], [main_menu_search], eax
121
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Search, [main_menu_search]
121
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Search, [main_menu_search]
122
	stdcall [ksubmenu_add], [main_menu], eax
122
	stdcall [ksubmenu_add], [main_menu], eax
123
 
123
 
124
	stdcall [ksubmenu_new]
124
	stdcall [ksubmenu_new]
125
	mov [main_menu_view], eax
125
	mov [main_menu_view], eax
126
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_UseSyntax, 19
126
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_UseSyntax, 19
127
	stdcall [ksubmenu_add], [main_menu_view], eax
127
	stdcall [ksubmenu_add], [main_menu_view], eax
128
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_ChooseSyntax, 20
128
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_ChooseSyntax, 20
129
	stdcall [ksubmenu_add], [main_menu_view], eax
129
	stdcall [ksubmenu_add], [main_menu_view], eax
130
	stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
130
	stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
131
	stdcall [ksubmenu_add], [main_menu_view], eax
131
	stdcall [ksubmenu_add], [main_menu_view], eax
132
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_LineBreak, 18
132
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_LineBreak, 18
133
	stdcall [ksubmenu_add], [main_menu_view], eax	
133
	stdcall [ksubmenu_add], [main_menu_view], eax	
134
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
134
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
135
	stdcall [ksubmenu_add], [main_menu], eax
135
	stdcall [ksubmenu_add], [main_menu], eax
136
 
136
 
137
	stdcall [ksubmenu_new]
137
	stdcall [ksubmenu_new]
138
	mov [main_menu_encoding], eax
138
	mov [main_menu_encoding], eax
139
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_1251to866, 21
139
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_1251to866, 21
140
	stdcall [ksubmenu_add], [main_menu_encoding], eax
140
	stdcall [ksubmenu_add], [main_menu_encoding], eax
141
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_866to1251, 22
141
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_866to1251, 22
142
	stdcall [ksubmenu_add], [main_menu_encoding], eax	
142
	stdcall [ksubmenu_add], [main_menu_encoding], eax	
143
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Encoding, [main_menu_encoding]
143
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Encoding, [main_menu_encoding]
144
	stdcall [ksubmenu_add], [main_menu], eax
144
	stdcall [ksubmenu_add], [main_menu], eax
145
	
145
	
146
; init toolbar file
146
; init toolbar file
147
	include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª
147
	include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª
148
	mov eax,[bmp_icon]
148
	mov eax,[bmp_icon]
149
	add eax,TOOLBAR_ICONS_SIZE
149
	add eax,TOOLBAR_ICONS_SIZE
150
	stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
150
	stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
151
;---------------------------------------------------------------------
151
;---------------------------------------------------------------------
152
; ¢­¥¤à塞 ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
152
; ¢­¥¤à塞 ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
153
	include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
153
	include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
154
	mov eax,dword[icon_tl_sys]
154
	mov eax,dword[icon_tl_sys]
155
	mov dword[tree1.data_img_sys],eax
155
	mov dword[tree1.data_img_sys],eax
156
;---------------------------------------------------------------------
156
;---------------------------------------------------------------------
157
; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢
157
; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢
158
	include_image_file 'tl_nod_16.png', icon_tl_sys
158
	include_image_file 'tl_nod_16.png', icon_tl_sys
159
	mov eax,dword[icon_tl_sys]
159
	mov eax,dword[icon_tl_sys]
160
	mov dword[tree1.data_img],eax
160
	mov dword[tree1.data_img],eax
161
;------------------------------------------------------------------------------
161
;------------------------------------------------------------------------------
162
	copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
162
	copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
163
	mcall SF_FILE,tree_file_struct
163
	mcall SF_FILE,tree_file_struct
164
 
164
 
165
	cmp ebx,-1
165
	cmp ebx,-1
166
	je .end_dir_init
166
	je .end_dir_init
167
		mov eax,dir_mem
167
		mov eax,dir_mem
168
		add eax,32+4+1+3+4*6+8
168
		add eax,32+4+1+3+4*6+8
169
		mov ecx,ebx
169
		mov ecx,ebx
170
		@@:
170
		@@:
171
			cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
171
			cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
172
			je .filter
172
			je .filter
173
			;0x10000 ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
173
			;0x10000 ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
174
			stdcall dword[tl_node_add], tree1,0x10000,eax 
174
			stdcall dword[tl_node_add], tree1,0x10000,eax 
175
			stdcall dword[tl_cur_next], tree1
175
			stdcall dword[tl_cur_next], tree1
176
			.filter:
176
			.filter:
177
			add eax,304
177
			add eax,304
178
			loop @b
178
			loop @b
179
		stdcall dword[tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
179
		stdcall dword[tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
180
	.end_dir_init:
180
	.end_dir_init:
181
 
181
 
182
;--- load ini file ---
182
;--- load ini file ---
183
	copy_path ini_name,sys_path,file_name,0
183
	copy_path ini_name,sys_path,file_name,0
184
	;window startup pozition
184
	;window startup pozition
185
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
185
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
186
	mov word[wnd_s_pos+2],ax
186
	mov word[wnd_s_pos+2],ax
187
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
187
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
188
	mov word[wnd_s_pos],ax
188
	mov word[wnd_s_pos],ax
189
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
189
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
190
	mov word[wnd_s_pos+6],ax
190
	mov word[wnd_s_pos+6],ax
191
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
191
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
192
	mov word[wnd_s_pos+4],ax
192
	mov word[wnd_s_pos+4],ax
193
	;scrool type
193
	;scrool type
194
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
194
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
195
	mov [wScr.type],eax
195
	mov [wScr.type],eax
196
	mov [hScr.type],eax
196
	mov [hScr.type],eax
197
	mov [ws_dir_lbox.type],eax
197
	mov [ws_dir_lbox.type],eax
198
    mov [w_scr_t3.type],eax
198
    mov [w_scr_t3.type],eax
199
	;symbol size
199
	;symbol size
200
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
200
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
201
	mov dword[tedit0.rec.width],eax
201
	mov dword[tedit0.rec.width],eax
202
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
202
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
203
	mov dword[tedit0.rec.height],eax
203
	mov dword[tedit0.rec.height],eax
204
	;lea eax,[eax+eax*2]
204
	;lea eax,[eax+eax*2]
205
	;mov dword[tedit0.rec.top],eax
205
	;mov dword[tedit0.rec.top],eax
206
	;font size
206
	;font size
207
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
207
	stdcall dword[ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
208
	shl eax,24
208
	shl eax,24
209
	mov dword[tedit0.font_size],eax
209
	mov dword[tedit0.font_size],eax
210
	;ä ©«®¢ë¥ à áè¨à¥­¨ï
210
	;ä ©«®¢ë¥ à áè¨à¥­¨ï
211
	xor edx,edx
211
	xor edx,edx
212
	mov ebx,synt_auto_open
212
	mov ebx,synt_auto_open
213
	@@:
213
	@@:
214
		;¡¥à¥¬ ¨¬ï ä ©« 
214
		;¡¥à¥¬ ¨¬ï ä ©« 
215
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
215
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
216
		cmp byte[ebx],0
216
		cmp byte[ebx],0
217
		je @f
217
		je @f
218
		inc byte[key_synt_file.numb]
218
		inc byte[key_synt_file.numb]
219
		add ebx,32
219
		add ebx,32
220
		;¡¥à¥¬ à áè¨à¥­¨ï
220
		;¡¥à¥¬ à áè¨à¥­¨ï
221
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
221
		stdcall dword[ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
222
		inc byte[key_synt_ext.numb]
222
		inc byte[key_synt_ext.numb]
223
		add ebx,32
223
		add ebx,32
224
		inc edx
224
		inc edx
225
		cmp edx,max_synt_auto_open
225
		cmp edx,max_synt_auto_open
226
		jl @b
226
		jl @b
227
	@@:
227
	@@:
228
 
228
 
229
;--- load color option file ---
229
;--- load color option file ---
230
	stdcall open_unpac_synt_file,[fn_col_option]
230
	stdcall open_unpac_synt_file,[fn_col_option]
231
 
231
 
232
;--- get cmd line ---
232
;--- get cmd line ---
233
	cmp byte[openfile_path+3],0 ;openfile_path
233
	cmp byte[openfile_path+3],0 ;openfile_path
234
	je @f ;if file names exist
234
	je @f ;if file names exist
235
		mov esi,openfile_path
235
		mov esi,openfile_path
236
		stdcall auto_open_syntax,esi
236
		stdcall auto_open_syntax,esi
237
		call strlen ;eax=strlen
237
		call strlen ;eax=strlen
238
		call but_no_msg_OpenFile
238
		call but_no_msg_OpenFile
239
	@@:
239
	@@:
240
 
240
 
241
 
241
 
242
 
242
 
243
align 16
243
align 16
244
red_win:
244
red_win:
245
	call draw_window
245
	call draw_window
246
 
246
 
247
align 16
247
align 16
248
still:
248
still:
249
	mcall SF_WAIT_EVENT
249
	mcall SF_WAIT_EVENT
250
	cmp dword[exit_code],1
250
	cmp dword[exit_code],1
251
	je button.exit
251
	je button.exit
252
 
252
 
253
	cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
253
	cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
254
	jz red_win
254
	jz red_win
255
	cmp al,2
255
	cmp al,2
256
	jz key
256
	jz key
257
	cmp al,3
257
	cmp al,3
258
	jz button
258
	jz button
259
	cmp al,6 ;¬ëèì
259
	cmp al,6 ;¬ëèì
260
	jne @f
260
	jne @f
261
		jmp mouse
261
		jmp mouse
262
	@@:
262
	@@:
263
	jmp still
263
	jmp still
264
 
264
 
265
align 16
265
align 16
266
draw_window:
266
draw_window:
267
	mcall SF_REDRAW,SSF_BEGIN_DRAW
267
	mcall SF_REDRAW,SSF_BEGIN_DRAW
268
 
268
 
269
	mov edx,[sc.work]
269
	mov edx,[sc.work]
270
	or  edx,0x73000000
270
	or  edx,0x73000000
271
	mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,hed
271
	mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,hed
272
 
272
 
273
	mcall SF_THREAD_INFO,procinfo,-1
273
	mcall SF_THREAD_INFO,procinfo,-1
274
	mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
274
	mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
275
	call EvSize
275
	call EvSize
276
 
276
 
277
	movzx ebx,word[procinfo.client_box.width]
277
	movzx ebx,word[procinfo.client_box.width]
278
	inc bx
278
	inc bx
279
	mcall SF_DRAW_RECT,,ted_wnd_t ;¢¥àå­¨© ¯àאַ㣮«ì­¨ª, ¤«ï ®ç¨á⪨ ¢¥àå­¥© ¯ ­¥«¨
279
	mcall SF_DRAW_RECT,,ted_wnd_t ;¢¥àå­¨© ¯àאַ㣮«ì­¨ª, ¤«ï ®ç¨á⪨ ¢¥àå­¥© ¯ ­¥«¨
280
	call draw_but_toolbar
280
	call draw_but_toolbar
281
	stdcall [kmainmenu_draw], [main_menu]
281
	stdcall [kmainmenu_draw], [main_menu]
282
	stdcall [ted_draw], tedit0
282
	stdcall [ted_draw], tedit0
283
 
283
 
284
	mcall SF_REDRAW,SSF_END_DRAW
284
	mcall SF_REDRAW,SSF_END_DRAW
285
	ret
285
	ret
286
 
286
 
287
align 16
287
align 16
288
mouse:
288
mouse:
289
	stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
289
	stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
290
 
290
 
291
	mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
291
	mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
292
	cmp word[tedit0.wnd.top],ax
292
	cmp word[tedit0.wnd.top],ax
293
	jg .no_edit
293
	jg .no_edit
294
	shr eax,16
294
	shr eax,16
295
	cmp word[tedit0.wnd.left],ax
295
	cmp word[tedit0.wnd.left],ax
296
	jg .no_edit
296
	jg .no_edit
297
	mcall SF_MOUSE_GET,SSF_BUTTON_EXT
297
	mcall SF_MOUSE_GET,SSF_BUTTON_EXT
298
	bt eax,24 ;¤¢®©­®© 饫çñª «¥¢®© ª­®¯ª®©
298
	bt eax,24 ;¤¢®©­®© 饫çñª «¥¢®© ª­®¯ª®©
299
	jnc @f
299
	jnc @f
300
		stdcall [ted_but_select_word], tedit0
300
		stdcall [ted_but_select_word], tedit0
301
		jmp still
301
		jmp still
302
	@@:
302
	@@:
303
		stdcall [ted_mouse], tedit0
303
		stdcall [ted_mouse], tedit0
304
	.no_edit:
304
	.no_edit:
305
 
305
 
306
	cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
306
	cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
307
	jne @f
307
	jne @f
308
		stdcall [edit_box_mouse], edit2
308
		stdcall [edit_box_mouse], edit2
309
	@@:
309
	@@:
310
	cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
310
	cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
311
	jne @f
311
	jne @f
312
		stdcall [tl_mouse], tree1
312
		stdcall [tl_mouse], tree1
313
	@@:
313
	@@:
314
	jmp still
314
	jmp still
315
;---------------------------------------------------------------------
315
;---------------------------------------------------------------------
316
 
316
 
317
;output:
317
;output:
318
; ah = symbol
318
; ah = symbol
319
align 16
319
align 16
320
proc KeyConvertToASCII uses ebx, table:dword
320
proc KeyConvertToASCII uses ebx, table:dword
321
	mov ebx,dword[table] ;convert scan to ascii
321
	mov ebx,dword[table] ;convert scan to ascii
322
	ror ax,8
322
	ror ax,8
323
	xor ah,ah
323
	xor ah,ah
324
	add bx,ax
324
	add bx,ax
325
	mov ah,byte[ebx]
325
	mov ah,byte[ebx]
326
	ret
326
	ret
327
endp
327
endp
328
 
328
 
329
align 16
329
align 16
330
key:
330
key:
331
	mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
331
	mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
332
	xor esi,esi
332
	xor esi,esi
333
	mov ecx,1
333
	mov ecx,1
334
	test al,0x03 ;[Shift]
334
	test al,0x03 ;[Shift]
335
	jz @f
335
	jz @f
336
		mov cl,2
336
		mov cl,2
337
		or esi,KM_SHIFT
337
		or esi,KM_SHIFT
338
	@@:
338
	@@:
339
	test al,0x0c ;[Ctrl]
339
	test al,0x0c ;[Ctrl]
340
	jz @f
340
	jz @f
341
		or esi,KM_CTRL
341
		or esi,KM_CTRL
342
	@@:
342
	@@:
343
	test al,0x30 ;[Alt]
343
	test al,0x30 ;[Alt]
344
	jz @f
344
	jz @f
345
		mov cl,3
345
		mov cl,3
346
		or esi,KM_ALT
346
		or esi,KM_ALT
347
	@@:
347
	@@:
348
	test al,0x80 ;[NumLock]
348
	test al,0x80 ;[NumLock]
349
	jz @f
349
	jz @f
350
		or esi,KM_NUMLOCK
350
		or esi,KM_NUMLOCK
351
	@@:
351
	@@:
352
 
352
 
353
	mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
353
	mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
354
	mcall SF_GET_KEY
354
	mcall SF_GET_KEY
355
	stdcall [tl_key], tree1
355
	stdcall [tl_key], tree1
356
 
356
 
357
	test word [edit2.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
357
	test word [edit2.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
358
	je @f
358
	je @f
359
		cmp ah,0x80 ;if key up
359
		cmp ah,0x80 ;if key up
360
		ja still
360
		ja still
361
		cmp ah,42 ;[Shift] (left)
361
		cmp ah,42 ;[Shift] (left)
362
		je still
362
		je still
363
		cmp ah,54 ;[Shift] (right)
363
		cmp ah,54 ;[Shift] (right)
364
		je still
364
		je still
365
		cmp ah,56 ;[Alt]
365
		cmp ah,56 ;[Alt]
366
		je still
366
		je still
367
		cmp ah,29 ;[Ctrl]
367
		cmp ah,29 ;[Ctrl]
368
		je still
368
		je still
369
		cmp ah,69 ;[Pause Break]
369
		cmp ah,69 ;[Pause Break]
370
		je still
370
		je still
371
 
371
 
372
		stdcall KeyConvertToASCII, dword conv_tabl
372
		stdcall KeyConvertToASCII, dword conv_tabl
373
		stdcall [edit_box_key], dword edit2
373
		stdcall [edit_box_key], dword edit2
374
		jmp still
374
		jmp still
375
	@@:
375
	@@:
376
 
376
 
377
	stdcall [ted_key], tedit0, conv_tabl,esi
377
	stdcall [ted_key], tedit0, conv_tabl,esi
378
	jmp still
378
	jmp still
379
 
379
 
380
align 16
380
align 16
381
button:
381
button:
382
	mcall SF_GET_BUTTON
382
	mcall SF_GET_BUTTON
383
	cmp ah,3
383
	cmp ah,3
384
	jne @f
384
	jne @f
385
		call ted_but_new_file
385
		call ted_but_new_file
386
		jmp still
386
		jmp still
387
	@@:
387
	@@:
388
	cmp ah,4
388
	cmp ah,4
389
	jne @f
389
	jne @f
390
		call ted_but_open_file
390
		call ted_but_open_file
391
		jmp still
391
		jmp still
392
	@@:
392
	@@:
393
	cmp ah,5
393
	cmp ah,5
394
	jne @f
394
	jne @f
395
		call ted_but_save_file
395
		call ted_but_save_file
396
		jmp still
396
		jmp still
397
	@@:
397
	@@:
398
	cmp ah,6
398
	cmp ah,6
399
	jne @f
399
	jne @f
400
		stdcall [ted_but_select_word], tedit0
400
		stdcall [ted_but_select_word], tedit0
401
		jmp still
401
		jmp still
402
	@@:
402
	@@:
403
	cmp ah,7
403
	cmp ah,7
404
	jne @f
404
	jne @f
405
		stdcall [ted_but_cut], tedit0
405
		stdcall [ted_but_cut], tedit0
406
		jmp still
406
		jmp still
407
	@@:
407
	@@:
408
	cmp ah,8
408
	cmp ah,8
409
	jne @f
409
	jne @f
410
		stdcall [ted_but_copy], tedit0
410
		stdcall [ted_but_copy], tedit0
411
		jmp still
411
		jmp still
412
	@@:
412
	@@:
413
	cmp ah,9
413
	cmp ah,9
414
	jne @f
414
	jne @f
415
		stdcall [ted_but_paste], tedit0
415
		stdcall [ted_but_paste], tedit0
416
		jmp still
416
		jmp still
417
	@@:
417
	@@:
418
	cmp ah,10
418
	cmp ah,10
419
	jne @f
419
	jne @f
420
		call ted_but_find
420
		call ted_but_find
421
		jmp still
421
		jmp still
422
	@@:
422
	@@:
423
	cmp ah,11
423
	cmp ah,11
424
	jne @f
424
	jne @f
425
		call but_replace
425
		call but_replace
426
		jmp still
426
		jmp still
427
	@@:
427
	@@:
428
	cmp ah,12
428
	cmp ah,12
429
	jne @f
429
	jne @f
430
		call but_find_key_w
430
		call but_find_key_w
431
		jmp still
431
		jmp still
432
	@@:
432
	@@:
433
	cmp ah,13
433
	cmp ah,13
434
	jne @f
434
	jne @f
435
		stdcall [ted_but_sumb_upper], tedit0
435
		stdcall [ted_but_sumb_upper], tedit0
436
		jmp still
436
		jmp still
437
	@@:
437
	@@:
438
	cmp ah,14
438
	cmp ah,14
439
	jne @f
439
	jne @f
440
		stdcall [ted_but_sumb_lover], tedit0
440
		stdcall [ted_but_sumb_lover], tedit0
441
		jmp still
441
		jmp still
442
	@@:
442
	@@:
443
	cmp ah,15
443
	cmp ah,15
444
	jne @f
444
	jne @f
445
		stdcall [ted_but_reverse], tedit0
445
		stdcall [ted_but_reverse], tedit0
446
		jmp still
446
		jmp still
447
	@@:
447
	@@:
448
	cmp ah,16
448
	cmp ah,16
449
	jne @f
449
	jne @f
450
		stdcall [ted_but_undo], tedit0
450
		stdcall [ted_but_undo], tedit0
451
		jmp still
451
		jmp still
452
	@@:
452
	@@:
453
	cmp ah,17
453
	cmp ah,17
454
	jne @f
454
	jne @f
455
		stdcall [ted_but_redo], tedit0
455
		stdcall [ted_but_redo], tedit0
456
		jmp still
456
		jmp still
457
	@@:
457
	@@:
458
	cmp ah,18
458
	cmp ah,18
459
	jne @f
459
	jne @f
460
		stdcall but_sumb_invis, tedit0
460
		stdcall but_sumb_invis, tedit0
461
		jmp still
461
		jmp still
462
	@@:
462
	@@:
463
	cmp ah,19
463
	cmp ah,19
464
	jne @f
464
	jne @f
465
		stdcall but_k_words_show, tedit0
465
		stdcall but_k_words_show, tedit0
466
		jmp still
466
		jmp still
467
	@@:
467
	@@:
468
	cmp ah,20
468
	cmp ah,20
469
	jne @f
469
	jne @f
470
		stdcall but_synt_show, tedit0
470
		stdcall but_synt_show, tedit0
471
		jmp still
471
		jmp still
472
	@@:
472
	@@:
473
	cmp ah,21
473
	cmp ah,21
474
	jne @f
474
	jne @f
475
		stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
475
		stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
476
		jmp still
476
		jmp still
477
	@@:
477
	@@:
478
	cmp ah,22
478
	cmp ah,22
479
	jne @f
479
	jne @f
480
		stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
480
		stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
481
		jmp still
481
		jmp still
482
	@@:
482
	@@:
483
 
483
 
484
	cmp ah,200
484
	cmp ah,200
485
	jne @f
485
	jne @f
486
		stdcall ted_but_open_syntax, tedit0
486
		stdcall ted_but_open_syntax, tedit0
487
		jmp still
487
		jmp still
488
	@@:
488
	@@:
489
	cmp ah,201
489
	cmp ah,201
490
	jne @f
490
	jne @f
491
		stdcall [ted_but_find_next], tedit0
491
		stdcall [ted_but_find_next], tedit0
492
		jmp still
492
		jmp still
493
	@@:
493
	@@:
494
 
494
 
495
	cmp ah,1
495
	cmp ah,1
496
	je .exit
496
	je .exit
497
 
497
 
498
	cmp ah,199
498
	cmp ah,199
499
	je .exit
499
	je .exit
500
  
500
  
501
	jmp still
501
	jmp still
502
.exit:
502
.exit:
-
 
503
	cmp dword[wnd_k_words_run],0
-
 
504
	je @f
-
 
505
		push ebx ecx
-
 
506
		mcall SF_SYSTEM, SSF_TERMINATE_THREAD_ID,[wnd_k_words_run]
-
 
507
		pop ecx ebx
-
 
508
		test eax,eax
-
 
509
		jnz still
-
 
510
	@@:
503
	cmp dword[exit_code],1
511
	cmp dword[exit_code],1
504
	je @f
512
	je @f
505
	stdcall [ted_can_save], tedit0
513
	stdcall [ted_can_save], tedit0
506
	cmp al,1
514
	cmp al,1
507
	jne @f
515
	jne @f
508
		stdcall [mb_create],msgbox_2,thread ;message: save buf in file?
516
		stdcall [mb_create],msgbox_2,thread ;message: save buf in file?
509
		stdcall [mb_setfunctions],msgbox_2E_funct
517
		stdcall [mb_setfunctions],msgbox_2E_funct
510
		jmp still
518
		jmp still
511
	@@:
519
	@@:
512
	stdcall mem.Free,[bmp_icon]
520
	stdcall mem.Free,[bmp_icon]
513
	cmp dword[unpac_mem],0
521
	cmp dword[unpac_mem],0
514
	je @f
522
	je @f
515
		stdcall mem.Free,[unpac_mem]
523
		stdcall mem.Free,[unpac_mem]
516
	@@:
524
	@@:
517
 
525
 
518
	stdcall [ted_delete], tedit0
526
	stdcall [ted_delete], tedit0
519
	stdcall [tl_data_clear], tree1
527
	stdcall [tl_data_clear], tree1
520
	mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë
528
	mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë
521
 
529
 
522
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
530
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
523
 
531
 
524
unpac_mem dd 0
532
unpac_mem dd 0
525
 
533
 
526
if lang eq ru
534
if lang eq ru
527
  head_f_i:
535
  head_f_i:
528
  head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
536
  head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
529
  err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
537
  err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
530
  err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib.obj',39,0
538
  err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib.obj',39,0
531
  err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'msgbox.obj',39,0
539
  err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'msgbox.obj',39,0
532
  err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'msgbox.obj',39,0
540
  err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'msgbox.obj',39,0
533
  err_message_found_lib2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
541
  err_message_found_lib2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
534
  err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
542
  err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
535
  err_message_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
543
  err_message_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
536
  err_message_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
544
  err_message_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
537
  err_message_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
545
  err_message_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
538
  err_message_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini.obj',39,0
546
  err_message_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini.obj',39,0
539
  err_message_found_lib_5 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libkmenu.obj',39,0
547
  err_message_found_lib_5 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libkmenu.obj',39,0
540
  err_message_import_5 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libkmenu.obj',39,0
548
  err_message_import_5 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libkmenu.obj',39,0
541
else
549
else
542
  head_f_i:
550
  head_f_i:
543
  head_f_l db 'System error',0
551
  head_f_l db 'System error',0
544
  err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
552
  err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
545
  err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
553
  err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
546
  err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
554
  err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
547
  err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
555
  err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
548
  err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
556
  err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
549
  err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
557
  err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
550
  err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
558
  err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
551
  err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
559
  err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
552
  err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
560
  err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
553
  err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
561
  err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
554
  err_message_found_lib_5 db 'Sorry I cannot found library ',39,'libkmenu.obj',39,0
562
  err_message_found_lib_5 db 'Sorry I cannot found library ',39,'libkmenu.obj',39,0
555
  err_message_import_5 db 'Error on load import library ',39,'libkmenu.obj',39,0
563
  err_message_import_5 db 'Error on load import library ',39,'libkmenu.obj',39,0
556
end if
564
end if
557
 
565
 
558
;library structures
566
;library structures
559
l_libs_start:
567
l_libs_start:
560
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
568
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
561
		err_message_found_lib0, head_f_l, import_box_lib,err_message_import0, head_f_i
569
		err_message_found_lib0, head_f_l, import_box_lib,err_message_import0, head_f_i
562
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
570
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
563
		err_message_found_lib1, head_f_l, import_msgbox_lib, err_message_import1, head_f_i
571
		err_message_found_lib1, head_f_l, import_msgbox_lib, err_message_import1, head_f_i
564
	lib2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\
572
	lib2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\
565
		err_message_found_lib2, head_f_l, import_proclib, err_message_import2, head_f_i
573
		err_message_found_lib2, head_f_l, import_proclib, err_message_import2, head_f_i
566
	lib3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\
574
	lib3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\
567
		err_message_found_lib_3, head_f_l, import_libimg, err_message_import_3, head_f_i
575
		err_message_found_lib_3, head_f_l, import_libimg, err_message_import_3, head_f_i
568
	lib4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
576
	lib4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
569
		err_message_found_lib_4, head_f_l, import_libini, err_message_import_4, head_f_i
577
		err_message_found_lib_4, head_f_l, import_libini, err_message_import_4, head_f_i
570
	lib5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\
578
	lib5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\
571
		err_message_found_lib_5, head_f_l, import_libkmenu, err_message_import_5, head_f_i
579
		err_message_found_lib_5, head_f_l, import_libkmenu, err_message_import_5, head_f_i
572
load_lib_end:
580
load_lib_end:
573
 
581
 
574
IncludeIGlobals
582
IncludeIGlobals
575
hed db 'TextEdit '
583
hed db 'TextEdit '
576
i_end:
584
i_end:
577
	openfile_path: ;¯®«­ë© ¯ãâì ª ä ©«ã á ª®â®àë¬ ¨¤¥â à ¡®â 
585
	openfile_path: ;¯®«­ë© ¯ãâì ª ä ©«ã á ª®â®àë¬ ¨¤¥â à ¡®â 
578
		rb 4096
586
		rb 4096
579
	dir_mem rb 32+304*count_of_dir_list_files
587
	dir_mem rb 32+304*count_of_dir_list_files
580
	wnd_s_pos: ;¬¥áâ® ¤«ï ­ áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª­ 
588
	wnd_s_pos: ;¬¥áâ® ¤«ï ­ áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª­ 
581
		rq 1
589
		rq 1
582
	last_open_synt_file rb 32 ;¨¬ï ¯®á«¥¤­¥£® ¯®¤ª«î祭­®£® ä ©«  ᨭ⠪á¨á 
590
	last_open_synt_file rb 32 ;¨¬ï ¯®á«¥¤­¥£® ¯®¤ª«î祭­®£® ä ©«  ᨭ⠪á¨á 
583
	buf rb BUF_SIZE ;¡ãä¥à ¤«ï ª®¯¨à®¢ ­¨ï ¨ ¢áâ ¢ª¨
591
	buf rb BUF_SIZE ;¡ãä¥à ¤«ï ª®¯¨à®¢ ­¨ï ¨ ¢áâ ¢ª¨
584
	buf_find rb 302 ;¡ãä¥à ¤«ï ¯®¨áª  ⥪áâ 
592
	buf_find rb 302 ;¡ãä¥à ¤«ï ¯®¨áª  ⥪áâ 
585
	sc system_colors
593
	sc system_colors
586
IncludeUGlobals
594
IncludeUGlobals
587
	align 16
595
	align 16
588
	procinfo process_information
596
	procinfo process_information
589
		rb 1024
597
		rb 1024
590
	thread:
598
	thread:
591
		rb 4096
599
		rb 4096
592
align 16
600
align 16
593
    thread_coords:
601
    thread_coords:
594
	rb 4096
602
	rb 4096
595
align 16
603
align 16
596
stacktop:
604
stacktop:
597
	sys_path: ;¯ãâì ®âªã¤  § ¯ãá⨫áï ¨á¯®«­ï¥¬ë© ä ©«
605
	sys_path: ;¯ãâì ®âªã¤  § ¯ãá⨫áï ¨á¯®«­ï¥¬ë© ä ©«
598
		rb 4096
606
		rb 4096
599
	file_name: ;¯ à ¬¥âàë § ¯ã᪠
607
	file_name: ;¯ à ¬¥âàë § ¯ã᪠
600
		rb 4096
608
		rb 4096
601
	syntax_path: ;¨¬ï ¯®¤ª«îç ¥¬®£® ä ©«  ᨭ⠪á¨á 
609
	syntax_path: ;¨¬ï ¯®¤ª«îç ¥¬®£® ä ©«  ᨭ⠪á¨á 
602
		rb 4096
610
		rb 4096
603
	plugin_path:
611
	plugin_path:
604
		rb 4096
612
		rb 4096
605
	text_work_area: ;¯ãâì ª ä ©«ã, ª®â®àë© ¯®ª §ë¢ ¥âáï ¢ ®ª­¥
613
	text_work_area: ;¯ãâì ª ä ©«ã, ª®â®àë© ¯®ª §ë¢ ¥âáï ¢ ®ª­¥
606
		rb 4096
614
		rb 4096
607
	filename_area: ;¨¬ï ä ©«  ¤«ï ¤¨ «®£  ®âªàëâ¨ï/§ ªàëâ¨ï
615
	filename_area: ;¨¬ï ä ©«  ¤«ï ¤¨ «®£  ®âªàëâ¨ï/§ ªàëâ¨ï
608
		rb 256
616
		rb 256
609
	file_info:
617
	file_info:
610
		rb 40
618
		rb 40
611
mem:
619
mem: