Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1464 → Rev 1467

/programs/other/planet_v/planet_v.asm
19,6 → 19,8
 
include '../../develop/libraries/box_lib/load_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_h equ 325 ;¬¨­¨¬ «ì­ ï ¢ëá®â  ®ª­ 
109,19 → 111,16
stdcall dword[tl_node_add], txt_tile_type_0, 0, tree1
 
; init bmp file
push dword RGB_TILE_SIZE+300 ;300 - § ¯ á­ë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª  bmp ä ©« 
call mem.Alloc
stdcall mem.Alloc, dword RGB_TILE_SIZE+300 ;300 - § ¯ á­ë¥ ¡ ©âë á ãç¥â®¬ § £®«®¢ª  bmp ä ©« 
mov [bmp_icon],eax
 
stdcall array_tile_function, tile_00,max_tiles_count,tile_init
stdcall tiles_init_grid, tile_00,max_tiles_count,max_tiles_cols
 
push dword TREE_ICON_SYS16_BMP_SIZE
call mem.Alloc
stdcall mem.Alloc, dword TREE_ICON_SYS16_BMP_SIZE
mov [tree_sys_icon],eax
 
push dword TREE_ICON_NOD16_BMP_SIZE
call mem.Alloc
stdcall mem.Alloc, dword TREE_ICON_NOD16_BMP_SIZE
mov [tree_nod_icon],eax
 
copy_path fn_icon1,sys_path,file_name,0x0
173,10 → 172,15
 
mov byte[file_name],0
 
; OpenDialog initialisation
init_OpenDialog OpenDialog_data
 
align 4
red_win:
call draw_win
call draw_window
call but_MetLoad
 
align 4
still:
mov eax,10
mcall
201,6 → 205,7
 
jmp still
 
align 4
key:
push eax ebx
mcall 2
212,13 → 217,13
push dword tree2
call [tl_key]
 
mov ebx,dword[el_focus] ;÷òî-áû êàðòà íå äâèãàëàñü åñëè îêíà treelist â ôîêóñå
mov ebx,dword[el_focus] ;çâ®-¡ë ª àâ  ­¥ ¤¢¨£ « áì ¥á«¨ ®ª­  treelist ¢ 䮪ãá¥
cmp ebx, dword tree1
je .end_f
cmp ebx, dword tree2
je .end_f
 
;÷òî-áû êàðòà íå äâèãàëàñü åñëè òåêñòîâûå ïîëÿ â ôîêóñå
;çâ®-¡ë ª àâ  ­¥ ¤¢¨£ « áì ¥á«¨ ⥪áâ®¢ë¥ ¯®«ï ¢ 䮪ãá¥
test word[edit1.flags],10b ;ed_focus
jne .end_f
test word[edit2.flags],10b ;ed_focus
266,7 → 271,7
 
 
align 4
draw_win:
draw_window:
pushad
mcall 12,1
 
301,8 → 306,7
stdcall dword[tl_draw],dword tree1
stdcall dword[tl_draw],dword tree2
mov dword[wScrMetki.all_redraw],1
push dword wScrMetki
call [scrollbar_ver_draw]
stdcall [scrollbar_ver_draw], dword wScrMetki
 
mov eax,8 ;ª­®¯ª 
mov ebx,145*65536+20
316,6 → 320,11
mov edx,5
int 0x40
 
mov ebx,170*65536+40 ;ª­®¯ª  ¢ë§®¢  ¤¨ «®£  OpenDial
;mov ecx,5*65536+25
mov edx,13
int 0x40
 
mov bx,di
shl ebx,16
mov bx,100
351,7 → 360,7
shl ebx,16
mov bx,30
;mov ebx,405*65536+30
mov ecx,265*65536+25
;mov ecx,265*65536+25
mov edx,11
int 0x40
 
360,7 → 369,7
shl ebx,16
mov bx,30
;mov ebx,370*65536+30
mov ecx,265*65536+25
;mov ecx,265*65536+25
mov edx,10
int 0x40
 
446,11 → 455,8
 
call draw_tiles
 
push dword ch2
call [check_box_draw]
push dword ch1
call [check_box_draw]
 
stdcall [check_box_draw], dword ch1
stdcall [check_box_draw], dword ch2
stdcall [edit_box_draw], edit1
stdcall [edit_box_draw], edit2
 
522,6 → 528,10
jne @f
call fun_goto_met
@@:
cmp ah,13 ;¤¨ «®£ OpenDialog ¤«ï ¯®¨áª  ¯ ¯ª¨
jne @f
call fun_opn_dlg
@@:
cmp ah,1
jne still
 
531,10 → 541,10
stdcall array_tile_function, tile_00,max_tiles_count,tile_destroy
 
stdcall dword[tl_data_clear], tree1
mov dword[tree2.data_img_sys],0 ;÷èñòèì óêàçàòåëü íà ñèñòåìíûå èêîíêè,
;ò. ê. îíè áûëè óäàëåíû âåðõíåé ôóíêöèåé tl_data_clear
;ïîâòîðíûé âûçîâ tl_data_clear áåç ÷èñòêè óêàçàòåëÿ âûçâåò îøèáêó
mov dword[tree2.data_img],0 ;÷èñòèì óêàçàòåëü íà èêîíêè óçëîâ
mov dword[tree2.data_img_sys],0 ;ç¨á⨬ 㪠§ â¥«ì ­  á¨á⥬­ë¥ ¨ª®­ª¨,
;â. ª. ®­¨ ¡ë«¨ 㤠«¥­ë ¢¥àå­¥© ä㭪樥© tl_data_clear
;¯®¢â®à­ë© ¢ë§®¢ tl_data_clear ¡¥§ ç¨á⪨ 㪠§ â¥«ï ¢ë§¢¥â ®è¨¡ªã
mov dword[tree2.data_img],0 ;ç¨á⨬ 㪠§ â¥«ì ­  ¨ª®­ª¨ 㧫®¢
stdcall dword[tl_data_clear], tree2
 
; stdcall dword[img_destroy], dword[data_icon]
550,7 → 560,7
mov eax,dword[data_rgb]
mov ecx,dword[size] ;ecx = size
imul ecx,3
@@: ;çàòåìíåíèå öâåòà ïèêñåëåé
@@: ;§ â¥¬­¥­¨¥ æ¢¥â  ¯¨ªá¥«¥©
shr byte[eax],1
and byte[eax],0x7f
inc eax
559,8 → 569,8
mov eax,dword[data_rgb]
mov ecx,dword[size] ;ecx = size
shr ecx,1
@@: ;ñëîæåíèå öâåòîâ ïèêñåëåé
mov ebx,dword[eax+3] ;êîïèðóåì öâåò ñîñåäíåãî ïèêñåëÿ
@@: ;á«®¦¥­¨¥ 梥⮢ ¯¨ªá¥«¥©
mov ebx,dword[eax+3] ;ª®¯¨à㥬 梥â á®á¥¤­¥£® ¯¨ªá¥«ï
add word[eax],bx
shr ebx,16
add byte[eax+2],bl
574,8 → 584,8
add ebx,3
mov ecx,dword[size] ;ecx = size
shr ecx,1
dec ecx ;ëèøíèé ïèêñåëü
@@: ;ïîäæàòèå ïèêñåëåé
dec ecx ;«¨è­¨© ¯¨ªá¥«ì
@@: ;¯®¤¦ â¨¥ ¯¨ªá¥«¥©
mov edx,dword[ebx]
mov word[eax],dx
shr edx,16
600,7 → 610,7
mov eax,dword[data_rgb] ;eax =
mov ecx,dword[size] ;ecx = size
imul ecx,3
@@: ;çàòåìíåíèå öâåòà ïèêñåëåé
@@: ;§ â¥¬­¥­¨¥ æ¢¥â  ¯¨ªá¥«¥©
shr byte[eax],1
and byte[eax],0x7f
inc eax
614,8 → 624,8
mov ecx,dword[size] ;ecx = size
shr ecx,1
xor edi,edi
@@: ;ñëîæåíèå öâåòîâ ïèêñåëåé
mov edx,dword[ebx] ;êîïèðóåì öâåò íèæíåãî ïèêñåëÿ
@@: ;á«®¦¥­¨¥ 梥⮢ ¯¨ªá¥«¥©
mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠭¨¦­¥£® ¯¨ªá¥«ï
add word[eax],dx
shr edx,16
add byte[eax+2],dl
638,10 → 648,10
add ebx,eax
mov ecx,dword[size] ;ecx = size
shr ecx,1
sub ecx,dword[size_w] ;ëèøíÿÿ ñòðîêà ïèêñåëåé
sub ecx,dword[size_w] ;«¨è­ïï áâப  ¯¨ªá¥«¥©
xor edi,edi
@@: ;ïîäæàòèå ïèêñåëåé
mov edx,dword[ebx] ;êîïèðóåì öâåò íèæíåãî ïèêñåëÿ
@@: ;¯®¤¦ â¨¥ ¯¨ªá¥«¥©
mov edx,dword[ebx] ;ª®¯¨à㥬 梥⠭¨¦­¥£® ¯¨ªá¥«ï
mov word[eax],dx
shr edx,16
mov byte[eax+2],dl
835,6 → 845,24
ret
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_dn db 25,0
txt_met_sh db '*',0
855,7 → 883,7
ch_text1 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
editboxes_end:
 
901,7 → 929,6
.ar_offset dd 1 ;+84
 
ed_buffer: ;òåêñò äëÿ edit
.1: rb 502
.2: rb 32
 
el_focus dd tree1
917,20 → 944,50
 
txt_tile_path db 'tile path',0
rb 300
txt_tile_type dd txt_tile_type_0 ;óêàçàòåëü íà âûáðàííûé òèï ôàéëîâ
txt_tile_type dd txt_tile_type_0 ;㪠§ â¥«ì ­  ¢ë¡à ­­ë© ⨯ ä ©«®¢
txt_tile_type_0 db 0
rb 10
 
;---------------------------------------------------------------------
align 4
map: ;êîîðäèíàòû êàðòû
.coord_x dd 0 ;êîîðäèíàòà x
.coord_y dd 0 ;êîîðäèíàòà y
.zoom db 1 ;ìàñøòàá
OpenDialog_data:
.type dd 2
.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 'TXT',0
.end:
db 0
 
align 4
map: ;ª®®à¤¨­ âë ª àâë
.coord_x dd 0 ;ª®®à¤¨­ â  x
.coord_y dd 0 ;ª®®à¤¨­ â  y
.zoom db 1 ;¬ áèâ ¡
 
align 4
tile_00 rb size_tile_struc * max_tiles_count
 
;ýòîò êîä íå ìîé, îí ïðåîáðàçóåò ÷èñëî â ñòðîêó
;íâ®â ª®¤ ­¥ ¬®©, ®­ ¯à¥®¡à §ã¥â ç¨á«® ¢ áâபã
;input:
; eax = value
; edi = string buffer
946,32 → 1003,39
 
align 4
.str:
mov ecx,0x0a ;çàäàåòñÿ ñèñòåìà ñ÷èñëåíèÿ èçìåíÿþòñÿ ðåãèñòðû ebx,eax,ecx,edx âõîäíûå ïàðàìåòðû eax - ÷èñëî
;ïðåðåâîä ÷èñëà â ASCII ñòðîêó âçîäíûå äàííûå ecx=ñèñòåìà ñ÷èñëåíÿ edi àäðåñ êóäà çàïèñûâàòü, áóäåì ñòðîêó, ïðè÷åì êîíåö ïåðåìåííîé
cmp eax,ecx ;ñðàâíèòü åñëè â eax ìåíüøå ÷åì â ecx òî ïåðåéòè íà @@-1 ò.å. íà pop eax
mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬  áç¨á«¥­¨ï ¨§¬¥­ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤­ë¥ ¯ à ¬¥âàë eax - ç¨á«®
;¯à¥à¥¢®¤ ç¨á«  ¢ ASCII áâப㠢§®¤­ë¥ ¤ ­­ë¥ ecx=á¨á⥬  áç¨á«¥­ï edi  ¤à¥á ªã¤  § ¯¨á뢠âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®­¥æ ¯¥à¥¬¥­­®©
cmp eax,ecx ;áà ¢­¨âì ¥á«¨ ¢ eax ¬¥­ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ ­  @@-1 â.¥. ­  pop eax
jb @f
xor edx,edx ;î÷èñòèòü edx
div ecx ;ðàçäåëèòü - îñòàòîê â edx
push edx ;ïîëîæèòü â ñòåê
;dec edi ;ñìåùåíèå íåîáõîäèìîå äëÿ çàïèñè ñ êîíöà ñòðîêè
call .str;ïåðåéòè íà ñàìó ñåáÿ ò.å. âûçâàòü ñàìó ñåáÿ è òàê äî òîãî ìîìåíòà ïîêà â eax íå ñòàíåò ìåíüøå ÷åì â ecx
xor edx,edx ;®ç¨áâ¨âì edx
div ecx ;à §¤¥«¨âì - ®áâ â®ª ¢ edx
push edx ;¯®«®¦¨âì ¢ á⥪
;dec edi ;ᬥ饭¨¥ ­¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®­æ  áâப¨
call .str;¯¥à¥©â¨ ­  á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥­â  ¯®ª  ¢ eax ­¥ áâ ­¥â ¬¥­ìè¥ ç¥¬ ¢ ecx
pop eax
@@: ;cmp al,10 ;ïðîâåðèòü íå ìåíüøå ëè çíà÷åíèå â al ÷åì 10 (äëÿ ñèñòåìû ñ÷èñëåíÿ 10 äàííàÿ êîìàíäà - ëèøíàÿ))
or al,0x30 ;äàííàÿ êîìàíäà êîðî÷å ÷åì äâå âûøå
stosb ;çàïèñàòü ýëåìåíò èç ðåãèñòðà al â ÿ÷åêó ïàìÿòè es:edi
ret ;âåðíóòüñÿ ÷åíü èíòåðåñíûé õîä ò.ê. ïîêà â ñòåêå õðàíèòüñÿ êîë-âî âûçîâîâ òî ñòîëüêî ðàç ìû è áóäåì âûçûâàòüñÿ
@@: ;cmp al,10 ;¯à®¢¥à¨âì ­¥ ¬¥­ìè¥ «¨ §­ ç¥­¨¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥­ï 10 ¤ ­­ ï ª®¬ ­¤  - «¨è­ ï))
or al,0x30 ;¤ ­­ ï ª®¬ ­¤  ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥
stosb ;§ ¯¨á âì í«¥¬¥­â ¨§ ॣ¨áâà  al ¢ ï祪㠯 ¬ï⨠es:edi
ret ;¢¥à­ãâìáï ç¥­ì ¨­â¥à¥á­ë© 室 â.ª. ¯®ª  ¢ á⥪¥ åà ­¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
 
 
hed db 'Planet viewer 26.03.10',0 ;¯®¤¯¨áì ®ª­ 
hed db 'Planet viewer 27.05.10',0 ;¯®¤¯¨áì ®ª­ 
 
sc system_colors ;á¨á⥬­ë¥ 梥â 
mouse_dd dd 0 ;­ã¦­® ¤«ï Shift-  ¢ editbox
i_end:
rb 1024
align 16
procinfo process_information
stacktop:
sys_path rb 4096
file_name:
rb 4096
i_end:
procinfo process_information
rb 1024
stacktop:
plugin_path:
rb 4096
openfile_path:
rb 4096
filename_area:
rb 256
mem:
 
/programs/other/t_edit/readme.htm
48,7 → 48,7
</head>
 
<body>
<h1>TextEditor âåðñèÿ îò 29.04.2010</h1>
<h1>TextEditor âåðñèÿ îò 27.05.2010</h1>
<h2>Î ïðîãðàììå</h2>
<p>Ïðîãðàììà äëÿ ðàáîòû ñ òåêñòîâûìè ôàéëàìè.
Ëèöåíçèÿ ñâîáîäíàÿ.</p>
77,7 → 77,7
<tr><td>Ìíîãîêðàòíàÿ îòìåíà/ïîâòîð äåéñòâèé</td>
<td>íåò</td><td>åñòü</td></tr>
<tr><td>Îãðàíè÷åíèÿ íà ðàçìåð ôàéëîâ</td>
<td>íåò</td><td>åñòü</td></tr>
<td>íåò</td><td>åñòü ïðè îòêðûòèè ôàéëîâ, ïðè ðåäàêòèðîâàíèè íåò</td></tr>
</table>
 
<h2>Íåêîòîðûå íåäîðàáîòêè</h2>
147,7 → 147,7
<ul>
<li>Åâòèõîâ Ìàêñèì (Maxxxx32) - ýëåìåíò EditBox.</li>
<li>Àëåêñåé Òåïëîâ (Lrz) - ýëåìåíò EditBox, ìàêðîñ load_library.</li>
<li>Mario79 - ýëåìåíò ñêðîëëèíã.</li>
<li>Mario79 - ýëåìåíòû: ñêðîëëèíãè, ìåíþ, OpenDial.</li>
<li>Diamond - çà ïðîãðàììó KlbrInWin, è ïîìîùü ïðè íàïèñàíèè ïðîãðàììû.</li>
<li>Insolor - çà òåñòèðîâàíèå ïðîãðàììû íà îøèáêè.</li>
<li>Leency è äðóãèì, êòî ïîìîãàë íà ôîðóìå ñîâåòàìè.</li>
/programs/other/t_edit/strlen.inc
28,8 → 28,7
; destroys : nothing
;********************************************************************
strlen:
push ecx
push edi
push ecx edi
pushfd
cld ; !
mov ecx,-1
40,8 → 39,7
sub eax,esi
dec eax
popfd
pop edi
pop ecx
pop edi ecx
ret
 
 
51,8 → 49,7
; Copyright (c) 2009 Igor Afanasiev
 
linlen:
push ecx
push edi
push ecx edi
pushfd
cld ; !
mov ecx,eax
64,8 → 61,7
sub eax,esi
dec eax
popfd
pop edi
pop ecx
pop edi ecx
ret
;%endif
 
/programs/other/t_edit/t_button.inc
26,7 → 26,7
ends
 
 
hed db 'TextEditor 17.05.10',0 ;¯®¤¯¨áì ®ª­ 
hed db 'TextEditor 27.05.10',0 ;¯®¤¯¨áì ®ª­ 
sc system_colors
 
fn_icon db 'te_icon.bmp',0
126,7 → 126,8
; äã­ªæ¨ï ®âªàëâ¨ï ä ©«  á ¢®§¬®¦­ë¬ ®ª­®¬ á®®¡é¥­¨ï (® ¢®§¬®¦­®á⨠®â¬¥­¨âì ®âªàë⨥)
align 4
ted_but_open_file:
push eax ebx
pushad
 
stdcall [ted_can_save], tedit0
cmp al,1
jne @f
134,10 → 135,24
stdcall [mb_setfunctions],msgbox_5_funct
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]
call ted_messages_after_open_file
.ret_f:
pop ebx eax
popad
ret
 
;input:
/programs/other/t_edit/t_data.inc
1,4 → 1,3
;--- äàííûå ïðîãðàììû ----------------------------------------------
fn_col_option dd def_col_file
fn_syntax_dir db 'info/',0
def_col_file db 'default.syn',0
11,19 → 10,7
 
fn_icon_tl_sys db 'tl_sys_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
myimport:
97,7 → 84,7
ted_but_reverse dd sz_ted_but_reverse
ted_but_find_next dd sz_ted_but_find_next
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
 
171,7 → 158,7
sz_ted_but_reverse db 'ted_but_reverse',0
sz_ted_but_find_next db 'ted_but_find_next',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
msgbox_lib_import:
252,7 → 239,7
.ar_offset dd 1 ;+84
;---------------------------------------------------------------------
align 4
ws_dir_lbox: ;äî÷åðíèé ñêðîëëèíã äëÿ ýëåìåíòà ListBox
ws_dir_lbox: ;¤®ç¥à­¨© áªà®««¨­£ ¤«ï í«¥¬¥­â  ListBox
.x:
.size_x dw 16 ;+0
.start_x dw 0 ;+2
326,14 → 313,50
.font_height dd 8 ;+108
.cursor_out dd 0 ;+112
.get_mouse_flag dd 0 ;+116
;-------------------------
 
;---------------------------------------------------------------------
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_WIDTH equ 150 ;è¨à¨­  ¯ ­¥«¨
 
count_of_dir_list_files equ 15
count_of_dir_list_files equ 15 ;¬ ªá¨¬ «ì­®¥ ç¨á«® ä ©«®¢ ᨭ⠪á¨á  ¯®ª §ë¢ ¥¬ëå ¢ ®ª­¥ í«¥¬¥­â  tree1
 
;------------------------------------------------------------------------------
struct TexSelect
436,7 → 459,6
.end:
db 0
 
;--------
msgbox_1:
dw 0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
447,7 → 469,7
db 0
msgbox_2:
db 3,0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
db '‚­¨¬ ­¨¥',0
db '‘®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥?',0
db '‘®åà ­¨âì',0
db '¥ á®åà ­ïâì',0
460,7 → 482,7
 
msgbox_3:
db 1,0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
db '‚­¨¬ ­¨¥',0
db 'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©«  á 梥⮢묨 ­ áâனª ¬¨!',13,\
'®â®¬ã ¢ë¤¥«¥­¨¥ á«®¢ 梥⮬ ­¥ ¢®§¬®¦­®.',13,\
' (ª®¤ ®è¨¡ª¨ ='
471,7 → 493,7
 
msgbox_4:
db 1,0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
db '‚­¨¬ ­¨¥',0
db 'Žè¨¡ª  ¯à¨ ®âªàë⨨ ä ©« !',13,\
'‚®§¬®¦­® ¨¬ï ä ©«  ¢¢¥¤¥­® ­¥ ¯à ¢¨«ì­®.',13,\
' (ª®¤ ®è¨¡ª¨ ='
482,7 → 504,7
 
msgbox_5:
db 3,0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
db '‚­¨¬ ­¨¥',0
db '‘®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥?',0
db '¥ á®åà ­ïâì',0
db 'Žâ¬¥­ ',0
493,7 → 515,7
 
msgbox_6:
db 1,0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
db '‚­¨¬ ­¨¥',0
db 'Žè¨¡ª  ¯à¨ á®åà ­¥­¨¨ ä ©« !',13,\
'‚®§¬®¦­® ¨¬ï ä ©«  ¢¢¥¤¥­® ­¥ ¯à ¢¨«ì­®.',13,\
' (ª®¤ ®è¨¡ª¨ ='
503,7 → 525,7
db 0
msgbox_7:
db 1,0
db '’¥ªáâ ­¥ ­ ©¤¥­',0 ;+2 = +MB_TEXT_OFFSET
db '’¥ªáâ ­¥ ­ ©¤¥­',0
db '„®á⨣­ãâ ª®­¥æ ¤®ªã¬¥­â .',13,\
'®¯à®¡ã©â¥ ¯¥à¥©â¨ ¢ ­ ç «® ¤®ªã¬¥­â ',13,\
'¨«¨ ¨§¬¥­¨âì § ¯à®á ¨ ¯®¢â®à¨âì ¯®¨áª.',0
511,13 → 533,20
db 0
msgbox_8:
db 3,0
db '‚­¨¬ ­¨¥',0 ;+2 = +MB_TEXT_OFFSET
db '‚­¨¬ ­¨¥',0
db '„«ï ¢ë室  § ¢¥àè¨â¥ à ¡®âã á ä ©«®¬.',13,\
'®¯à®¡ã©â¥ á®åà ­¨âì ¨§¬¥­¥­¨ï ¢ ä ©«¥',13,\
'¨«¨ ­ ç âì ­®¢ë© ¯ãá⮩.',0
db 'Žâ¬¥­ ',0
db 0
msgbox_9:
db 3,0
db '‚­¨¬ ­¨¥',0
db '¥ ®âªàë«áï ',39,'¤¨ «®£ ®âªàëâ¨ï ä ©« .',39,0
db '‡ ªàëâì',0
db 0
 
txtFile db '” ©«:',0
txtFindCapt db '®¨áª',0
txtFindNext db ' ©â¨ ¤ «¥¥',0
txtFormatCapt db '”®à¬ â',0
535,7 → 564,6
.end:
db 0
 
;--------
msgbox_1:
dw 0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
546,7 → 574,7
db 0
msgbox_2:
db 3,0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
db 'Warning',0
db 'Save changes to the file?',0
db 'Save',0
db 'Discard',0
559,7 → 587,7
 
msgbox_3:
db 1,0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
db 'Warning',0
db 'Error opening the file with the color settings!',13,\
'Because color selection of words is not possible.',13,\
' (error code ='
570,7 → 598,7
 
msgbox_4:
db 1,0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
db 'Warning',0
db 'Error opening file!',13,\
'Maybe the file name is not entered correctly.',13,\
' (error code ='
581,7 → 609,7
 
msgbox_5:
db 3,0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
db 'Warning',0
db 'Save changes to the file?',0
db 'Discard',0
db 'Cancel',0
592,7 → 620,7
 
msgbox_6:
db 1,0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
db 'Warning',0
db 'Error saving file!',13,\
'Maybe the file name is not entered correctly.',13,\
' (error code ='
602,7 → 630,7
db 0
msgbox_7:
db 1,0
db 'Text not found.',0 ;+2 = +MB_TEXT_OFFSET
db 'Text not found.',0
db 'Reached end of the document.',13,\
'Try to go to the beginning of the document',13,\
'or change the query and search again.',0
610,13 → 638,20
db 0
msgbox_8:
db 3,0
db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
db 'Warning',0
db 'To quit, quit the file.',13,\
'Try to keep changes to a file',13,\
'or start a new blank file.',0
db 'Cancel',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
txtFindNext db 'Find next',0
txtFormatCapt db 'Format',0
623,7 → 658,6
txtFormatApply db 'Apply',0
 
end if
;------
 
KM_SHIFT equ 0x00010000
KM_CTRL equ 0x00020000
/programs/other/t_edit/t_edit.asm
25,6 → 25,9
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
 
include 'lang.inc'
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
use_OpenDialog
 
include 't_data.inc'
include 'strlen.inc'
include 't_draw.inc' ;draw main window functions
47,7 → 50,7
mov esi,file_name
call strlen
mov ecx,eax
mov edi,buf_cmd_lin
mov edi,openfile_path
rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à edit1
 
load_libraries l_libs_start,load_lib_end
67,8 → 70,10
;---------------------------------------------------------------------
stdcall [ted_init], tedit0
stdcall dword[tl_data_init], tree1
;---------------------------------------------------------------------
 
; OpenDialog initialisation
init_OpenDialog OpenDialog_data
 
; init bmp file
mov ecx,1200*18
call mem_Alloc
170,9 → 175,9
stdcall [ted_init_syntax_file], tedit0,run_file_70,file_name
 
;--- 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
mov esi,buf_cmd_lin
mov esi,openfile_path
call strlen ;eax=strlen
mov [edit1.size],eax
call but_no_msg_OpenFile
180,11 → 185,31
 
align 4
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
 
xor eax,eax
mov ebx,10*65536+485
mov ecx,10*65536+280
mov ecx,10*65536+320
mov edx,[sc.work]
or edx,0x73000000
mov edi,hed
202,6 → 227,13
inc bx
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 [menu_bar_draw], dword menu_data_1
 
231,25 → 263,9
@@:
 
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
mouse:
stdcall [edit_box_mouse], dword edit1
 
490,10 → 506,9
txtErrIni0 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
 
buf_cmd_lin db 302 dup(0)
buf_find db 302 dup(0)
 
if lang eq ru
522,6 → 537,7
 
 
i_end:
rb 1024
align 16
procinfo process_information
thread:
533,6 → 549,12
rb 4096
file_name_rez:
rb 4096
plugin_path:
rb 4096
openfile_path:
rb 4096
filename_area:
rb 256
file_info:
rb 40
mem: