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