Subversion Repositories Kolibri OS

Rev

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

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