forked from KolibriOS/kolibrios
programs 't_edit' and 'planet_v' now use 'OpenDialog'
git-svn-id: svn://kolibrios.org@1467 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
18f7c161ab
commit
a5e9346baa
@ -19,6 +19,8 @@ include 'dll.inc'
|
|||||||
|
|
||||||
include '../../develop/libraries/box_lib/load_lib.mac'
|
include '../../develop/libraries/box_lib/load_lib.mac'
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
|
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
|
||||||
|
use_OpenDialog
|
||||||
|
|
||||||
min_window_w equ 485 ;¬¨¨¬ «ì ï è¨à¨ ®ª
|
min_window_w equ 485 ;¬¨¨¬ «ì ï è¨à¨ ®ª
|
||||||
min_window_h equ 325 ;¬¨¨¬ «ì ï ¢ëá®â ®ª
|
min_window_h equ 325 ;¬¨¨¬ «ì ï ¢ëá®â ®ª
|
||||||
@ -109,19 +111,16 @@ start:
|
|||||||
stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
|
stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
|
||||||
|
|
||||||
; init bmp file
|
; init bmp file
|
||||||
push dword RGB_TILE_SIZE+300 ;300 - § Ї блҐ Ў ©вл б гзҐв®¬ § Ј®«®ўЄ bmp д ©«
|
stdcall mem.Alloc, dword RGB_TILE_SIZE+300 ;300 - § ¯ áë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª bmp ä ©«
|
||||||
call mem.Alloc
|
|
||||||
mov [bmp_icon],eax
|
mov [bmp_icon],eax
|
||||||
|
|
||||||
stdcall array_tile_function, tile_00,max_tiles_count,tile_init
|
stdcall array_tile_function, tile_00,max_tiles_count,tile_init
|
||||||
stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols
|
stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols
|
||||||
|
|
||||||
push dword TREE_ICON_SYS16_BMP_SIZE
|
stdcall mem.Alloc, dword TREE_ICON_SYS16_BMP_SIZE
|
||||||
call mem.Alloc
|
|
||||||
mov [tree_sys_icon],eax
|
mov [tree_sys_icon],eax
|
||||||
|
|
||||||
push dword TREE_ICON_NOD16_BMP_SIZE
|
stdcall mem.Alloc, dword TREE_ICON_NOD16_BMP_SIZE
|
||||||
call mem.Alloc
|
|
||||||
mov [tree_nod_icon],eax
|
mov [tree_nod_icon],eax
|
||||||
|
|
||||||
copy_path fn_icon1,sys_path,file_name,0x0
|
copy_path fn_icon1,sys_path,file_name,0x0
|
||||||
@ -173,10 +172,15 @@ start:
|
|||||||
|
|
||||||
mov byte[file_name],0
|
mov byte[file_name],0
|
||||||
|
|
||||||
|
; OpenDialog initialisation
|
||||||
|
init_OpenDialog OpenDialog_data
|
||||||
|
|
||||||
|
align 4
|
||||||
red_win:
|
red_win:
|
||||||
call draw_win
|
call draw_window
|
||||||
call but_MetLoad
|
call but_MetLoad
|
||||||
|
|
||||||
|
align 4
|
||||||
still:
|
still:
|
||||||
mov eax,10
|
mov eax,10
|
||||||
mcall
|
mcall
|
||||||
@ -201,6 +205,7 @@ still:
|
|||||||
|
|
||||||
jmp still
|
jmp still
|
||||||
|
|
||||||
|
align 4
|
||||||
key:
|
key:
|
||||||
push eax ebx
|
push eax ebx
|
||||||
mcall 2
|
mcall 2
|
||||||
@ -212,13 +217,13 @@ key:
|
|||||||
push dword tree2
|
push dword tree2
|
||||||
call [tl_key]
|
call [tl_key]
|
||||||
|
|
||||||
mov ebx,dword[el_focus] ;что-бы карта не двигалась если окна treelist в фокусе
|
mov ebx,dword[el_focus] ;çâ®-¡ë ª àâ ¥ ¤¢¨£ « áì ¥á«¨ ®ª treelist ¢ 䮪ãá¥
|
||||||
cmp ebx, dword tree1
|
cmp ebx, dword tree1
|
||||||
je .end_f
|
je .end_f
|
||||||
cmp ebx, dword tree2
|
cmp ebx, dword tree2
|
||||||
je .end_f
|
je .end_f
|
||||||
|
|
||||||
;что-бы карта не двигалась если текстовые поля в фокусе
|
;çâ®-¡ë ª àâ ¥ ¤¢¨£ « áì ¥á«¨ ⥪áâ®¢ë¥ ¯®«ï ¢ 䮪ãá¥
|
||||||
test word[edit1.flags],10b ;ed_focus
|
test word[edit1.flags],10b ;ed_focus
|
||||||
jne .end_f
|
jne .end_f
|
||||||
test word[edit2.flags],10b ;ed_focus
|
test word[edit2.flags],10b ;ed_focus
|
||||||
@ -266,7 +271,7 @@ key:
|
|||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
draw_win:
|
draw_window:
|
||||||
pushad
|
pushad
|
||||||
mcall 12,1
|
mcall 12,1
|
||||||
|
|
||||||
@ -301,8 +306,7 @@ pushad
|
|||||||
stdcall dword[tl_draw],dword tree1
|
stdcall dword[tl_draw],dword tree1
|
||||||
stdcall dword[tl_draw],dword tree2
|
stdcall dword[tl_draw],dword tree2
|
||||||
mov dword[wScrMetki.all_redraw],1
|
mov dword[wScrMetki.all_redraw],1
|
||||||
push dword wScrMetki
|
stdcall [scrollbar_ver_draw], dword wScrMetki
|
||||||
call [scrollbar_ver_draw]
|
|
||||||
|
|
||||||
mov eax,8 ;ª®¯ª
|
mov eax,8 ;ª®¯ª
|
||||||
mov ebx,145*65536+20
|
mov ebx,145*65536+20
|
||||||
@ -316,6 +320,11 @@ pushad
|
|||||||
mov edx,5
|
mov edx,5
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
mov ebx,170*65536+40 ;ª®¯ª ¢ë§®¢ ¤¨ «®£ OpenDial
|
||||||
|
;mov ecx,5*65536+25
|
||||||
|
mov edx,13
|
||||||
|
int 0x40
|
||||||
|
|
||||||
mov bx,di
|
mov bx,di
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,100
|
mov bx,100
|
||||||
@ -351,7 +360,7 @@ pushad
|
|||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,30
|
mov bx,30
|
||||||
;mov ebx,405*65536+30
|
;mov ebx,405*65536+30
|
||||||
mov ecx,265*65536+25
|
;mov ecx,265*65536+25
|
||||||
mov edx,11
|
mov edx,11
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -360,7 +369,7 @@ pushad
|
|||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,30
|
mov bx,30
|
||||||
;mov ebx,370*65536+30
|
;mov ebx,370*65536+30
|
||||||
mov ecx,265*65536+25
|
;mov ecx,265*65536+25
|
||||||
mov edx,10
|
mov edx,10
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -446,11 +455,8 @@ pushad
|
|||||||
|
|
||||||
call draw_tiles
|
call draw_tiles
|
||||||
|
|
||||||
push dword ch2
|
stdcall [check_box_draw], dword ch1
|
||||||
call [check_box_draw]
|
stdcall [check_box_draw], dword ch2
|
||||||
push dword ch1
|
|
||||||
call [check_box_draw]
|
|
||||||
|
|
||||||
stdcall [edit_box_draw], edit1
|
stdcall [edit_box_draw], edit1
|
||||||
stdcall [edit_box_draw], edit2
|
stdcall [edit_box_draw], edit2
|
||||||
|
|
||||||
@ -522,6 +528,10 @@ button:
|
|||||||
jne @f
|
jne @f
|
||||||
call fun_goto_met
|
call fun_goto_met
|
||||||
@@:
|
@@:
|
||||||
|
cmp ah,13 ;¤¨ «®£ OpenDialog ¤«ï ¯®¨áª ¯ ¯ª¨
|
||||||
|
jne @f
|
||||||
|
call fun_opn_dlg
|
||||||
|
@@:
|
||||||
cmp ah,1
|
cmp ah,1
|
||||||
jne still
|
jne still
|
||||||
|
|
||||||
@ -531,10 +541,10 @@ button:
|
|||||||
stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy
|
stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy
|
||||||
|
|
||||||
stdcall dword[tl_data_clear], tree1
|
stdcall dword[tl_data_clear], tree1
|
||||||
mov dword[tree2.data_img_sys],0 ;чистим указатель на системные иконки,
|
mov dword[tree2.data_img_sys],0 ;ç¨á⨬ 㪠§ ⥫ì á¨áâ¥¬ë¥ ¨ª®ª¨,
|
||||||
;т. к. они были удалены верхней функцией tl_data_clear
|
;â. ª. ®¨ ¡ë«¨ 㤠«¥ë ¢¥à奩 äãªæ¨¥© tl_data_clear
|
||||||
;повторный вызов tl_data_clear без чистки указателя вызвет ошибку
|
;¯®¢â®àë© ¢ë§®¢ tl_data_clear ¡¥§ ç¨á⪨ 㪠§ â¥«ï ¢ë§¢¥â ®è¨¡ªã
|
||||||
mov dword[tree2.data_img],0 ;чистим указатель на иконки узлов
|
mov dword[tree2.data_img],0 ;ç¨á⨬ 㪠§ â¥«ì ¨ª®ª¨ 㧫®¢
|
||||||
stdcall dword[tl_data_clear], tree2
|
stdcall dword[tl_data_clear], tree2
|
||||||
|
|
||||||
; stdcall dword[img_destroy], dword[data_icon]
|
; stdcall dword[img_destroy], dword[data_icon]
|
||||||
@ -550,7 +560,7 @@ proc img_rgb_wdiv2 data_rgb:dword, size:dword
|
|||||||
mov eax,dword[data_rgb]
|
mov eax,dword[data_rgb]
|
||||||
mov ecx,dword[size] ;ecx = size
|
mov ecx,dword[size] ;ecx = size
|
||||||
imul ecx,3
|
imul ecx,3
|
||||||
@@: ;затемнение цвета пикселей
|
@@: ;§ ⥬¥¨¥ 梥⠯¨ªá¥«¥©
|
||||||
shr byte[eax],1
|
shr byte[eax],1
|
||||||
and byte[eax],0x7f
|
and byte[eax],0x7f
|
||||||
inc eax
|
inc eax
|
||||||
@ -559,8 +569,8 @@ proc img_rgb_wdiv2 data_rgb:dword, size:dword
|
|||||||
mov eax,dword[data_rgb]
|
mov eax,dword[data_rgb]
|
||||||
mov ecx,dword[size] ;ecx = size
|
mov ecx,dword[size] ;ecx = size
|
||||||
shr ecx,1
|
shr ecx,1
|
||||||
@@: ;сложение цветов пикселей
|
@@: ;á«®¦¥¨¥ 梥⮢ ¯¨ªá¥«¥©
|
||||||
mov ebx,dword[eax+3] ;копируем цвет соседнего пикселя
|
mov ebx,dword[eax+3] ;ª®¯¨à㥬 梥â á®á¥¤¥£® ¯¨ªá¥«ï
|
||||||
add word[eax],bx
|
add word[eax],bx
|
||||||
shr ebx,16
|
shr ebx,16
|
||||||
add byte[eax+2],bl
|
add byte[eax+2],bl
|
||||||
@ -574,8 +584,8 @@ proc img_rgb_wdiv2 data_rgb:dword, size:dword
|
|||||||
add ebx,3
|
add ebx,3
|
||||||
mov ecx,dword[size] ;ecx = size
|
mov ecx,dword[size] ;ecx = size
|
||||||
shr ecx,1
|
shr ecx,1
|
||||||
dec ecx ;лишний пиксель
|
dec ecx ;«¨è¨© ¯¨ªá¥«ì
|
||||||
@@: ;поджатие пикселей
|
@@: ;¯®¤¦ ⨥ ¯¨ªá¥«¥©
|
||||||
mov edx,dword[ebx]
|
mov edx,dword[ebx]
|
||||||
mov word[eax],dx
|
mov word[eax],dx
|
||||||
shr edx,16
|
shr edx,16
|
||||||
@ -600,7 +610,7 @@ proc img_rgb_hdiv2, data_rgb:dword, size:dword, size_w:dword
|
|||||||
mov eax,dword[data_rgb] ;eax =
|
mov eax,dword[data_rgb] ;eax =
|
||||||
mov ecx,dword[size] ;ecx = size
|
mov ecx,dword[size] ;ecx = size
|
||||||
imul ecx,3
|
imul ecx,3
|
||||||
@@: ;затемнение цвета пикселей
|
@@: ;§ ⥬¥¨¥ 梥⠯¨ªá¥«¥©
|
||||||
shr byte[eax],1
|
shr byte[eax],1
|
||||||
and byte[eax],0x7f
|
and byte[eax],0x7f
|
||||||
inc eax
|
inc eax
|
||||||
@ -614,8 +624,8 @@ proc img_rgb_hdiv2, data_rgb:dword, size:dword, size_w:dword
|
|||||||
mov ecx,dword[size] ;ecx = size
|
mov ecx,dword[size] ;ecx = size
|
||||||
shr ecx,1
|
shr ecx,1
|
||||||
xor edi,edi
|
xor edi,edi
|
||||||
@@: ;сложение цветов пикселей
|
@@: ;á«®¦¥¨¥ 梥⮢ ¯¨ªá¥«¥©
|
||||||
mov edx,dword[ebx] ;копируем цвет нижнего пикселя
|
mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠨¦¥£® ¯¨ªá¥«ï
|
||||||
add word[eax],dx
|
add word[eax],dx
|
||||||
shr edx,16
|
shr edx,16
|
||||||
add byte[eax+2],dl
|
add byte[eax+2],dl
|
||||||
@ -636,12 +646,12 @@ proc img_rgb_hdiv2, data_rgb:dword, size:dword, size_w:dword
|
|||||||
add eax,esi ;esi = width*3(rgb)
|
add eax,esi ;esi = width*3(rgb)
|
||||||
mov ebx,esi
|
mov ebx,esi
|
||||||
add ebx,eax
|
add ebx,eax
|
||||||
mov ecx,dword[size] ;ecx = size
|
mov ecx,dword[size] ;ecx = size
|
||||||
shr ecx,1
|
shr ecx,1
|
||||||
sub ecx,dword[size_w] ;лишняя строка пикселей
|
sub ecx,dword[size_w] ;«¨èïï áâப ¯¨ªá¥«¥©
|
||||||
xor edi,edi
|
xor edi,edi
|
||||||
@@: ;поджатие пикселей
|
@@: ;¯®¤¦ ⨥ ¯¨ªá¥«¥©
|
||||||
mov edx,dword[ebx] ;копируем цвет нижнего пикселя
|
mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠨¦¥£® ¯¨ªá¥«ï
|
||||||
mov word[eax],dx
|
mov word[eax],dx
|
||||||
shr edx,16
|
shr edx,16
|
||||||
mov byte[eax+2],dl
|
mov byte[eax+2],dl
|
||||||
@ -835,6 +845,24 @@ proc mem_clear, mem:dword, len:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
fun_opn_dlg: ;äãªæ¨ï ¤«ï ¢ë§®¢ OpenFile ¤¨ «®£
|
||||||
|
pushad
|
||||||
|
copy_path open_dialog_name,sys_path,file_name,0
|
||||||
|
mov [OpenDialog_data.type],2
|
||||||
|
mov dword[plugin_path],0 ;çâ®-¡ë ¯à¨ ®âªàë⨨ ¤¨ «®£®¢®£® ®ª ¯ãâì ¢á¥£¤ ¡à «áï ¨§ OpenDialog_data.dir_default_path
|
||||||
|
start_OpenDialog OpenDialog_data
|
||||||
|
cmp [OpenDialog_data.status],2
|
||||||
|
je @f
|
||||||
|
mov esi,[OpenDialog_data.openfile_path]
|
||||||
|
stdcall [str_len],dword[edit1.text],dword[edit1.max]
|
||||||
|
mov [edit1.size],eax
|
||||||
|
mov [edit1.pos],eax
|
||||||
|
stdcall [edit_box_draw], edit1
|
||||||
|
@@:
|
||||||
|
popad
|
||||||
|
ret
|
||||||
|
|
||||||
txt_met_up db 24,0
|
txt_met_up db 24,0
|
||||||
txt_met_dn db 25,0
|
txt_met_dn db 25,0
|
||||||
txt_met_sh db '*',0
|
txt_met_sh db '*',0
|
||||||
@ -855,7 +883,7 @@ checkboxes_end:
|
|||||||
ch_text1 db '¡à âì ᢥàåã'
|
ch_text1 db '¡à âì ᢥàåã'
|
||||||
ch_text2 db '¡à âì ᨧã'
|
ch_text2 db '¡à âì ᨧã'
|
||||||
|
|
||||||
edit1 edit_box 190, 215, 10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 500, ed_buffer.1, mouse_dd, 0
|
edit1 edit_box 190, 215, 10, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 4090, openfile_path, mouse_dd, 0
|
||||||
edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 30, ed_buffer.2, mouse_dd, 0
|
edit2 edit_box 100, 370, 240, 0xd0ffff, 0xff, 0x80ff, 0, 0xa000, 30, ed_buffer.2, mouse_dd, 0
|
||||||
editboxes_end:
|
editboxes_end:
|
||||||
|
|
||||||
@ -901,7 +929,6 @@ wScrMetki:
|
|||||||
.ar_offset dd 1 ;+84
|
.ar_offset dd 1 ;+84
|
||||||
|
|
||||||
ed_buffer: ;òåêñò äëÿ edit
|
ed_buffer: ;òåêñò äëÿ edit
|
||||||
.1: rb 502
|
|
||||||
.2: rb 32
|
.2: rb 32
|
||||||
|
|
||||||
el_focus dd tree1
|
el_focus dd tree1
|
||||||
@ -917,20 +944,50 @@ run_file_70 FileInfoBlock
|
|||||||
|
|
||||||
txt_tile_path db 'tile path',0
|
txt_tile_path db 'tile path',0
|
||||||
rb 300
|
rb 300
|
||||||
txt_tile_type dd txt_tile_type_0 ;указатель на выбранный тип файлов
|
txt_tile_type dd txt_tile_type_0 ;㪠§ â¥«ì ¢ë¡à ë© â¨¯ ä ©«®¢
|
||||||
txt_tile_type_0 db 0
|
txt_tile_type_0 db 0
|
||||||
rb 10
|
rb 10
|
||||||
|
|
||||||
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
map: ;координаты карты
|
OpenDialog_data:
|
||||||
.coord_x dd 0 ;координата x
|
.type dd 2
|
||||||
.coord_y dd 0 ;координата y
|
.procinfo dd procinfo ;+4
|
||||||
.zoom db 1 ;масштаб
|
.com_area_name dd communication_area_name ;+8
|
||||||
|
.com_area dd 0 ;+12
|
||||||
|
.opendir_path dd plugin_path ;+16
|
||||||
|
.dir_default_path dd openfile_path ;+20
|
||||||
|
.start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢
|
||||||
|
.draw_window dd draw_window ;+28
|
||||||
|
.status dd 0 ;+32
|
||||||
|
.openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã
|
||||||
|
.filename_area dd filename_area ;+40
|
||||||
|
.filter_area dd Filter
|
||||||
|
|
||||||
|
communication_area_name:
|
||||||
|
db 'FFFFFFFF_open_dialog',0
|
||||||
|
open_dialog_name:
|
||||||
|
db 'opendial',0
|
||||||
|
communication_area_default_path:
|
||||||
|
db '/rd/1',0
|
||||||
|
|
||||||
|
Filter:
|
||||||
|
dd Filter.end - Filter.1
|
||||||
|
.1:
|
||||||
|
db 'TXT',0
|
||||||
|
.end:
|
||||||
|
db 0
|
||||||
|
|
||||||
|
align 4
|
||||||
|
map: ;ª®®à¤¨ âë ª àâë
|
||||||
|
.coord_x dd 0 ;ª®®à¤¨ â x
|
||||||
|
.coord_y dd 0 ;ª®®à¤¨ â y
|
||||||
|
.zoom db 1 ;¬ áèâ ¡
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
tile_00 rb size_tile_struc * max_tiles_count
|
tile_00 rb size_tile_struc * max_tiles_count
|
||||||
|
|
||||||
;этот код не мой, он преобразует число в строку
|
;íâ®â ª®¤ ¥ ¬®©, ® ¯à¥®¡à §ã¥â ç¨á«® ¢ áâபã
|
||||||
;input:
|
;input:
|
||||||
; eax = value
|
; eax = value
|
||||||
; edi = string buffer
|
; edi = string buffer
|
||||||
@ -946,32 +1003,39 @@ tl_convert_to_str:
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
.str:
|
.str:
|
||||||
mov ecx,0x0a ;задается система счисления изменяются регистры ebx,eax,ecx,edx входные параметры eax - число
|
mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«®
|
||||||
;преревод числа в ASCII строку взодные данные ecx=система счисленя edi адрес куда записывать, будем строку, причем конец переменной
|
;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®©
|
||||||
cmp eax,ecx ;сравнить если в eax меньше чем в ecx то перейти на @@-1 т.е. на pop eax
|
cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax
|
||||||
jb @f
|
jb @f
|
||||||
xor edx,edx ;очистить edx
|
xor edx,edx ;®ç¨áâ¨âì edx
|
||||||
div ecx ;разделить - остаток в edx
|
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx
|
||||||
push edx ;положить в стек
|
push edx ;¯®«®¦¨âì ¢ á⥪
|
||||||
;dec edi ;смещение необходимое для записи с конца строки
|
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨
|
||||||
call .str;перейти на саму себя т.е. вызвать саму себя и так до того момента пока в eax не станет меньше чем в ecx
|
call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx
|
||||||
pop eax
|
pop eax
|
||||||
@@: ;cmp al,10 ;проверить не меньше ли значение в al чем 10 (для системы счисленя 10 данная команда - лишная))
|
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï))
|
||||||
or al,0x30 ;данная команда короче чем две выше
|
or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥
|
||||||
stosb ;записать элемент из регистра al в ячеку памяти es:edi
|
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi
|
||||||
ret ;вернуться чень интересный ход т.к. пока в стеке храниться кол-во вызовов то столько раз мы и будем вызываться
|
ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
||||||
|
|
||||||
|
|
||||||
hed db 'Planet viewer 26.03.10',0 ;Ї®¤ЇЁбм ®Є
|
hed db 'Planet viewer 27.05.10',0 ;¯®¤¯¨áì ®ª
|
||||||
|
|
||||||
sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â
|
sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â
|
||||||
mouse_dd dd 0 ;㦮 ¤«ï Shift- ¢ editbox
|
mouse_dd dd 0 ;㦮 ¤«ï Shift- ¢ editbox
|
||||||
sys_path rb 4096
|
|
||||||
file_name:
|
|
||||||
rb 4096
|
|
||||||
i_end:
|
i_end:
|
||||||
procinfo process_information
|
rb 1024
|
||||||
rb 1024
|
align 16
|
||||||
|
procinfo process_information
|
||||||
stacktop:
|
stacktop:
|
||||||
|
sys_path rb 4096
|
||||||
|
file_name:
|
||||||
|
rb 4096
|
||||||
|
plugin_path:
|
||||||
|
rb 4096
|
||||||
|
openfile_path:
|
||||||
|
rb 4096
|
||||||
|
filename_area:
|
||||||
|
rb 256
|
||||||
mem:
|
mem:
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ table
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1>TextEditor версия от 29.04.2010</h1>
|
<h1>TextEditor версия от 27.05.2010</h1>
|
||||||
<h2>О программе</h2>
|
<h2>О программе</h2>
|
||||||
<p>Программа для работы с текстовыми файлами.
|
<p>Программа для работы с текстовыми файлами.
|
||||||
Лицензия свободная.</p>
|
Лицензия свободная.</p>
|
||||||
@ -77,7 +77,7 @@ table
|
|||||||
<tr><td>Многократная отмена/повтор действий</td>
|
<tr><td>Многократная отмена/повтор действий</td>
|
||||||
<td>нет</td><td>есть</td></tr>
|
<td>нет</td><td>есть</td></tr>
|
||||||
<tr><td>Ограничения на размер файлов</td>
|
<tr><td>Ограничения на размер файлов</td>
|
||||||
<td>нет</td><td>есть</td></tr>
|
<td>нет</td><td>есть при открытии файлов, при редактировании нет</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>Некоторые недоработки</h2>
|
<h2>Некоторые недоработки</h2>
|
||||||
@ -147,7 +147,7 @@ ends</pre>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Евтихов Максим (Maxxxx32) - элемент EditBox.</li>
|
<li>Евтихов Максим (Maxxxx32) - элемент EditBox.</li>
|
||||||
<li>Алексей Теплов (Lrz) - элемент EditBox, макрос load_library.</li>
|
<li>Алексей Теплов (Lrz) - элемент EditBox, макрос load_library.</li>
|
||||||
<li>Mario79 - элемент скроллинг.</li>
|
<li>Mario79 - элементы: скроллинги, меню, OpenDial.</li>
|
||||||
<li>Diamond - за программу KlbrInWin, и помощь при написании программы.</li>
|
<li>Diamond - за программу KlbrInWin, и помощь при написании программы.</li>
|
||||||
<li>Insolor - за тестирование программы на ошибки.</li>
|
<li>Insolor - за тестирование программы на ошибки.</li>
|
||||||
<li>Leency и другим, кто помогал на форуме советами.</li>
|
<li>Leency и другим, кто помогал на форуме советами.</li>
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
; destroys : nothing
|
; destroys : nothing
|
||||||
;********************************************************************
|
;********************************************************************
|
||||||
strlen:
|
strlen:
|
||||||
push ecx
|
push ecx edi
|
||||||
push edi
|
|
||||||
pushfd
|
pushfd
|
||||||
cld ; !
|
cld ; !
|
||||||
mov ecx,-1
|
mov ecx,-1
|
||||||
@ -40,8 +39,7 @@ strlen:
|
|||||||
sub eax,esi
|
sub eax,esi
|
||||||
dec eax
|
dec eax
|
||||||
popfd
|
popfd
|
||||||
pop edi
|
pop edi ecx
|
||||||
pop ecx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
@ -51,8 +49,7 @@ strlen:
|
|||||||
; Copyright (c) 2009 Igor Afanasiev
|
; Copyright (c) 2009 Igor Afanasiev
|
||||||
|
|
||||||
linlen:
|
linlen:
|
||||||
push ecx
|
push ecx edi
|
||||||
push edi
|
|
||||||
pushfd
|
pushfd
|
||||||
cld ; !
|
cld ; !
|
||||||
mov ecx,eax
|
mov ecx,eax
|
||||||
@ -64,8 +61,7 @@ linlen:
|
|||||||
sub eax,esi
|
sub eax,esi
|
||||||
dec eax
|
dec eax
|
||||||
popfd
|
popfd
|
||||||
pop edi
|
pop edi ecx
|
||||||
pop ecx
|
|
||||||
ret
|
ret
|
||||||
;%endif
|
;%endif
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ struct symbol
|
|||||||
ends
|
ends
|
||||||
|
|
||||||
|
|
||||||
hed db 'TextEditor 17.05.10',0 ;¯®¤¯¨áì ®ª
|
hed db 'TextEditor 27.05.10',0 ;¯®¤¯¨áì ®ª
|
||||||
sc system_colors
|
sc system_colors
|
||||||
|
|
||||||
fn_icon db 'te_icon.bmp',0
|
fn_icon db 'te_icon.bmp',0
|
||||||
@ -126,7 +126,8 @@ but_no_msg_OpenFile:
|
|||||||
; äãªæ¨ï ®âªàëâ¨ï ä ©« á ¢®§¬®¦ë¬ ®ª®¬ á®®¡é¥¨ï (® ¢®§¬®¦®á⨠®â¬¥¨âì ®âªàë⨥)
|
; äãªæ¨ï ®âªàëâ¨ï ä ©« á ¢®§¬®¦ë¬ ®ª®¬ á®®¡é¥¨ï (® ¢®§¬®¦®á⨠®â¬¥¨âì ®âªàë⨥)
|
||||||
align 4
|
align 4
|
||||||
ted_but_open_file:
|
ted_but_open_file:
|
||||||
push eax ebx
|
pushad
|
||||||
|
|
||||||
stdcall [ted_can_save], tedit0
|
stdcall [ted_can_save], tedit0
|
||||||
cmp al,1
|
cmp al,1
|
||||||
jne @f
|
jne @f
|
||||||
@ -134,10 +135,24 @@ ted_but_open_file:
|
|||||||
stdcall [mb_setfunctions],msgbox_5_funct
|
stdcall [mb_setfunctions],msgbox_5_funct
|
||||||
jmp .ret_f
|
jmp .ret_f
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
|
copy_path open_dialog_name,sys_path,file_name,0
|
||||||
|
mov [OpenDialog_data.type],0
|
||||||
|
start_OpenDialog OpenDialog_data
|
||||||
|
cmp [OpenDialog_data.status],2
|
||||||
|
jne @f
|
||||||
|
stdcall [mb_create],msgbox_9,thread ;message: error run 'open file dialog'
|
||||||
|
jmp .ret_f
|
||||||
|
@@:
|
||||||
|
mov esi,[OpenDialog_data.openfile_path]
|
||||||
|
call strlen
|
||||||
|
mov [edit1.size],eax
|
||||||
|
mov [edit1.pos],eax
|
||||||
|
stdcall [edit_box_draw], edit1
|
||||||
stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
|
stdcall [ted_open_file], tedit0,run_file_70,[edit1.text]
|
||||||
call ted_messages_after_open_file
|
call ted_messages_after_open_file
|
||||||
.ret_f:
|
.ret_f:
|
||||||
pop ebx eax
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
;--- äàííûå ïðîãðàììû ----------------------------------------------
|
|
||||||
fn_col_option dd def_col_file
|
fn_col_option dd def_col_file
|
||||||
fn_syntax_dir db 'info/',0
|
fn_syntax_dir db 'info/',0
|
||||||
def_col_file db 'default.syn',0
|
def_col_file db 'default.syn',0
|
||||||
@ -11,177 +10,165 @@ msgbox_name db 'msgbox.obj',0
|
|||||||
|
|
||||||
fn_icon_tl_sys db 'tl_sys_16.bmp',0
|
fn_icon_tl_sys db 'tl_sys_16.bmp',0
|
||||||
fn_icon_tl_nod db 'tl_nod_16.bmp',0
|
fn_icon_tl_nod db 'tl_nod_16.bmp',0
|
||||||
;---------------------------------------------------------------------
|
|
||||||
fileinfo:
|
|
||||||
dd 5
|
|
||||||
dd 0
|
|
||||||
dd 0
|
|
||||||
dd 0
|
|
||||||
dd file_info
|
|
||||||
string:
|
|
||||||
db 0
|
|
||||||
dd file_name
|
|
||||||
|
|
||||||
;plugin dd 0
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
myimport:
|
myimport:
|
||||||
edit_box_draw dd aEdit_box_draw
|
edit_box_draw dd aEdit_box_draw
|
||||||
edit_box_key dd aEdit_box_key
|
edit_box_key dd aEdit_box_key
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
edit_box_mouse dd aEdit_box_mouse
|
||||||
;version_ed dd aVersion_ed
|
;version_ed dd aVersion_ed
|
||||||
|
|
||||||
;check_box_draw dd aCheck_box_draw
|
;check_box_draw dd aCheck_box_draw
|
||||||
;check_box_mouse dd aCheck_box_mouse
|
;check_box_mouse dd aCheck_box_mouse
|
||||||
;version_ch dd aVersion_ch
|
;version_ch dd aVersion_ch
|
||||||
|
|
||||||
;option_box_draw dd aOption_box_draw
|
;option_box_draw dd aOption_box_draw
|
||||||
;option_box_mouse dd aOption_box_mouse
|
;option_box_mouse dd aOption_box_mouse
|
||||||
;version_op dd aVersion_op
|
;version_op dd aVersion_op
|
||||||
|
|
||||||
scrollbar_ver_draw dd aScrollbar_ver_draw
|
scrollbar_ver_draw dd aScrollbar_ver_draw
|
||||||
scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
||||||
scrollbar_hor_draw dd aScrollbar_hor_draw
|
scrollbar_hor_draw dd aScrollbar_hor_draw
|
||||||
scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
||||||
;version_scrollbar dd aVersion_scrollbar
|
;version_scrollbar dd aVersion_scrollbar
|
||||||
|
|
||||||
;dinamic_button_draw dd aDbutton_draw
|
;dinamic_button_draw dd aDbutton_draw
|
||||||
;dinamic_button_mouse dd aDbutton_mouse
|
;dinamic_button_mouse dd aDbutton_mouse
|
||||||
;version_dbutton dd aVersion_dbutton
|
;version_dbutton dd aVersion_dbutton
|
||||||
|
|
||||||
menu_bar_draw dd aMenu_bar_draw
|
menu_bar_draw dd aMenu_bar_draw
|
||||||
menu_bar_mouse dd aMenu_bar_mouse
|
menu_bar_mouse dd aMenu_bar_mouse
|
||||||
;version_menu_bar dd aVersion_menu_bar
|
;version_menu_bar dd aVersion_menu_bar
|
||||||
|
|
||||||
tl_data_init dd sz_tl_data_init
|
tl_data_init dd sz_tl_data_init
|
||||||
tl_data_clear dd sz_tl_data_clear
|
tl_data_clear dd sz_tl_data_clear
|
||||||
tl_info_clear dd sz_tl_info_clear
|
tl_info_clear dd sz_tl_info_clear
|
||||||
tl_key dd sz_tl_key
|
tl_key dd sz_tl_key
|
||||||
tl_mouse dd sz_tl_mouse
|
tl_mouse dd sz_tl_mouse
|
||||||
tl_draw dd sz_tl_draw
|
tl_draw dd sz_tl_draw
|
||||||
tl_info_undo dd sz_tl_info_undo
|
tl_info_undo dd sz_tl_info_undo
|
||||||
tl_info_redo dd sz_tl_info_redo
|
tl_info_redo dd sz_tl_info_redo
|
||||||
tl_node_add dd sz_tl_node_add
|
tl_node_add dd sz_tl_node_add
|
||||||
tl_node_set_data dd sz_tl_node_set_data
|
tl_node_set_data dd sz_tl_node_set_data
|
||||||
tl_node_get_data dd sz_tl_node_get_data
|
tl_node_get_data dd sz_tl_node_get_data
|
||||||
tl_node_delete dd sz_tl_node_delete
|
tl_node_delete dd sz_tl_node_delete
|
||||||
tl_cur_beg dd sz_tl_cur_beg
|
tl_cur_beg dd sz_tl_cur_beg
|
||||||
tl_cur_next dd sz_tl_cur_next
|
tl_cur_next dd sz_tl_cur_next
|
||||||
tl_cur_perv dd sz_tl_cur_perv
|
tl_cur_perv dd sz_tl_cur_perv
|
||||||
tl_node_close_open dd sz_tl_node_close_open
|
tl_node_close_open dd sz_tl_node_close_open
|
||||||
tl_node_lev_inc dd sz_tl_node_lev_inc
|
tl_node_lev_inc dd sz_tl_node_lev_inc
|
||||||
tl_node_lev_dec dd sz_tl_node_lev_dec
|
tl_node_lev_dec dd sz_tl_node_lev_dec
|
||||||
|
|
||||||
ted_but_save_file dd sz_ted_but_save_file
|
ted_but_save_file dd sz_ted_but_save_file
|
||||||
ted_but_sumb_upper dd sz_ted_but_sumb_upper
|
ted_but_sumb_upper dd sz_ted_but_sumb_upper
|
||||||
ted_but_sumb_lover dd sz_ted_but_sumb_lover
|
ted_but_sumb_lover dd sz_ted_but_sumb_lover
|
||||||
ted_can_save dd sz_ted_can_save
|
ted_can_save dd sz_ted_can_save
|
||||||
ted_clear dd sz_ted_clear
|
ted_clear dd sz_ted_clear
|
||||||
ted_delete dd sz_ted_delete
|
ted_delete dd sz_ted_delete
|
||||||
ted_draw dd sz_ted_draw
|
ted_draw dd sz_ted_draw
|
||||||
ted_init dd sz_ted_init
|
ted_init dd sz_ted_init
|
||||||
ted_init_scroll_bars dd sz_ted_init_scroll_bars
|
ted_init_scroll_bars dd sz_ted_init_scroll_bars
|
||||||
ted_init_syntax_file dd sz_ted_init_syntax_file
|
ted_init_syntax_file dd sz_ted_init_syntax_file
|
||||||
ted_is_select dd sz_ted_is_select
|
ted_is_select dd sz_ted_is_select
|
||||||
ted_key dd sz_ted_key
|
ted_key dd sz_ted_key
|
||||||
ted_mouse dd sz_ted_mouse
|
ted_mouse dd sz_ted_mouse
|
||||||
ted_open_file dd sz_ted_open_file
|
ted_open_file dd sz_ted_open_file
|
||||||
ted_text_add dd sz_ted_text_add
|
ted_text_add dd sz_ted_text_add
|
||||||
ted_but_select_word dd sz_ted_but_select_word
|
ted_but_select_word dd sz_ted_but_select_word
|
||||||
ted_but_cut dd sz_ted_but_cut
|
ted_but_cut dd sz_ted_but_cut
|
||||||
ted_but_copy dd sz_ted_but_copy
|
ted_but_copy dd sz_ted_but_copy
|
||||||
ted_but_paste dd sz_ted_but_paste
|
ted_but_paste dd sz_ted_but_paste
|
||||||
ted_but_undo dd sz_ted_but_undo
|
ted_but_undo dd sz_ted_but_undo
|
||||||
ted_but_redo dd sz_ted_but_redo
|
ted_but_redo dd sz_ted_but_redo
|
||||||
ted_but_reverse dd sz_ted_but_reverse
|
ted_but_reverse dd sz_ted_but_reverse
|
||||||
ted_but_find_next dd sz_ted_but_find_next
|
ted_but_find_next dd sz_ted_but_find_next
|
||||||
ted_text_colored dd sz_ted_text_colored
|
ted_text_colored dd sz_ted_text_colored
|
||||||
;;;version_text_edit dd sz_ted_version
|
;version_text_edit dd sz_ted_version
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box',0
|
aEdit_box_draw db 'edit_box',0
|
||||||
aEdit_box_key db 'edit_box_key',0
|
aEdit_box_key db 'edit_box_key',0
|
||||||
aEdit_box_mouse db 'edit_box_mouse',0
|
aEdit_box_mouse db 'edit_box_mouse',0
|
||||||
;aVersion_ed db 'version_ed',0
|
;aVersion_ed db 'version_ed',0
|
||||||
|
|
||||||
;aCheck_box_draw db 'check_box_draw',0
|
;aCheck_box_draw db 'check_box_draw',0
|
||||||
;aCheck_box_mouse db 'check_box_mouse',0
|
;aCheck_box_mouse db 'check_box_mouse',0
|
||||||
;aVersion_ch db 'version_ch',0
|
;aVersion_ch db 'version_ch',0
|
||||||
|
|
||||||
;aOption_box_draw db 'option_box_draw',0
|
;aOption_box_draw db 'option_box_draw',0
|
||||||
;aOption_box_mouse db 'option_box_mouse',0
|
;aOption_box_mouse db 'option_box_mouse',0
|
||||||
;aVersion_op db 'version_op',0
|
;aVersion_op db 'version_op',0
|
||||||
|
|
||||||
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
||||||
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
||||||
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
||||||
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
||||||
;aVersion_scrollbar db 'version_scrollbar',0
|
;aVersion_scrollbar db 'version_scrollbar',0
|
||||||
|
|
||||||
;aDbutton_draw db 'dbutton_draw',0
|
;aDbutton_draw db 'dbutton_draw',0
|
||||||
;aDbutton_mouse db 'dbutton_mouse',0
|
;aDbutton_mouse db 'dbutton_mouse',0
|
||||||
;aVersion_dbutton db 'version_dbutton',0
|
;aVersion_dbutton db 'version_dbutton',0
|
||||||
|
|
||||||
aMenu_bar_draw db 'menu_bar_draw',0
|
aMenu_bar_draw db 'menu_bar_draw',0
|
||||||
aMenu_bar_mouse db 'menu_bar_mouse',0
|
aMenu_bar_mouse db 'menu_bar_mouse',0
|
||||||
;aVersion_menu_bar db 'version_menu_bar',0
|
;aVersion_menu_bar db 'version_menu_bar',0
|
||||||
|
|
||||||
sz_tl_data_init db 'tl_data_init',0
|
sz_tl_data_init db 'tl_data_init',0
|
||||||
sz_tl_data_clear db 'tl_data_clear',0
|
sz_tl_data_clear db 'tl_data_clear',0
|
||||||
sz_tl_info_clear db 'tl_info_clear',0
|
sz_tl_info_clear db 'tl_info_clear',0
|
||||||
sz_tl_key db 'tl_key',0
|
sz_tl_key db 'tl_key',0
|
||||||
sz_tl_mouse db 'tl_mouse',0
|
sz_tl_mouse db 'tl_mouse',0
|
||||||
sz_tl_draw db 'tl_draw',0
|
sz_tl_draw db 'tl_draw',0
|
||||||
sz_tl_info_undo db 'tl_info_undo',0
|
sz_tl_info_undo db 'tl_info_undo',0
|
||||||
sz_tl_info_redo db 'tl_info_redo',0
|
sz_tl_info_redo db 'tl_info_redo',0
|
||||||
sz_tl_node_add db 'tl_node_add',0
|
sz_tl_node_add db 'tl_node_add',0
|
||||||
sz_tl_node_set_data db 'tl_node_set_data',0
|
sz_tl_node_set_data db 'tl_node_set_data',0
|
||||||
sz_tl_node_get_data db 'tl_node_get_data',0
|
sz_tl_node_get_data db 'tl_node_get_data',0
|
||||||
sz_tl_node_delete db 'tl_node_delete',0
|
sz_tl_node_delete db 'tl_node_delete',0
|
||||||
sz_tl_cur_beg db 'tl_cur_beg',0
|
sz_tl_cur_beg db 'tl_cur_beg',0
|
||||||
sz_tl_cur_next db 'tl_cur_next',0
|
sz_tl_cur_next db 'tl_cur_next',0
|
||||||
sz_tl_cur_perv db 'tl_cur_perv',0
|
sz_tl_cur_perv db 'tl_cur_perv',0
|
||||||
sz_tl_node_close_open db 'tl_node_close_open',0
|
sz_tl_node_close_open db 'tl_node_close_open',0
|
||||||
sz_tl_node_lev_inc db 'tl_node_lev_inc',0
|
sz_tl_node_lev_inc db 'tl_node_lev_inc',0
|
||||||
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
||||||
|
|
||||||
sz_ted_but_save_file db 'ted_but_save_file',0
|
sz_ted_but_save_file db 'ted_but_save_file',0
|
||||||
sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0
|
sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0
|
||||||
sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0
|
sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0
|
||||||
sz_ted_can_save db 'ted_can_save',0
|
sz_ted_can_save db 'ted_can_save',0
|
||||||
sz_ted_clear db 'ted_clear',0
|
sz_ted_clear db 'ted_clear',0
|
||||||
sz_ted_delete db 'ted_delete',0
|
sz_ted_delete db 'ted_delete',0
|
||||||
sz_ted_draw db 'ted_draw',0
|
sz_ted_draw db 'ted_draw',0
|
||||||
sz_ted_init db 'ted_init',0
|
sz_ted_init db 'ted_init',0
|
||||||
sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
|
sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
|
||||||
sz_ted_init_syntax_file db 'ted_init_syntax_file',0
|
sz_ted_init_syntax_file db 'ted_init_syntax_file',0
|
||||||
sz_ted_is_select db 'ted_is_select',0
|
sz_ted_is_select db 'ted_is_select',0
|
||||||
sz_ted_key db 'ted_key',0
|
sz_ted_key db 'ted_key',0
|
||||||
sz_ted_mouse db 'ted_mouse',0
|
sz_ted_mouse db 'ted_mouse',0
|
||||||
sz_ted_open_file db 'ted_open_file',0
|
sz_ted_open_file db 'ted_open_file',0
|
||||||
sz_ted_text_add db 'ted_text_add',0
|
sz_ted_text_add db 'ted_text_add',0
|
||||||
sz_ted_but_select_word db 'ted_but_select_word',0
|
sz_ted_but_select_word db 'ted_but_select_word',0
|
||||||
sz_ted_but_cut db 'ted_but_cut',0
|
sz_ted_but_cut db 'ted_but_cut',0
|
||||||
sz_ted_but_copy db 'ted_but_copy',0
|
sz_ted_but_copy db 'ted_but_copy',0
|
||||||
sz_ted_but_paste db 'ted_but_paste',0
|
sz_ted_but_paste db 'ted_but_paste',0
|
||||||
sz_ted_but_undo db 'ted_but_undo',0
|
sz_ted_but_undo db 'ted_but_undo',0
|
||||||
sz_ted_but_redo db 'ted_but_redo',0
|
sz_ted_but_redo db 'ted_but_redo',0
|
||||||
sz_ted_but_reverse db 'ted_but_reverse',0
|
sz_ted_but_reverse db 'ted_but_reverse',0
|
||||||
sz_ted_but_find_next db 'ted_but_find_next',0
|
sz_ted_but_find_next db 'ted_but_find_next',0
|
||||||
sz_ted_text_colored db 'ted_text_colored',0
|
sz_ted_text_colored db 'ted_text_colored',0
|
||||||
;;;sz_ted_version db 'version_text_edit',0
|
;sz_ted_version db 'version_text_edit',0
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
msgbox_lib_import:
|
msgbox_lib_import:
|
||||||
mb_create dd amb_create
|
mb_create dd amb_create
|
||||||
mb_reinit dd amb_reinit
|
mb_reinit dd amb_reinit
|
||||||
mb_setfunctions dd amb_setfunctions
|
mb_setfunctions dd amb_setfunctions
|
||||||
dd 0,0
|
dd 0,0
|
||||||
amb_create db 'mb_create',0
|
amb_create db 'mb_create',0
|
||||||
amb_reinit db 'mb_reinit',0
|
amb_reinit db 'mb_reinit',0
|
||||||
amb_setfunctions db 'mb_setfunctions',0
|
amb_setfunctions db 'mb_setfunctions',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
wScr:
|
wScr:
|
||||||
@ -192,7 +179,7 @@ wScr:
|
|||||||
.size_y dw 300 ; +4
|
.size_y dw 300 ; +4
|
||||||
.start_y dw 50 ; +6
|
.start_y dw 50 ; +6
|
||||||
.btn_high dd 15 ; +8
|
.btn_high dd 15 ; +8
|
||||||
.type dd 1 ;+12
|
.type dd 1 ;+12
|
||||||
.max_area dd 100 ;+16
|
.max_area dd 100 ;+16
|
||||||
.cur_area dd 30 ;+20
|
.cur_area dd 30 ;+20
|
||||||
.position dd 0 ;+24
|
.position dd 0 ;+24
|
||||||
@ -200,7 +187,7 @@ wScr:
|
|||||||
.frnt_col dd 0xbbddff ;+32
|
.frnt_col dd 0xbbddff ;+32
|
||||||
.line_col dd 0 ;+36
|
.line_col dd 0 ;+36
|
||||||
.redraw dd 0 ;+40
|
.redraw dd 0 ;+40
|
||||||
.delta dw 0 ;+44
|
.delta dw 0 ;+44
|
||||||
.delta2 dw 0 ;+46
|
.delta2 dw 0 ;+46
|
||||||
.run_x:
|
.run_x:
|
||||||
.r_size_x dw 0 ;+48
|
.r_size_x dw 0 ;+48
|
||||||
@ -208,7 +195,7 @@ wScr:
|
|||||||
.run_y:
|
.run_y:
|
||||||
.r_size_y dw 0 ;+52
|
.r_size_y dw 0 ;+52
|
||||||
.r_start_y dw 0 ;+54
|
.r_start_y dw 0 ;+54
|
||||||
.m_pos dd 0 ;+56
|
.m_pos dd 0 ;+56
|
||||||
.m_pos_2 dd 0 ;+60
|
.m_pos_2 dd 0 ;+60
|
||||||
.m_keys dd 0 ;+64
|
.m_keys dd 0 ;+64
|
||||||
.run_size dd 0 ;+68
|
.run_size dd 0 ;+68
|
||||||
@ -252,7 +239,7 @@ hScr:
|
|||||||
.ar_offset dd 1 ;+84
|
.ar_offset dd 1 ;+84
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
ws_dir_lbox: ;äî÷åðíèé ñêðîëëèíã äëÿ ýëåìåíòà ListBox
|
ws_dir_lbox: ;¤®ç¥à¨© áªà®««¨£ ¤«ï í«¥¬¥â ListBox
|
||||||
.x:
|
.x:
|
||||||
.size_x dw 16 ;+0
|
.size_x dw 16 ;+0
|
||||||
.start_x dw 0 ;+2
|
.start_x dw 0 ;+2
|
||||||
@ -313,7 +300,7 @@ menu_data_1:
|
|||||||
.out_select dd 0 ;+56
|
.out_select dd 0 ;+56
|
||||||
.buf_adress dd 0 ;+60
|
.buf_adress dd 0 ;+60
|
||||||
.procinfo dd procinfo ;0 ;+64
|
.procinfo dd procinfo ;0 ;+64
|
||||||
.click dd 0 ;+68
|
.click dd 0 ;+68
|
||||||
.cursor dd 0 ;+72
|
.cursor dd 0 ;+72
|
||||||
.cursor_old dd 0 ;+76
|
.cursor_old dd 0 ;+76
|
||||||
.interval dd 16 ;+80
|
.interval dd 16 ;+80
|
||||||
@ -326,14 +313,50 @@ menu_data_1:
|
|||||||
.font_height dd 8 ;+108
|
.font_height dd 8 ;+108
|
||||||
.cursor_out dd 0 ;+112
|
.cursor_out dd 0 ;+112
|
||||||
.get_mouse_flag dd 0 ;+116
|
.get_mouse_flag dd 0 ;+116
|
||||||
;-------------------------
|
|
||||||
|
|
||||||
TED_PANEL_NULL equ 0 ;¥â ®âªàë⮩ ¯ ¥«¨
|
;---------------------------------------------------------------------
|
||||||
TED_PANEL_FIND equ 1 ;¯ ¥«ì ¯®¨áª
|
align 4
|
||||||
|
OpenDialog_data:
|
||||||
|
.type dd 0
|
||||||
|
.procinfo dd procinfo ;+4
|
||||||
|
.com_area_name dd communication_area_name ;+8
|
||||||
|
.com_area dd 0 ;+12
|
||||||
|
.opendir_path dd plugin_path ;+16
|
||||||
|
.dir_default_path dd openfile_path ;+20
|
||||||
|
.start_path dd file_name ;+24 ¯ãâì ª ¤¨ «®£ã ®âªàëâ¨ï ä ©«®¢
|
||||||
|
.draw_window dd draw_window ;+28
|
||||||
|
.status dd 0 ;+32
|
||||||
|
.openfile_path dd openfile_path ;+36 ¯ãâì ª ®âªàë¢ ¥¬®¬ã ä ©«ã
|
||||||
|
.filename_area dd filename_area ;+40
|
||||||
|
.filter_area dd Filter
|
||||||
|
|
||||||
|
communication_area_name:
|
||||||
|
db 'FFFFFFFF_open_dialog',0
|
||||||
|
open_dialog_name:
|
||||||
|
db 'opendial',0
|
||||||
|
communication_area_default_path:
|
||||||
|
db '/rd/1',0
|
||||||
|
|
||||||
|
Filter:
|
||||||
|
dd Filter.end - Filter.1
|
||||||
|
.1:
|
||||||
|
db 'ASM',0
|
||||||
|
db 'CPP',0
|
||||||
|
db 'INC',0
|
||||||
|
db 'INI',0
|
||||||
|
db 'TXT',0
|
||||||
|
db 'H',0
|
||||||
|
db 'HTM',0
|
||||||
|
db 'HTML',0
|
||||||
|
.end:
|
||||||
|
db 0
|
||||||
|
|
||||||
|
TED_PANEL_NULL equ 0 ;¥â ®âªàë⮩ ¯ ¥«¨
|
||||||
|
TED_PANEL_FIND equ 1 ;¯ ¥«ì ¯®¨áª
|
||||||
TED_PANEL_SYNTAX equ 2 ;¯ ¥«ì ¢ë¡®à ä ©«®¢ ¯®¤á¢¥âª¨
|
TED_PANEL_SYNTAX equ 2 ;¯ ¥«ì ¢ë¡®à ä ©«®¢ ¯®¤á¢¥âª¨
|
||||||
TED_PANEL_WIDTH equ 150 ;è¨à¨ ¯ ¥«¨
|
TED_PANEL_WIDTH equ 150 ;è¨à¨ ¯ ¥«¨
|
||||||
|
|
||||||
count_of_dir_list_files equ 15
|
count_of_dir_list_files equ 15 ;¬ ªá¨¬ «ì®¥ ç¨á«® ä ©«®¢ á¨â ªá¨á ¯®ª §ë¢ ¥¬ëå ¢ ®ª¥ í«¥¬¥â tree1
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
struct TexSelect
|
struct TexSelect
|
||||||
@ -351,26 +374,26 @@ tedit0: ;
|
|||||||
.drag_k db 0 ;+33 ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
.drag_k db 0 ;+33 ¢ë¤¥«¥¨¥ ®â ª« ¢¨ âãàë
|
||||||
.sel TexSelect 0,0,0,0 ;+34 áâàãªâãà ¢ë¤¥«¥¨ï
|
.sel TexSelect 0,0,0,0 ;+34 áâàãªâãà ¢ë¤¥«¥¨ï
|
||||||
.seln TexSelect ;+50 ¤®¯®«¨â¥«ì ï áâàãªâãà ¢ë¤¥«¥¨ï
|
.seln TexSelect ;+50 ¤®¯®«¨â¥«ì ï áâàãªâãà ¢ë¤¥«¥¨ï
|
||||||
.tex dd 0 ;+66 text memory pointer
|
.tex dd 0 ;+66 text memory pointer
|
||||||
.tex_1 dd 0 ;+70 text first symbol pointer
|
.tex_1 dd 0 ;+70 text first symbol pointer
|
||||||
.tex_end dd 0 ;+74 text end memory pointer
|
.tex_end dd 0 ;+74 text end memory pointer
|
||||||
.cur_x dd 0 ;+78 ª®®à¤¨ â x ªãàá®à
|
.cur_x dd 0 ;+78 ª®®à¤¨ â x ªãàá®à
|
||||||
.cur_y dd 0 ;+82 ª®®à¤¨ â y ªãàá®à
|
.cur_y dd 0 ;+82 ª®®à¤¨ â y ªãàá®à
|
||||||
.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
|
.max_chars dd maxChars ;+86 ¬ ªá¨¬ «ì®¥ ç¨á«® ᨬ¢®«®¢ ¢ ®¤®¬ ¤®ªã¬¥â¥
|
||||||
.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
.count_colors_text dd 1 ;+90 ª®««¨ç¥á⢮ 梥⮢ ⥪áâ
|
||||||
.count_key_words dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
.count_key_words dd 0 ;+94 ª®««¨ç¥á⢮ ª«î祢ëå á«®¢
|
||||||
.color_cursor dd 0x808080 ;+98 梥⠪ãàá®à
|
.color_cursor dd 0x808080 ;+98 梥⠪ãàá®à
|
||||||
.color_wnd_capt dd 0x80 ;+102 梥⠯®«¥© ¢®ªà㣠®ª
|
.color_wnd_capt dd 0x80 ;+102 梥⠯®«¥© ¢®ªà㣠®ª
|
||||||
.color_wnd_work dd 0x0 ;+106 梥â ä® ®ª
|
.color_wnd_work dd 0x0 ;+106 梥â ä® ®ª
|
||||||
.color_wnd_bord dd 0xd0d0d0 ;+110 梥â ⥪áâ ¯®«ïå
|
.color_wnd_bord dd 0xd0d0d0 ;+110 梥â ⥪áâ ¯®«ïå
|
||||||
.color_select dd 0x208080 ;+114 梥⠢뤥«¥¨ï
|
.color_select dd 0x208080 ;+114 梥⠢뤥«¥¨ï
|
||||||
.color_cur_text dd 0xff0000 ;+118 梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
.color_cur_text dd 0xff0000 ;+118 梥â ᨬ¢®« ¯®¤ ªãàá®à®¬
|
||||||
.color_wnd_text dd 0xffff00 ;+122 梥â ⥪áâ ¢ ®ª¥
|
.color_wnd_text dd 0xffff00 ;+122 梥â ⥪áâ ¢ ®ª¥
|
||||||
.syntax_file dd 0 ;+126 㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
.syntax_file dd 0 ;+126 㪠§ ⥫ì ç «® ä ©« á¨â ªá¨á
|
||||||
.syntax_file_size dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
|
.syntax_file_size dd maxSyntaxFileSize ;+130 ¬ ªá¨¬ «ìë© à §¬¥à ä ©« á¨â ªá¨á
|
||||||
.text_colors dd 0 ;+134 㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
.text_colors dd 0 ;+134 㪠§ â¥«ì ¬ áᨢ 梥⮢ ⥪áâ
|
||||||
.help_text_f1 dd 0 ;+138 㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
|
.help_text_f1 dd 0 ;+138 㪠§ ⥫ì ⥪áâ á¯à ¢ª¨ (¯® ¦ ⨨ F1)
|
||||||
.help_id dd -1 ;+142 ¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
|
.help_id dd -1 ;+142 ¨¤¥â¨ä¨ª â®à ¤«ï á¯à ¢ª¨
|
||||||
.key_words_data dd 0 ;+146 㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
|
.key_words_data dd 0 ;+146 㪠§ ⥫ì áâàãªâãàë ª«î祢ëå á«®¢ TexColViv
|
||||||
.tim_ch dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
|
.tim_ch dd ? ;+150 ª®«¨ç¥á⢮ ¨§¬¥¥¨© ¢ ä ©«¥
|
||||||
.tim_undo dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
|
.tim_undo dd ? ;+154 ª®«¨ç¥á⢮ ®â¬¥¥ëå ¤¥©á⢨©
|
||||||
@ -381,8 +404,8 @@ tedit0: ;
|
|||||||
.panel_id db 0 ;+171 ®¬¥à ®âªàë⮩ ¯ ¥«¨
|
.panel_id db 0 ;+171 ®¬¥à ®âªàë⮩ ¯ ¥«¨
|
||||||
.key_new db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
|
.key_new db 0 ;+172 ᨬ¢®«, ª®â®àë© ¡ã¤¥â ¤®¡ ¢«ïâáï á ª« ¢¨ âãàë
|
||||||
.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襨ï áâப¨
|
.symbol_new_line db 20 ;+173 ᨬ¢®« § ¢¥à襨ï áâப¨
|
||||||
.scr_w dd wScr ;+174 ¢¥à⨪ «ìë© áªà®««¨£
|
.scr_w dd wScr ;+174 ¢¥à⨪ «ìë© áªà®««¨£
|
||||||
.scr_h dd hScr ;+178 £®à¨§®â «ìë© áªà®««¨£
|
.scr_h dd hScr ;+178 £®à¨§®â «ìë© áªà®««¨£
|
||||||
.arr_key_pos dd 0 ;+182 㪠§ â¥«ì ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
|
.arr_key_pos dd 0 ;+182 㪠§ â¥«ì ¬ áᨢ ¯®§¨æ¨© ª«î祢ëå á«®¢
|
||||||
.buffer dd buf ;+186 㪠§ â¥«ì ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
.buffer dd buf ;+186 㪠§ â¥«ì ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
||||||
.buffer_find dd buf_find ;+190 㪠§ â¥«ì ¡ãä¥à ¤«ï ¯®¨áª
|
.buffer_find dd buf_find ;+190 㪠§ â¥«ì ¡ãä¥à ¤«ï ¯®¨áª
|
||||||
@ -391,16 +414,16 @@ tedit0: ;
|
|||||||
.mode_invis db 0 ;+196 ०¨¬ ¯®ª § ¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
.mode_invis db 0 ;+196 ०¨¬ ¯®ª § ¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||||
.gp_opt db 0 ;+197 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ äãªæ¨¥© ted_get_pos_by_cursor
|
.gp_opt db 0 ;+197 ®¯æ¨¨ ¢®§¢à é ¥¬ë¥ äãªæ¨¥© ted_get_pos_by_cursor
|
||||||
.fun_on_key_ctrl_o dd ted_but_open_file ;+198 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ¦ ⨨ Ctrl+O (®âªàë⨥ ä ©« )
|
.fun_on_key_ctrl_o dd ted_but_open_file ;+198 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ¦ ⨨ Ctrl+O (®âªàë⨥ ä ©« )
|
||||||
.fun_on_key_ctrl_f dd ted_but_find ;+202 ... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ¥«¨ ¯®¨áª )
|
.fun_on_key_ctrl_f dd ted_but_find ;+202 ... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ¥«¨ ¯®¨áª )
|
||||||
.fun_on_key_ctrl_n dd ted_but_new_file ;+206 ... Ctrl+N (ᮧ¤ ¨¥ ®¢®£® ¤®ªã¬¥â )
|
.fun_on_key_ctrl_n dd ted_but_new_file ;+206 ... Ctrl+N (ᮧ¤ ¨¥ ®¢®£® ¤®ªã¬¥â )
|
||||||
.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
|
.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
|
||||||
.buffer_size dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
.buffer_size dd BUF_SIZE ;+214 à §¬¥à ¡ãä¥à ª®¯¨à®¢ ¨ï/¢áâ ¢ª¨
|
||||||
.fun_find_err dd ted_on_find_err ;+218 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®ç¨«áï ¥ã¤ ç®
|
.fun_find_err dd ted_on_find_err ;+218 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®ç¨«áï ¥ã¤ ç®
|
||||||
.fun_init_synt_err dd ted_on_init_synt_err ;+222 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç®¬ ®âªàë⨨ ä ©« á¨â ªá¨á
|
.fun_init_synt_err dd ted_on_init_synt_err ;+222 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç®¬ ®âªàë⨨ ä ©« á¨â ªá¨á
|
||||||
.fun_draw_panel_buttons dd draw_but_toolbar ;+226 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á ª®¯ª ¬¨
|
.fun_draw_panel_buttons dd draw_but_toolbar ;+226 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á ª®¯ª ¬¨
|
||||||
.fun_draw_panel_find dd draw_panel_find ;+230 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
|
.fun_draw_panel_find dd draw_panel_find ;+230 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ ¯®¨áª
|
||||||
.fun_draw_panel_syntax dd draw_panel_syntax ;+234 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
.fun_draw_panel_syntax dd draw_panel_syntax ;+234 㪠§ ⥫ì äãªæ¨î à¨á®¢ ¨ï ¯ ¥«¨ á¨â ªá¨á
|
||||||
.fun_save_err dd ted_save_err_msg ;+238 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
.fun_save_err dd ted_save_err_msg ;+238 㪠§ ⥫ì äãªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ¥¨¥ ä ©« § ª®ç¨«®áì ¥ã¤ ç®
|
||||||
.increase_size dd 200 ;+242 ç¨á«® ᨬ¢®«®¢ ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ¥å¢ ⪥
|
.increase_size dd 200 ;+242 ç¨á«® ᨬ¢®«®¢ ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ¥å¢ ⪥
|
||||||
.ptr_free_symb dd ? ;+246 ¨á¯®«ì§ã¥âáï ¢ãâà¨ í«¥¬¥â ¤«ï ãáª®à¥¨ï ¢áâ ¢ª¨ ⥪áâ
|
.ptr_free_symb dd ? ;+246 ¨á¯®«ì§ã¥âáï ¢ãâà¨ í«¥¬¥â ¤«ï ãáª®à¥¨ï ¢áâ ¢ª¨ ⥪áâ
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
@ -436,7 +459,6 @@ db '
|
|||||||
.end:
|
.end:
|
||||||
db 0
|
db 0
|
||||||
|
|
||||||
;--------
|
|
||||||
msgbox_1:
|
msgbox_1:
|
||||||
dw 0
|
dw 0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
||||||
@ -447,7 +469,7 @@ msgbox_1:
|
|||||||
db 0
|
db 0
|
||||||
msgbox_2:
|
msgbox_2:
|
||||||
db 3,0
|
db 3,0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0
|
||||||
db '‘®åà ¨âì ¨§¬¥¥¨ï ¢ ä ©«¥?',0
|
db '‘®åà ¨âì ¨§¬¥¥¨ï ¢ ä ©«¥?',0
|
||||||
db '‘®åà ¨âì',0
|
db '‘®åà ¨âì',0
|
||||||
db '<27>¥ á®åà ïâì',0
|
db '<27>¥ á®åà ïâì',0
|
||||||
@ -460,7 +482,7 @@ msgbox_2_funct:
|
|||||||
|
|
||||||
msgbox_3:
|
msgbox_3:
|
||||||
db 1,0
|
db 1,0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0
|
||||||
db 'Žè¨¡ª ¯à¨ ®âªàë⨨ ä ©« á 梥⮢묨 áâனª ¬¨!',13,\
|
db 'Žè¨¡ª ¯à¨ ®âªàë⨨ ä ©« á 梥⮢묨 áâனª ¬¨!',13,\
|
||||||
'<27>®â®¬ã ¢ë¤¥«¥¨¥ á«®¢ 梥⮬ ¥ ¢®§¬®¦®.',13,\
|
'<27>®â®¬ã ¢ë¤¥«¥¨¥ á«®¢ 梥⮬ ¥ ¢®§¬®¦®.',13,\
|
||||||
' (ª®¤ ®è¨¡ª¨ ='
|
' (ª®¤ ®è¨¡ª¨ ='
|
||||||
@ -471,7 +493,7 @@ msgbox_3:
|
|||||||
|
|
||||||
msgbox_4:
|
msgbox_4:
|
||||||
db 1,0
|
db 1,0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0
|
||||||
db 'Žè¨¡ª ¯à¨ ®âªàë⨨ ä ©« !',13,\
|
db 'Žè¨¡ª ¯à¨ ®âªàë⨨ ä ©« !',13,\
|
||||||
'‚®§¬®¦® ¨¬ï ä ©« ¢¢¥¤¥® ¥ ¯à ¢¨«ì®.',13,\
|
'‚®§¬®¦® ¨¬ï ä ©« ¢¢¥¤¥® ¥ ¯à ¢¨«ì®.',13,\
|
||||||
' (ª®¤ ®è¨¡ª¨ ='
|
' (ª®¤ ®è¨¡ª¨ ='
|
||||||
@ -482,7 +504,7 @@ msgbox_4:
|
|||||||
|
|
||||||
msgbox_5:
|
msgbox_5:
|
||||||
db 3,0
|
db 3,0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0
|
||||||
db '‘®åà ¨âì ¨§¬¥¥¨ï ¢ ä ©«¥?',0
|
db '‘®åà ¨âì ¨§¬¥¥¨ï ¢ ä ©«¥?',0
|
||||||
db '<27>¥ á®åà ïâì',0
|
db '<27>¥ á®åà ïâì',0
|
||||||
db 'Žâ¬¥ ',0
|
db 'Žâ¬¥ ',0
|
||||||
@ -493,7 +515,7 @@ msgbox_5_funct:
|
|||||||
|
|
||||||
msgbox_6:
|
msgbox_6:
|
||||||
db 1,0
|
db 1,0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0
|
||||||
db 'Žè¨¡ª ¯à¨ á®åà ¥¨¨ ä ©« !',13,\
|
db 'Žè¨¡ª ¯à¨ á®åà ¥¨¨ ä ©« !',13,\
|
||||||
'‚®§¬®¦® ¨¬ï ä ©« ¢¢¥¤¥® ¥ ¯à ¢¨«ì®.',13,\
|
'‚®§¬®¦® ¨¬ï ä ©« ¢¢¥¤¥® ¥ ¯à ¢¨«ì®.',13,\
|
||||||
' (ª®¤ ®è¨¡ª¨ ='
|
' (ª®¤ ®è¨¡ª¨ ='
|
||||||
@ -503,7 +525,7 @@ msgbox_6:
|
|||||||
db 0
|
db 0
|
||||||
msgbox_7:
|
msgbox_7:
|
||||||
db 1,0
|
db 1,0
|
||||||
db '’¥ªáâ ¥ ©¤¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '’¥ªáâ ¥ ©¤¥',0
|
||||||
db '„®á⨣ãâ ª®¥æ ¤®ªã¬¥â .',13,\
|
db '„®á⨣ãâ ª®¥æ ¤®ªã¬¥â .',13,\
|
||||||
'<27>®¯à®¡ã©â¥ ¯¥à¥©â¨ ¢ ç «® ¤®ªã¬¥â ',13,\
|
'<27>®¯à®¡ã©â¥ ¯¥à¥©â¨ ¢ ç «® ¤®ªã¬¥â ',13,\
|
||||||
'¨«¨ ¨§¬¥¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0
|
'¨«¨ ¨§¬¥¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0
|
||||||
@ -511,13 +533,20 @@ msgbox_7:
|
|||||||
db 0
|
db 0
|
||||||
msgbox_8:
|
msgbox_8:
|
||||||
db 3,0
|
db 3,0
|
||||||
db '‚¨¬ ¨¥',0 ;+2 = +MB_TEXT_OFFSET
|
db '‚¨¬ ¨¥',0
|
||||||
db '„«ï ¢ë室 § ¢¥àè¨â¥ à ¡®âã á ä ©«®¬.',13,\
|
db '„«ï ¢ë室 § ¢¥àè¨â¥ à ¡®âã á ä ©«®¬.',13,\
|
||||||
'<27>®¯à®¡ã©â¥ á®åà ¨âì ¨§¬¥¥¨ï ¢ ä ©«¥',13,\
|
'<27>®¯à®¡ã©â¥ á®åà ¨âì ¨§¬¥¥¨ï ¢ ä ©«¥',13,\
|
||||||
'¨«¨ ç âì ®¢ë© ¯ãá⮩.',0
|
'¨«¨ ç âì ®¢ë© ¯ãá⮩.',0
|
||||||
db 'Žâ¬¥ ',0
|
db 'Žâ¬¥ ',0
|
||||||
db 0
|
db 0
|
||||||
|
msgbox_9:
|
||||||
|
db 3,0
|
||||||
|
db '‚¨¬ ¨¥',0
|
||||||
|
db '<27>¥ ®âªàë«áï ',39,'¤¨ «®£ ®âªàëâ¨ï ä ©« .',39,0
|
||||||
|
db '‡ ªàëâì',0
|
||||||
|
db 0
|
||||||
|
|
||||||
|
txtFile db '” ©«:',0
|
||||||
txtFindCapt db '<27>®¨áª',0
|
txtFindCapt db '<27>®¨áª',0
|
||||||
txtFindNext db '<27> ©â¨ ¤ «¥¥',0
|
txtFindNext db '<27> ©â¨ ¤ «¥¥',0
|
||||||
txtFormatCapt db '”®à¬ â',0
|
txtFormatCapt db '”®à¬ â',0
|
||||||
@ -535,7 +564,6 @@ db 'Exit',0
|
|||||||
.end:
|
.end:
|
||||||
db 0
|
db 0
|
||||||
|
|
||||||
;--------
|
|
||||||
msgbox_1:
|
msgbox_1:
|
||||||
dw 0
|
dw 0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
||||||
@ -546,7 +574,7 @@ msgbox_1:
|
|||||||
db 0
|
db 0
|
||||||
msgbox_2:
|
msgbox_2:
|
||||||
db 3,0
|
db 3,0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0
|
||||||
db 'Save changes to the file?',0
|
db 'Save changes to the file?',0
|
||||||
db 'Save',0
|
db 'Save',0
|
||||||
db 'Discard',0
|
db 'Discard',0
|
||||||
@ -559,7 +587,7 @@ msgbox_2_funct:
|
|||||||
|
|
||||||
msgbox_3:
|
msgbox_3:
|
||||||
db 1,0
|
db 1,0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0
|
||||||
db 'Error opening the file with the color settings!',13,\
|
db 'Error opening the file with the color settings!',13,\
|
||||||
'Because color selection of words is not possible.',13,\
|
'Because color selection of words is not possible.',13,\
|
||||||
' (error code ='
|
' (error code ='
|
||||||
@ -570,7 +598,7 @@ msgbox_3:
|
|||||||
|
|
||||||
msgbox_4:
|
msgbox_4:
|
||||||
db 1,0
|
db 1,0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0
|
||||||
db 'Error opening file!',13,\
|
db 'Error opening file!',13,\
|
||||||
'Maybe the file name is not entered correctly.',13,\
|
'Maybe the file name is not entered correctly.',13,\
|
||||||
' (error code ='
|
' (error code ='
|
||||||
@ -581,7 +609,7 @@ msgbox_4:
|
|||||||
|
|
||||||
msgbox_5:
|
msgbox_5:
|
||||||
db 3,0
|
db 3,0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0
|
||||||
db 'Save changes to the file?',0
|
db 'Save changes to the file?',0
|
||||||
db 'Discard',0
|
db 'Discard',0
|
||||||
db 'Cancel',0
|
db 'Cancel',0
|
||||||
@ -592,7 +620,7 @@ msgbox_5_funct:
|
|||||||
|
|
||||||
msgbox_6:
|
msgbox_6:
|
||||||
db 1,0
|
db 1,0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0
|
||||||
db 'Error saving file!',13,\
|
db 'Error saving file!',13,\
|
||||||
'Maybe the file name is not entered correctly.',13,\
|
'Maybe the file name is not entered correctly.',13,\
|
||||||
' (error code ='
|
' (error code ='
|
||||||
@ -602,7 +630,7 @@ msgbox_6:
|
|||||||
db 0
|
db 0
|
||||||
msgbox_7:
|
msgbox_7:
|
||||||
db 1,0
|
db 1,0
|
||||||
db 'Text not found.',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Text not found.',0
|
||||||
db 'Reached end of the document.',13,\
|
db 'Reached end of the document.',13,\
|
||||||
'Try to go to the beginning of the document',13,\
|
'Try to go to the beginning of the document',13,\
|
||||||
'or change the query and search again.',0
|
'or change the query and search again.',0
|
||||||
@ -610,20 +638,26 @@ msgbox_7:
|
|||||||
db 0
|
db 0
|
||||||
msgbox_8:
|
msgbox_8:
|
||||||
db 3,0
|
db 3,0
|
||||||
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
|
db 'Warning',0
|
||||||
db 'To quit, quit the file.',13,\
|
db 'To quit, quit the file.',13,\
|
||||||
'Try to keep changes to a file',13,\
|
'Try to keep changes to a file',13,\
|
||||||
'or start a new blank file.',0
|
'or start a new blank file.',0
|
||||||
db 'Cancel',0
|
db 'Cancel',0
|
||||||
db 0
|
db 0
|
||||||
|
msgbox_9:
|
||||||
|
db 3,0
|
||||||
|
db 'Warning',0
|
||||||
|
db 'Error run ',39,'open file dialog',39,0
|
||||||
|
db 'Close',0
|
||||||
|
db 0
|
||||||
|
|
||||||
|
txtFile db 'File:',0
|
||||||
txtFindCapt db 'Search',0
|
txtFindCapt db 'Search',0
|
||||||
txtFindNext db 'Find next',0
|
txtFindNext db 'Find next',0
|
||||||
txtFormatCapt db 'Format',0
|
txtFormatCapt db 'Format',0
|
||||||
txtFormatApply db 'Apply',0
|
txtFormatApply db 'Apply',0
|
||||||
|
|
||||||
end if
|
end if
|
||||||
;------
|
|
||||||
|
|
||||||
KM_SHIFT equ 0x00010000
|
KM_SHIFT equ 0x00010000
|
||||||
KM_CTRL equ 0x00020000
|
KM_CTRL equ 0x00020000
|
||||||
|
@ -25,6 +25,9 @@ include '../../develop/libraries/box_lib/load_lib.mac'
|
|||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
|
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
|
||||||
|
use_OpenDialog
|
||||||
|
|
||||||
include 't_data.inc'
|
include 't_data.inc'
|
||||||
include 'strlen.inc'
|
include 'strlen.inc'
|
||||||
include 't_draw.inc' ;draw main window functions
|
include 't_draw.inc' ;draw main window functions
|
||||||
@ -47,7 +50,7 @@ start:
|
|||||||
mov esi,file_name
|
mov esi,file_name
|
||||||
call strlen
|
call strlen
|
||||||
mov ecx,eax
|
mov ecx,eax
|
||||||
mov edi,buf_cmd_lin
|
mov edi,openfile_path
|
||||||
rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©« ¢ ¡ãä¥à edit1
|
rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©« ¢ ¡ãä¥à edit1
|
||||||
|
|
||||||
load_libraries l_libs_start,load_lib_end
|
load_libraries l_libs_start,load_lib_end
|
||||||
@ -67,7 +70,9 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
stdcall [ted_init], tedit0
|
stdcall [ted_init], tedit0
|
||||||
stdcall dword[tl_data_init], tree1
|
stdcall dword[tl_data_init], tree1
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
; OpenDialog initialisation
|
||||||
|
init_OpenDialog OpenDialog_data
|
||||||
|
|
||||||
; init bmp file
|
; init bmp file
|
||||||
mov ecx,1200*18
|
mov ecx,1200*18
|
||||||
@ -170,9 +175,9 @@ mov ecx,ebx
|
|||||||
stdcall [ted_init_syntax_file], tedit0,run_file_70,file_name
|
stdcall [ted_init_syntax_file], tedit0,run_file_70,file_name
|
||||||
|
|
||||||
;--- get cmd line ---
|
;--- get cmd line ---
|
||||||
cmp byte[buf_cmd_lin+3],0 ;buf_cmd_lin
|
cmp byte[openfile_path+3],0 ;openfile_path
|
||||||
je @f ;if file names exist
|
je @f ;if file names exist
|
||||||
mov esi,buf_cmd_lin
|
mov esi,openfile_path
|
||||||
call strlen ;eax=strlen
|
call strlen ;eax=strlen
|
||||||
mov [edit1.size],eax
|
mov [edit1.size],eax
|
||||||
call but_no_msg_OpenFile
|
call but_no_msg_OpenFile
|
||||||
@ -180,11 +185,31 @@ mov ecx,ebx
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
red_win:
|
red_win:
|
||||||
|
call draw_window
|
||||||
|
|
||||||
|
align 4
|
||||||
|
still:
|
||||||
|
mov eax,10
|
||||||
|
mcall
|
||||||
|
|
||||||
|
cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª
|
||||||
|
jz red_win
|
||||||
|
cmp al,2
|
||||||
|
jz key
|
||||||
|
cmp al,3
|
||||||
|
jz button
|
||||||
|
cmp al,6
|
||||||
|
jz mouse
|
||||||
|
|
||||||
|
jmp still
|
||||||
|
|
||||||
|
align 4
|
||||||
|
draw_window:
|
||||||
mcall 12,1
|
mcall 12,1
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ebx,10*65536+485
|
mov ebx,10*65536+485
|
||||||
mov ecx,10*65536+280
|
mov ecx,10*65536+320
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
or edx,0x73000000
|
or edx,0x73000000
|
||||||
mov edi,hed
|
mov edi,hed
|
||||||
@ -202,6 +227,13 @@ red_win:
|
|||||||
inc bx
|
inc bx
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
mov eax,4
|
||||||
|
mov ebx,185*65536+9
|
||||||
|
mov ecx,[sc.work_text]
|
||||||
|
or ecx,0x80000000
|
||||||
|
mov edx,txtFile
|
||||||
|
int 0x40
|
||||||
|
|
||||||
stdcall [edit_box_draw], dword edit1
|
stdcall [edit_box_draw], dword edit1
|
||||||
stdcall [menu_bar_draw], dword menu_data_1
|
stdcall [menu_bar_draw], dword menu_data_1
|
||||||
|
|
||||||
@ -231,23 +263,7 @@ red_win:
|
|||||||
@@:
|
@@:
|
||||||
|
|
||||||
mcall 12,2
|
mcall 12,2
|
||||||
|
ret
|
||||||
align 4
|
|
||||||
still:
|
|
||||||
mov eax,10
|
|
||||||
mcall
|
|
||||||
|
|
||||||
cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª
|
|
||||||
jz red_win
|
|
||||||
cmp al,2
|
|
||||||
jz key
|
|
||||||
cmp al,3
|
|
||||||
jz button
|
|
||||||
cmp al,6
|
|
||||||
jz mouse
|
|
||||||
|
|
||||||
jmp still
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
mouse:
|
mouse:
|
||||||
@ -490,10 +506,9 @@ button:
|
|||||||
txtErrIni0 db '<27>¥ ®âªàë«áï ä ©« á ¨ª®ª ¬¨',0
|
txtErrIni0 db '<27>¥ ®âªàë«áï ä ©« á ¨ª®ª ¬¨',0
|
||||||
err_ini0 db 0
|
err_ini0 db 0
|
||||||
|
|
||||||
edit1 edit_box 250, 220, 5, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_cmd_lin, mouse_dd, 0
|
edit1 edit_box 250, 220, 5, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 4090, openfile_path, mouse_dd, 0
|
||||||
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
|
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
|
||||||
|
|
||||||
buf_cmd_lin db 302 dup(0)
|
|
||||||
buf_find db 302 dup(0)
|
buf_find db 302 dup(0)
|
||||||
|
|
||||||
if lang eq ru
|
if lang eq ru
|
||||||
@ -522,10 +537,11 @@ load_lib_end:
|
|||||||
|
|
||||||
|
|
||||||
i_end:
|
i_end:
|
||||||
align 16
|
rb 1024
|
||||||
procinfo process_information
|
align 16
|
||||||
thread:
|
procinfo process_information
|
||||||
rb 1024
|
thread:
|
||||||
|
rb 1024
|
||||||
stacktop:
|
stacktop:
|
||||||
sys_path:
|
sys_path:
|
||||||
rb 4096
|
rb 4096
|
||||||
@ -533,6 +549,12 @@ stacktop:
|
|||||||
rb 4096
|
rb 4096
|
||||||
file_name_rez:
|
file_name_rez:
|
||||||
rb 4096
|
rb 4096
|
||||||
|
plugin_path:
|
||||||
|
rb 4096
|
||||||
|
openfile_path:
|
||||||
|
rb 4096
|
||||||
|
filename_area:
|
||||||
|
rb 256
|
||||||
file_info:
|
file_info:
|
||||||
rb 40
|
rb 40
|
||||||
mem:
|
mem:
|
||||||
|
Loading…
Reference in New Issue
Block a user