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:
IgorA 2010-05-27 14:46:37 +00:00
parent 18f7c161ab
commit a5e9346baa
6 changed files with 429 additions and 298 deletions

View File

@ -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:

View File

@ -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>

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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: