2010-05-17 20:49:58 +04:00
|
|
|
|
struct FileInfoBlock
|
|
|
|
|
Function dd ?
|
|
|
|
|
Position dd ?
|
|
|
|
|
Flags dd ?
|
|
|
|
|
Count dd ?
|
|
|
|
|
Buffer dd ?
|
|
|
|
|
db ?
|
|
|
|
|
FileName dd ?
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ends
|
|
|
|
|
|
|
|
|
|
struct symbol
|
2011-08-26 18:09:59 +04:00
|
|
|
|
c db ? ; +0 ᨬ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
col db ? ; +1 梥<EFBFBD>
|
|
|
|
|
perv dd ? ; +2
|
|
|
|
|
next dd ? ; +6 㪠<EFBFBD><EFBFBD>⥫<EFBFBD>
|
|
|
|
|
tc dd ? ;+10 <EFBFBD>६. ᮧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
td dd ? ;+14 <EFBFBD>६. 㤠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ends
|
|
|
|
|
|
|
|
|
|
sc system_colors
|
|
|
|
|
|
|
|
|
|
bmp_icon dd 0
|
2010-05-17 20:49:58 +04:00
|
|
|
|
run_file_70 FileInfoBlock
|
2010-04-29 22:27:40 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;input:
|
|
|
|
|
; al = <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>訡<EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
ted_on_init_synt_err:
|
2012-07-10 15:05:50 +04:00
|
|
|
|
mov byte[msgbox_3.err],'0'
|
|
|
|
|
add byte[msgbox_3.err],al
|
2010-04-29 22:27:40 +04:00
|
|
|
|
stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file!
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
ted_but_new_file:
|
2014-07-02 20:45:48 +04:00
|
|
|
|
push eax ebx
|
|
|
|
|
stdcall [ted_can_save], tedit0
|
|
|
|
|
cmp al,1
|
|
|
|
|
jne @f
|
|
|
|
|
stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
|
|
|
|
|
stdcall [mb_setfunctions],msgbox_2N_funct
|
|
|
|
|
jmp .ret_f
|
|
|
|
|
@@:
|
|
|
|
|
call On_NewFile
|
|
|
|
|
.ret_f:
|
2015-08-02 02:45:41 +03:00
|
|
|
|
mov byte[openfile_path],0
|
|
|
|
|
mcall 71,1,hed
|
2014-07-02 20:45:48 +04:00
|
|
|
|
pop ebx eax
|
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2009-12-29 02:19:20 +03:00
|
|
|
|
On_NewFile:
|
2014-07-02 20:45:48 +04:00
|
|
|
|
stdcall [ted_clear], tedit0,1
|
|
|
|
|
call draw_but_toolbar
|
|
|
|
|
stdcall [ted_draw], tedit0
|
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2009-12-29 02:19:20 +03:00
|
|
|
|
On_SaveAndNewFile:
|
2014-07-02 20:45:48 +04:00
|
|
|
|
push edi
|
|
|
|
|
mov edi, tedit0
|
2010-04-22 23:39:39 +04:00
|
|
|
|
|
2014-07-02 20:45:48 +04:00
|
|
|
|
call ted_but_save_file
|
|
|
|
|
cmp ted_err_save,0
|
|
|
|
|
jne @f
|
|
|
|
|
call On_NewFile
|
|
|
|
|
@@:
|
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
On_SaveAndOpenFile:
|
|
|
|
|
push edi
|
|
|
|
|
mov edi, tedit0
|
|
|
|
|
|
|
|
|
|
call ted_but_save_file
|
|
|
|
|
cmp ted_err_save,0
|
|
|
|
|
jne @f
|
|
|
|
|
call ted_but_open_file.no_msg
|
|
|
|
|
@@:
|
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
On_SaveAndExit:
|
|
|
|
|
push edi
|
|
|
|
|
mov edi, tedit0
|
|
|
|
|
|
|
|
|
|
call ted_but_save_file
|
|
|
|
|
cmp ted_err_save,0
|
|
|
|
|
jne @f
|
|
|
|
|
mov dword[exit_code],1
|
|
|
|
|
@@:
|
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
On_Exit:
|
|
|
|
|
mov dword[exit_code],1
|
|
|
|
|
ret
|
2010-04-22 23:39:39 +04:00
|
|
|
|
|
2010-04-29 22:27:40 +04:00
|
|
|
|
;description:
|
2011-08-22 19:58:27 +04:00
|
|
|
|
; <EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ<EFBFBD>饭<EFBFBD><EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-29 22:27:40 +04:00
|
|
|
|
but_no_msg_OpenFile:
|
|
|
|
|
push eax ebx
|
2013-11-28 14:35:07 +04:00
|
|
|
|
stdcall [ted_open_file], tedit0,run_file_70,openfile_path
|
2010-04-29 22:27:40 +04:00
|
|
|
|
call ted_messages_after_open_file
|
|
|
|
|
pop ebx eax
|
|
|
|
|
ret
|
2010-04-22 23:39:39 +04:00
|
|
|
|
|
2010-04-29 22:27:40 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ<EFBFBD>饭<EFBFBD><EFBFBD> (<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⬥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥)
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ted_but_open_file:
|
2010-05-27 18:46:37 +04:00
|
|
|
|
pushad
|
|
|
|
|
|
2010-04-29 22:27:40 +04:00
|
|
|
|
stdcall [ted_can_save], tedit0
|
|
|
|
|
cmp al,1
|
|
|
|
|
jne @f
|
2014-07-02 20:45:48 +04:00
|
|
|
|
stdcall [mb_create],msgbox_2,thread ;message: save changes in file?
|
|
|
|
|
stdcall [mb_setfunctions],msgbox_2O_funct
|
2010-04-29 22:27:40 +04:00
|
|
|
|
jmp .ret_f
|
2013-03-12 16:51:52 +04:00
|
|
|
|
.no_msg: ;<EFBFBD><EFBFBD>⪠ <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>맮<EFBFBD><EFBFBD> <EFBFBD>㭪樨 <EFBFBD><EFBFBD>१ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ᮮ<EFBFBD>饭<EFBFBD><EFBFBD> msgbox_5
|
|
|
|
|
pushad
|
2010-04-29 22:27:40 +04:00
|
|
|
|
@@:
|
2010-05-27 18:46:37 +04:00
|
|
|
|
|
2010-05-27 19:30:32 +04:00
|
|
|
|
copy_path open_dialog_name,communication_area_default_path,file_name,0
|
2010-05-27 18:46:37 +04:00
|
|
|
|
mov [OpenDialog_data.type],0
|
2010-08-25 13:12:42 +04:00
|
|
|
|
stdcall [OpenDialog_Start],OpenDialog_data
|
2010-05-27 18:46:37 +04:00
|
|
|
|
cmp [OpenDialog_data.status],2
|
|
|
|
|
jne @f
|
2010-05-27 19:30:32 +04:00
|
|
|
|
stdcall mem_spac, msgbox_9.fdp,100
|
|
|
|
|
mov esi,file_name
|
|
|
|
|
call strlen
|
|
|
|
|
cmp eax,100
|
|
|
|
|
jle .no_crop
|
|
|
|
|
mov eax,100
|
|
|
|
|
.no_crop:
|
|
|
|
|
stdcall mem_copy, esi,msgbox_9.fdp,eax
|
2010-05-27 18:46:37 +04:00
|
|
|
|
stdcall [mb_create],msgbox_9,thread ;message: error run 'open file dialog'
|
|
|
|
|
jmp .ret_f
|
|
|
|
|
@@:
|
2012-06-22 15:36:29 +04:00
|
|
|
|
cmp [OpenDialog_data.status],1
|
2012-04-19 18:29:46 +04:00
|
|
|
|
jne .ret_f
|
2012-07-10 15:05:50 +04:00
|
|
|
|
|
|
|
|
|
;<EFBFBD>饬 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 䠩<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD>⮢<EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
2013-11-28 14:35:07 +04:00
|
|
|
|
mov esi,[OpenDialog_data.openfile_path]
|
|
|
|
|
call strlen
|
|
|
|
|
mov edx,openfile_path
|
2012-07-10 15:05:50 +04:00
|
|
|
|
add edx,eax
|
|
|
|
|
.f_beg:
|
|
|
|
|
cmp byte[edx],'.'
|
|
|
|
|
je .found
|
|
|
|
|
dec edx
|
2013-11-28 14:35:07 +04:00
|
|
|
|
cmp edx,openfile_path
|
2012-07-10 15:05:50 +04:00
|
|
|
|
jg .f_beg
|
|
|
|
|
.found:
|
|
|
|
|
inc edx ;edx - 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> 䠩<EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
mov ebx,synt_auto_open
|
|
|
|
|
.cycle_0:
|
|
|
|
|
add ebx,32
|
|
|
|
|
stdcall strcmp,ebx,edx ;<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD>ﬨ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>묨 <EFBFBD> ini 䠩<EFBFBD><EFBFBD>
|
|
|
|
|
test eax,eax
|
|
|
|
|
jz .ok
|
|
|
|
|
add ebx,32
|
|
|
|
|
cmp byte[ebx],0
|
|
|
|
|
jne .cycle_0
|
|
|
|
|
jmp .end_0
|
|
|
|
|
.ok: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥ 䠩<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><EFBFBD>
|
|
|
|
|
sub ebx,32
|
|
|
|
|
;mov ecx,ebx
|
|
|
|
|
;mcall 71,1
|
|
|
|
|
call open_unpac_synt_file
|
|
|
|
|
.end_0:
|
|
|
|
|
|
2013-11-28 14:35:07 +04:00
|
|
|
|
stdcall [ted_open_file], tedit0,run_file_70,openfile_path
|
2012-06-22 15:36:29 +04:00
|
|
|
|
call ted_messages_after_open_file
|
2012-07-10 15:05:50 +04:00
|
|
|
|
|
2010-04-29 22:27:40 +04:00
|
|
|
|
.ret_f:
|
2010-05-27 18:46:37 +04:00
|
|
|
|
popad
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2013-11-28 14:35:07 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>맮<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
proc ted_but_save_file
|
|
|
|
|
;*** <EFBFBD>맮<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
|
|
|
|
copy_path open_dialog_name,communication_area_default_path,file_name,0
|
|
|
|
|
mov [OpenDialog_data.type],1
|
|
|
|
|
stdcall [OpenDialog_Start],OpenDialog_data
|
|
|
|
|
cmp [OpenDialog_data.status],1 ;if status==1 then save
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-05-27 19:30:32 +04:00
|
|
|
|
align 4
|
|
|
|
|
proc mem_copy, source:dword, destination:dword, len:dword
|
|
|
|
|
push ecx esi edi
|
|
|
|
|
cld
|
|
|
|
|
mov esi, dword[source]
|
|
|
|
|
mov edi, dword[destination]
|
|
|
|
|
mov ecx, dword[len]
|
|
|
|
|
rep movsb
|
|
|
|
|
pop edi esi ecx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-05-27 19:30:32 +04:00
|
|
|
|
align 4
|
|
|
|
|
proc mem_spac, mem:dword, len:dword
|
|
|
|
|
push eax ecx edi
|
|
|
|
|
cld
|
|
|
|
|
mov al,' '
|
|
|
|
|
mov edi, dword[mem]
|
|
|
|
|
mov ecx, dword[len]
|
|
|
|
|
repne stosb
|
|
|
|
|
pop edi ecx eax
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
2009-12-29 02:19:20 +03:00
|
|
|
|
;input:
|
2010-04-29 22:27:40 +04:00
|
|
|
|
; eax = <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>訡<EFBFBD><EFBFBD>
|
|
|
|
|
; ebx = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ted_messages_after_open_file:
|
2012-07-05 16:56:32 +04:00
|
|
|
|
push ecx edi
|
2010-04-29 22:27:40 +04:00
|
|
|
|
cmp eax,0
|
|
|
|
|
je @f
|
|
|
|
|
cmp eax,6
|
|
|
|
|
je @f
|
|
|
|
|
cmp ax,10
|
|
|
|
|
jl .zifra_0_9
|
|
|
|
|
mov al,'?'
|
|
|
|
|
sub ax,48
|
|
|
|
|
.zifra_0_9:
|
|
|
|
|
add ax,48
|
|
|
|
|
|
|
|
|
|
mov byte[msgbox_4.err],al
|
|
|
|
|
stdcall [mb_create],msgbox_4,thread ;message: Can-t open text file!
|
|
|
|
|
jmp .ret_f
|
|
|
|
|
@@:
|
|
|
|
|
cmp ebx,-1
|
|
|
|
|
je .ret_f
|
|
|
|
|
;if open file
|
2012-07-05 16:56:32 +04:00
|
|
|
|
mov edi,tedit0
|
2010-04-29 22:27:40 +04:00
|
|
|
|
mov ecx,ted_max_chars
|
|
|
|
|
sub ecx,2 ;ecx = <EFBFBD><EFBFBD><EFBFBD>ᨬ<EFBFBD><EFBFBD>쭮<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>뫠 <EFBFBD>뤥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp ebx,ecx
|
|
|
|
|
jl .ret_f
|
|
|
|
|
stdcall [mb_create],msgbox_1,thread
|
|
|
|
|
.ret_f:
|
2012-07-05 16:56:32 +04:00
|
|
|
|
pop edi ecx
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2010-04-29 22:27:40 +04:00
|
|
|
|
align 4
|
|
|
|
|
ted_save_err_msg:
|
|
|
|
|
mov byte[msgbox_6.err],al
|
|
|
|
|
stdcall [mb_create],msgbox_6,thread ;message: Can-t save text file!
|
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [<EFBFBD>ਬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2012-05-31 20:49:37 +04:00
|
|
|
|
proc ted_but_open_syntax uses eax ebx ecx edi, edit:dword
|
|
|
|
|
mov edi,dword[edit]
|
|
|
|
|
cmp ted_panel_id,TED_PANEL_SYNTAX
|
|
|
|
|
jne @f
|
|
|
|
|
stdcall dword[tl_node_get_data], tree1
|
2015-11-11 02:11:17 +03:00
|
|
|
|
mov [fn_col_option],eax
|
|
|
|
|
mov ebx,eax
|
2012-06-01 01:54:13 +04:00
|
|
|
|
call open_unpac_synt_file
|
|
|
|
|
cmp ebx,-1
|
|
|
|
|
je @f
|
|
|
|
|
|
2012-05-31 20:49:37 +04:00
|
|
|
|
call [ted_text_colored]
|
|
|
|
|
stdcall [ted_draw],edi
|
|
|
|
|
@@:
|
|
|
|
|
ret
|
2010-04-22 23:39:39 +04:00
|
|
|
|
endp
|
|
|
|
|
|
2012-06-01 01:54:13 +04:00
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥ <EFBFBD> <EFBFBD><EFBFBD>ᯠ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᢥ⪨ ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2012-07-10 15:05:50 +04:00
|
|
|
|
;input:
|
|
|
|
|
; ebx - 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> info)
|
2012-06-01 01:54:13 +04:00
|
|
|
|
;output:
|
|
|
|
|
; ebx - <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
2012-07-10 15:05:50 +04:00
|
|
|
|
; ecx - ࠧ<EFBFBD><EFBFBD>蠥<EFBFBD><EFBFBD><EFBFBD>
|
2012-06-01 01:54:13 +04:00
|
|
|
|
align 4
|
|
|
|
|
open_unpac_synt_file:
|
|
|
|
|
push eax edi esi
|
2012-07-10 15:05:50 +04:00
|
|
|
|
mov edi,last_open_synt_file
|
|
|
|
|
stdcall strcmp,ebx,edi ;<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> ࠭<EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
test eax,eax
|
|
|
|
|
jz @f
|
|
|
|
|
|
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><EFBFBD>)
|
|
|
|
|
mov esi,ebx
|
|
|
|
|
mov ecx,32
|
|
|
|
|
cld
|
|
|
|
|
rep movsb
|
|
|
|
|
|
2013-11-28 14:35:07 +04:00
|
|
|
|
copy_path ebx,fn_syntax_dir,syntax_path,0
|
|
|
|
|
copy_path syntax_path,sys_path,file_name,0
|
2012-06-01 01:54:13 +04:00
|
|
|
|
mov edi, tedit0
|
|
|
|
|
mov [run_file_70.Function], 0
|
|
|
|
|
mov [run_file_70.Position], 0
|
|
|
|
|
mov [run_file_70.Flags], 0
|
|
|
|
|
mov ecx, ted_syntax_file_size
|
|
|
|
|
mov dword[run_file_70.Count], ecx
|
|
|
|
|
m2m dword[run_file_70.Buffer], ted_syntax_file
|
|
|
|
|
mov byte[run_file_70+20], 0
|
|
|
|
|
mov [run_file_70.FileName], file_name
|
|
|
|
|
mcall 70, run_file_70
|
|
|
|
|
cmp ebx,-1
|
|
|
|
|
jne .end_0
|
|
|
|
|
call ted_on_init_synt_err
|
|
|
|
|
jmp @f
|
|
|
|
|
.end_0:
|
|
|
|
|
mov eax,ted_syntax_file
|
|
|
|
|
cmp dword[eax],'KPCK'
|
|
|
|
|
jne .end_unpack
|
|
|
|
|
cmp dword[eax+4],ecx
|
|
|
|
|
jg @f ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᯠ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 墠⠥<EFBFBD> <EFBFBD>뤥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp dword[unpac_mem],0
|
|
|
|
|
jne .end_1
|
|
|
|
|
;<EFBFBD>뤥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᯠ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
|
|
|
|
stdcall mem.Alloc,ecx
|
|
|
|
|
mov [unpac_mem],eax
|
|
|
|
|
.end_1:
|
|
|
|
|
stdcall unpack,ted_syntax_file,[unpac_mem]
|
|
|
|
|
mov edi,ted_syntax_file
|
|
|
|
|
mov esi,[unpac_mem]
|
|
|
|
|
mov ecx,[edi+4]
|
|
|
|
|
cld
|
|
|
|
|
rep movsb
|
|
|
|
|
.end_unpack:
|
|
|
|
|
stdcall [ted_init_syntax_file], tedit0
|
|
|
|
|
@@:
|
|
|
|
|
pop esi edi eax
|
|
|
|
|
ret
|
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>맮<EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>᪠
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2013-11-28 14:35:07 +04:00
|
|
|
|
proc ted_but_find uses edi
|
|
|
|
|
mov edi,tedit0
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2013-11-28 14:35:07 +04:00
|
|
|
|
cmp ted_panel_id,TED_PANEL_NULL
|
|
|
|
|
je @f
|
|
|
|
|
mov ted_panel_id,TED_PANEL_NULL
|
|
|
|
|
mov ted_wnd_l,0
|
|
|
|
|
jmp .e_if
|
|
|
|
|
@@:
|
|
|
|
|
mov ted_panel_id,TED_PANEL_FIND
|
|
|
|
|
mov ted_wnd_l,TED_PANEL_WIDTH
|
|
|
|
|
.e_if:
|
|
|
|
|
call EvSize
|
|
|
|
|
stdcall [ted_draw],edi
|
|
|
|
|
ret
|
2010-04-15 19:50:49 +04:00
|
|
|
|
endp
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2013-11-28 14:35:07 +04:00
|
|
|
|
align 4
|
|
|
|
|
tbl_1251_866:
|
|
|
|
|
rb 128
|
|
|
|
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0 ;128
|
|
|
|
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0 ;144
|
|
|
|
|
db 0, 0, 0, 0, 0, 0, 0, 0,240,0,0,0,0,0,0,0 ;160
|
|
|
|
|
db 0, 0, 0, 0, 0, 0, 0, 0,241,0,0,0,0,0,0,0 ;176
|
|
|
|
|
db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143 ;192
|
|
|
|
|
db 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159 ;208
|
|
|
|
|
db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 ;224
|
|
|
|
|
db 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239 ;240
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
tbl_866_1251:
|
|
|
|
|
rb 128
|
|
|
|
|
db 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207 ;128
|
|
|
|
|
db 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223 ;144
|
|
|
|
|
db 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239 ;160
|
|
|
|
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;176
|
|
|
|
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;192
|
|
|
|
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;208
|
|
|
|
|
db 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 ;224
|
|
|
|
|
db 168,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;240
|
|
|
|
|
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-29 22:27:40 +04:00
|
|
|
|
ted_on_find_err:
|
|
|
|
|
stdcall [mb_create],msgbox_7,thread ;message: Can not find text
|
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-29 22:27:40 +04:00
|
|
|
|
but_replace:
|
2011-08-22 19:58:27 +04:00
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ᤥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ret
|
2009-12-29 02:19:20 +03:00
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>᪠ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ଠ樨 <EFBFBD> ᯨ᪥ <EFBFBD><EFBFBD><EFBFBD>祢<EFBFBD><EFBFBD> <EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-29 22:27:40 +04:00
|
|
|
|
but_find_key_w:
|
2013-02-15 01:09:13 +04:00
|
|
|
|
cmp byte[wnd_k_words_run],0
|
|
|
|
|
jne @f
|
|
|
|
|
pushad
|
|
|
|
|
mcall 51,1,prop_start,thread_coords
|
|
|
|
|
popad
|
|
|
|
|
@@:
|
2011-08-22 19:58:27 +04:00
|
|
|
|
ret
|
2010-04-22 23:39:39 +04:00
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>뤥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠥<EFBFBD><EFBFBD><EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
|
|
|
|
proc but_sumb_invis, edit:dword
|
|
|
|
|
push edi
|
|
|
|
|
mov edi,dword[edit]
|
|
|
|
|
|
|
|
|
|
xor ted_mode_invis,1
|
2009-12-29 02:19:20 +03:00
|
|
|
|
call draw_but_toolbar
|
2010-04-29 22:27:40 +04:00
|
|
|
|
stdcall [ted_draw],edi
|
2010-04-22 23:39:39 +04:00
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>뤥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥ <EFBFBD><EFBFBD><EFBFBD>祢<EFBFBD><EFBFBD> <EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
|
|
|
|
proc but_k_words_show, edit:dword
|
|
|
|
|
push edi
|
|
|
|
|
mov edi,dword[edit]
|
|
|
|
|
|
|
|
|
|
xor ted_mode_color,1
|
|
|
|
|
cmp ted_mode_color,0
|
|
|
|
|
je @f
|
2010-04-29 22:27:40 +04:00
|
|
|
|
call [ted_text_colored]
|
2010-04-22 23:39:39 +04:00
|
|
|
|
@@:
|
|
|
|
|
call draw_but_toolbar
|
2010-04-29 22:27:40 +04:00
|
|
|
|
stdcall [ted_draw],edi
|
2010-04-22 23:39:39 +04:00
|
|
|
|
pop edi
|
2009-12-29 02:19:20 +03:00
|
|
|
|
ret
|
2010-04-22 23:39:39 +04:00
|
|
|
|
endp
|
|
|
|
|
|
2011-08-22 19:58:27 +04:00
|
|
|
|
;description:
|
|
|
|
|
; <EFBFBD>맮<EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 䠩<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2010-04-22 23:39:39 +04:00
|
|
|
|
align 4
|
2010-04-15 19:50:49 +04:00
|
|
|
|
proc but_synt_show, edit:dword
|
|
|
|
|
push edi
|
|
|
|
|
mov edi,[edit]
|
|
|
|
|
|
2010-04-29 22:27:40 +04:00
|
|
|
|
cmp ted_panel_id,TED_PANEL_NULL
|
2009-12-29 02:19:20 +03:00
|
|
|
|
je @f
|
2010-04-29 22:27:40 +04:00
|
|
|
|
mov ted_panel_id,TED_PANEL_NULL
|
2010-04-15 19:50:49 +04:00
|
|
|
|
mov ted_wnd_l,0
|
2009-12-29 02:19:20 +03:00
|
|
|
|
jmp .e_if
|
|
|
|
|
@@:
|
2010-04-29 22:27:40 +04:00
|
|
|
|
mov ted_panel_id,TED_PANEL_SYNTAX
|
|
|
|
|
mov ted_wnd_l,TED_PANEL_WIDTH
|
2009-12-29 02:19:20 +03:00
|
|
|
|
.e_if:
|
2011-08-26 18:09:59 +04:00
|
|
|
|
call EvSize
|
2010-04-29 22:27:40 +04:00
|
|
|
|
stdcall [ted_draw],edi
|
2010-04-22 23:39:39 +04:00
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
endp
|