t_edit: add function ted_but_replace, fix code

git-svn-id: svn://kolibrios.org@7577 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2019-01-23 22:08:19 +00:00
parent 16292e542a
commit cb0f3625e7
14 changed files with 271 additions and 273 deletions

View File

@@ -116,7 +116,8 @@ import lib_boxlib, \
ted_but_undo, 'ted_but_undo' , \
ted_but_redo, 'ted_but_redo' , \
ted_but_reverse, 'ted_but_reverse' , \
ted_but_find_next, 'ted_but_find_next' , \
ted_but_find, 'ted_but_find' , \
ted_but_replace, 'ted_but_replace' , \
ted_text_colored, 'ted_text_colored' , \
frame_draw, 'frame_draw' , \
progressbar_draw,'progressbar_draw' , \
@@ -182,7 +183,8 @@ public ted_but_paste as '_ted_but_paste'
public ted_but_undo as '_ted_but_undo'
public ted_but_redo as '_ted_but_redo'
public ted_but_reverse as '_ted_but_reverse'
public ted_but_find_next as '_ted_but_find_next'
public ted_but_find as '_ted_but_find'
public ted_but_replace as '_ted_but_replace'
public ted_text_colored as 'ted_text_colored_asm'
public tl_data_init as '_tl_data_init'

View File

@@ -156,7 +156,8 @@ extern void (*ted_but_select_word)(editor *) __attribute__((__stdcall__));
extern void (*ted_but_copy)(editor *) __attribute__((__stdcall__));
extern void (*ted_but_paste)(editor *) __attribute__((__stdcall__));
extern void (*ted_but_find_next)(editor *) __attribute__((__stdcall__));
extern void (*ted_but_find)(editor *) __attribute__((__stdcall__));
extern void (*ted_but_replace)(editor *) __attribute__((__stdcall__));
///move cursor to <ed_buffer_find>, calls ted_fun_find_err() if exist

View File

@@ -483,14 +483,14 @@ pushad
pop dword[arrea_xx]
mov edi,eax
mov esi,dword head
mov esi,head
cld
align 4
lp0:
movsb
cmp byte[esi],0
jne lp0
mov word[edi],'. '
mov word[edi],0xa0d
add edi,2
mov esi,dword err_message
align 4

View File

@@ -319,7 +319,6 @@ dd sz_ted_but_undo, ted_but_undo
dd sz_ted_but_redo, ted_but_redo
dd sz_ted_but_reverse, ted_but_reverse
dd sz_ted_but_find, ted_but_find
dd sz_ted_but_find_next, ted_but_find_next
dd sz_ted_but_replace, ted_but_replace
dd sz_ted_text_colored, ted_text_colored
dd sz_ted_version, 0x00000005
@@ -433,7 +432,6 @@ sz_ted_but_undo db 'ted_but_undo',0
sz_ted_but_redo db 'ted_but_redo',0
sz_ted_but_reverse db 'ted_but_reverse',0
sz_ted_but_find db 'ted_but_find',0
sz_ted_but_find_next db 'ted_but_find_next',0
sz_ted_but_replace db 'ted_but_replace',0
sz_ted_text_colored db 'ted_text_colored',0
sz_ted_version db 'version_text_edit',0

View File

@@ -234,7 +234,7 @@ proc ted_key, edit:dword, table:dword, control:dword
@@:
cmp ah,KEY_F3 ;[F3]
jne @f
stdcall ted_but_find_next,edi
stdcall ted_but_find,edi,0
jmp .end_key_fun
@@:
@@ -1851,12 +1851,9 @@ ted_get_pos_by_cursor:
; edx = tex[1] if error
; ted_gp_opt = 0 if text no found
align 16
ted_get_pos_by_coords:
push eax ;Row
push ebx ;Col
xor eax,eax
xor ebx,ebx
proc ted_get_pos_by_coords uses eax ebx
xor eax,eax ;Row
xor ebx,ebx ;Col
mov ted_gp_opt,0
mov edx,ted_tex
@@:
@@ -1888,9 +1885,8 @@ ted_get_pos_by_coords:
mov edx,ted_tex_1
;call ted_get_text_perv_pos
@@:
pop ebx eax
ret
endp
;input:
; eax = Row
@@ -2062,7 +2058,7 @@ ted_go_to_pos:
push eax ebx
mov eax,ted_scr_h
sub ecx,[eax+sb_offs_position]
cmp ecx,0 ;ted_cur_y < 0
cmp ecx,0 ;ted_cur_x < 0
jge @f
add [eax+sb_offs_position],ecx ;<3B><EFBFBD><E0AEAA><20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
xor ecx,ecx
@@ -2839,33 +2835,51 @@ endp
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><EBA2A0> ted_buffer_find
;input:
; f_opt = <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD>᪠:
; (0 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 - <20><EFBFBD><E1AAA0> <20><> <20><><EFBFBD><><E4A0A9>)
; (0 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 - <20><EFBFBD><E1AAA0> <20><> <20><><EFBFBD><><E4A0A9>)
; <20><20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> 31-<2D> <20><><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
;output:
; eax = <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD><><E2A5AA> (0 - <20><><EFBFBD>, 1 - <20><>)
align 16
proc ted_but_find, edit:dword, f_opt:dword
proc ted_but_find uses ebx ecx edx edi esi, edit:dword, f_opt:dword
push [edit]
cmp dword[f_opt],2
cmp word[f_opt],2
jne @f
call ted_but_find_first
jmp .end_f
call _but_find_first
jmp .end0
@@:
cmp dword[f_opt],0
cmp word[f_opt],0
jne @f
call ted_but_find_next
jmp .end_f
call _but_find_next
jmp .end0
@@:
cmp dword[f_opt],1
jne .end_f
call ted_but_find_perv
.end_f:
cmp word[f_opt],1
jne .end0
call _but_find_perv
.end0:
bt dword[f_opt],31
jc .end1
or eax,eax
jz @f
;⥪<><E2A5AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
stdcall ted_draw,edi
jmp .end1
@@:
;⥪<><E2A5AA> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>஡㥬 <20><EFBFBD><EBA7A2><EFBFBD><><EFBFBD><E9A5AD>
cmp ted_fun_find_err,0
je .end1
call ted_fun_find_err ;<3B><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD>
.end1:
ret
endp
;description:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><EBA2A0> ted_buffer_find
; <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><><E4A0A9>, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><EFBFBD> <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><> <20><><EFBFBD><><E4A0A9>, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;output:
; eax = <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD><><E2A5AA> (0 - <20><><EFBFBD>, 1 - <20><>)
; ebx, ecx, edx, edi, edi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 16
proc ted_but_find_first, edit:dword
pushad
proc _but_find_first, edit:dword
mov edi,[edit]
call ted_is_select
@@ -2892,17 +2906,17 @@ proc ted_but_find_first, edit:dword
jle @f
jmp @b
@@:
call but_find
popad
call _but_find_select
ret
endp
;description:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><EBA2A0> ted_buffer_find
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;output:
; eax = <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD><><E2A5AA> (0 - <20><><EFBFBD>, 1 - <20><>)
; ebx, ecx, edx, edi, edi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 16
proc ted_but_find_perv, edit:dword
pushad
proc _but_find_perv, edit:dword
mov edi,[edit]
call ted_is_select
or al,al
@@ -2928,17 +2942,17 @@ proc ted_but_find_perv, edit:dword
jle @f
jmp @b
@@:
call but_find
popad
call _but_find_select
ret
endp
;description:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><EBA2A0> ted_buffer_find
; <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E5AEA4><><E2A5AA> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;output:
; eax = <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD><><E2A5AA> (0 - <20><><EFBFBD>, 1 - <20><>)
; ebx, edx, edi, esi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
align 16
proc ted_but_find_next, edit:dword
pushad
proc _but_find_next, edit:dword
mov edi,[edit]
call ted_get_pos_by_cursor
@@ -2953,16 +2967,17 @@ proc ted_but_find_next, edit:dword
jle @f
jmp @b
@@:
call but_find
popad
call _but_find_select
ret
endp
;description:
; <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD>⥫쭠<E2A5AB> <20><EFBFBD><E3ADAA><EFBFBD>, <20><EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA>
;input:
; bh = <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AAAE><EFBFBD><><E2A5AA> (0 - <20><><EFBFBD>, 1 - <20><>)
; esi = first symbol pointer
align 16
but_find:
_but_find_select:
or bh,bh
jz @f
call ted_get_text_coords
@@ -2976,47 +2991,90 @@ but_find:
call ted_get_text_coords
mov ted_sel_x0,ebx
mov ted_sel_y0,eax
stdcall ted_draw,edi
jmp .end_find
xor eax,eax
inc eax
jmp .end0
@@:
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp ted_fun_find_err,0
je .end_find
call ted_fun_find_err ;<3B><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD>
.end_find:
xor eax,eax ;<EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.end0:
ret
;input:
; rpl_text = ⥪<><E2A5AA> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; r_opt = <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD>᪠:
; (0 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 - <20><EFBFBD><E1AAA0> <20><> <20><><EFBFBD><><E4A0A9>)
; (0 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1 - <20><EFBFBD><E1AAA0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 - <20><EFBFBD><E1AAA0> <20><> <20><><EFBFBD><><E4A0A9>)
; n_tim = 䨪<><E4A8AA><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0 - <20><><EFBFBD>, 1 - <20><>)
;output:
; eax = 0 - <20><> 㤠筮, 1 - 㤠筮
align 16
proc ted_but_replace uses edx edi esi, edit:dword, rpl_text:dword, r_opt:dword, n_tim:dword
mov edi,[edit]
stdcall ted_but_find, edi,[r_opt]
mov eax,[r_opt]
bts eax,31
stdcall ted_but_find, edi,eax
or eax,eax
jz .end0
xor edx,edx
cmp dword[n_tim],0
je @f
call ted_set_undo
mov edx,ted_opt_ed_change_time
@@:
stdcall ted_sel_text_del, edx
or eax,0xff
jz @f
jz .end0
mov esi,[rpl_text]
stdcall tl_strlen
or eax,eax
jz @f
jz .end0
stdcall ted_text_add, edi,esi,eax,ted_opt_ed_move_cursor
xor eax,eax
inc eax
@@:
.end0:
ret
endp
;input:
; eax - text need find
; bl - first symbol to find
; edx - first symbol pointer
; edi - pointer to tedit struct
;output:
; bh - rezult
; edx - last text position (if find sucess)
; esi - first symbol pointer
;description:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD><><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E2A5AA> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> eax
; <20><>⮬ ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E3AAA0><EFBFBD> edx.
; <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 (<28><><EFBFBD><EFBFBD>. strcmp) <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>
; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><><EFBFBD><E0A6A8><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD> ascii <20><>ப.
align 16
ted_get_find_rezult:
push eax
mov bh,1
mov esi,edx ;copy edx
@@:
cmp byte[edx],bl
jne .no_text
inc eax ;*** get next symbol (in find text) ***
mov bl,byte[eax]
or bl,bl
jz @f ;end of find text
call ted_iterat_next ;*** get next symbol (in editor text) ***
cmp edx,ted_tex_1
jg @b
align 4
.no_text:
xor bh,bh
mov edx,esi ;restore edx
@@:
pop eax
mov bl,byte[eax] ;restore bl
ret
;input:
; edi = pointer to tedit struct
align 16
@@ -3834,48 +3892,6 @@ popad
ret
endp
;input:
; eax - text need find
; bl - first symbol to find
; edx - first symbol pointer
; edi - pointer to tedit struct
;output:
; bh - rezult
; edx - last text position (if find sucess)
; esi - first symbol pointer
;description:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD><><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E2A5AA> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> eax
; <20><>⮬ ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E3AAA0><EFBFBD> edx.
; <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 (<28><><EFBFBD><EFBFBD>. strcmp) <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>
; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A5AA><><EFBFBD><E0A6A8><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD> ascii <20><>ப.
align 16
ted_get_find_rezult:
push eax
mov bh,1
mov esi,edx ;copy edx
@@:
cmp byte[edx],bl
jne .no_text
inc eax ;*** get next symbol (in find text) ***
mov bl,byte[eax]
or bl,bl
jz @f ;end of find text
call ted_iterat_next ;*** get next symbol (in editor text) ***
cmp edx,ted_tex_1
jle @f ;end of editor text
jmp @b
align 4
.no_text:
xor bh,bh
mov edx,esi ;restore edx
@@:
pop eax
mov bl,byte[eax] ;restore bl
ret
;input:
; clear_o - <20>᫨ =1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>, =0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
align 16

View File

@@ -1158,7 +1158,8 @@ import box_lib, \
ted_but_undo, 'ted_but_undo', \
ted_but_redo, 'ted_but_redo', \
ted_but_reverse, 'ted_but_reverse', \
ted_but_find_next, 'ted_but_find_next', \
ted_but_find, 'ted_but_find', \
ted_but_replace, 'ted_but_replace', \
ted_text_colored, 'ted_text_colored', \
progressbar_draw, 'progressbar_draw'

View File

@@ -1,68 +1,35 @@
; strlen function
;
; Copyright (c) 2003 Thomas Mathys
; killer@vantage.ch
; Строковые функции
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
;
;%ifndef _STRLEN_INC
;%define _STRLEN_INC
;********************************************************************
; returns the length of an asciiz string
; input : esi = pointer to string
; output : eax = string length
; destroys : nothing
;********************************************************************
strlen:
push ecx edi
pushfd
cld ; !
mov ecx,-1
mov edi,esi ; find terminating zero
xor al,al
repne scasb
mov eax,edi ; calculate string length
sub eax,esi
dec eax
popfd
pop edi ecx
;output:
; eax = strlen
align 4
proc str_len, str1:dword
mov eax,[str1]
@@:
cmp byte[eax],0
je @f
inc eax
jmp @b
@@:
sub eax,[str1]
ret
endp
; linlen function
;
; Copyright (c) 2009 Igor Afanasiev
linlen:
push ecx edi
pushfd
cld
align 4
proc str_cat uses eax ecx edi esi, str1:dword, str2:dword
mov esi,[str2]
stdcall str_len,esi
mov ecx,eax
inc ecx
mov edi,esi ; find terminating zero
mov al,13
repne scasb
mov eax,edi ; calculate string length
sub eax,esi
dec eax
popfd
pop edi ecx
mov edi,[str1]
stdcall str_len,edi
add edi,eax
cld
repne movsb
ret
endp
;description:
; проверяет содержится ли строка str1 в строке str0
@@ -79,10 +46,9 @@ proc str_instr uses edi esi, str0:dword, str1:dword
mov esi,[str1]
cld
@@:
mov al,[esi]
cmp al,0
je .e1
inc esi
lodsb
or al,al
jz .e1
scasb ;сравниваем символы
jz @b ;если совпали, то переходим к сравнению следующих
;сюда попадаем если строки не совпали
@@ -91,3 +57,36 @@ proc str_instr uses edi esi, str0:dword, str1:dword
ret
endp
;input:
; eax - число
; edi - буфер для строки
; len - длинна буфера
;output:
align 4
proc convert_int_to_str uses eax ecx edx edi esi, len:dword
mov esi,[len]
add esi,edi
dec esi
call .str
ret
endp
align 4
.str:
mov ecx,10
cmp eax,ecx
jb @f
xor edx,edx
div ecx
push edx
;dec edi ;смещение необходимое для записи с конца строки
call .str
pop eax
@@:
cmp edi,esi
jge @f
or al,0x30
stosb
mov byte[edi],0 ;в конец строки ставим 0, что-бы не вылазил мусор
@@:
ret

View File

@@ -156,13 +156,13 @@ button:
stdcall ted_but_open_syntax, tedit0
jmp still
@@:
cmp ah,201 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp ah,201 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jne .no_find
call get_find_options
stdcall [ted_but_find], tedit0, eax
jmp still
.no_find:
cmp ah,202 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
cmp ah,202 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
jne .no_change
call get_find_options
stdcall [ted_but_replace], tedit0, buf_replace, eax, 1
@@ -171,7 +171,7 @@ button:
stdcall [ted_draw], tedit0
jmp still
.no_change:
cmp ah,203
cmp ah,203 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
jne .no_change_a
call but_replace_all
jmp still
@@ -246,8 +246,15 @@ proc but_replace_all uses ebx ecx edx
inc edx
loop .cycle0
@@:
or edx,edx
jz @f
stdcall [ted_draw], tedit0
@@:
mov eax,edx
mov edi,msgbox_1.z
stdcall convert_int_to_str, 8
stdcall str_cat, edi,txt_Info
notify_window_run msgbox_1
ret
endp
@@ -337,7 +344,7 @@ proc but_no_msg_OpenFile uses eax ebx esi
call ted_messages_after_open_file
mov esi,openfile_path
call strlen
stdcall str_len,esi
add esi,eax
@@: ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
dec esi
@@ -349,7 +356,7 @@ proc but_no_msg_OpenFile uses eax ebx esi
jg @b
@@:
inc esi
call strlen
stdcall str_len,esi
cmp eax,255
jle @f
mov eax,255
@@ -381,8 +388,7 @@ ted_but_open_file:
cmp [OpenDialog_data.status],2
jne @f
stdcall mem_spac, msgbox_9.fdp,100
mov esi,file_name
call strlen
stdcall str_len,file_name
cmp eax,100
jle .no_crop
mov eax,100
@@ -403,8 +409,7 @@ ted_but_open_file:
proc auto_open_syntax, of_path:dword
pushad
;<3B><20><><EFBFBD><EFBFBD> <20><><> <20><><EFBFBD>ᢥ⪨ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><E2AEA2><EFBFBD><><E4A0A9>
mov esi,[of_path]
call strlen
stdcall str_len,[of_path]
mov edx,[of_path]
add edx,eax
.f_beg:
@@ -488,8 +493,8 @@ endp
align 4
ted_messages_after_open_file:
push ecx edi
cmp eax,0
je @f
or eax,eax
jz @f
cmp ax,10
jl .zifra_0_9
mov al,'?'
@@ -499,18 +504,7 @@ ted_messages_after_open_file:
mov byte[msgbox_4.err],al
stdcall [mb_create],msgbox_4,thread ;message: Can-t open text file!
jmp .ret_f
@@:
cmp ebx,-1
je .ret_f
;if open file
mov edi,tedit0
mov ecx,ted_max_chars
sub ecx,2 ;ecx = <20><><EFBFBD><EFBFBD><E1A8AC><EFBFBD> <20><><20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cmp ebx,ecx
jl .ret_f
stdcall [mb_create],msgbox_1,thread
.ret_f:
pop edi ecx
ret
@@ -524,10 +518,10 @@ ted_save_err_msg:
; <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [<5B><EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD>] <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
align 4
proc ted_but_open_syntax uses eax ebx ecx edi, edit:dword
mov edi,dword[edit]
mov edi,[edit]
cmp ted_panel_id,TED_PANEL_SYNTAX
jne @f
stdcall dword[tl_node_get_data], tree1
stdcall [tl_node_get_data], tree1
mov [fn_col_option],eax
stdcall open_unpac_synt_file,eax
cmp ebx,-1
@@ -548,6 +542,8 @@ endp
align 4
proc open_unpac_synt_file uses eax edi esi, f_name:dword
mov ebx,[f_name]
cmp byte[ebx],0
je @f
mov edi,last_open_synt_file
stdcall strcmp,ebx,edi ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD><EFBFBD><><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD><EFBFBD><><E0A0AD><><E4A0A9><EFBFBD>
test eax,eax
@@ -685,7 +681,7 @@ db 168,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;240
align 4
ted_on_find_err:
stdcall [mb_create],msgbox_7,thread ;message: Can not find text
notify_window_run msgbox_7 ;message: Can not find text
ret
;description:

File diff suppressed because one or more lines are too long

View File

@@ -340,12 +340,12 @@ proc draw_panel_syntax
mov cx,20
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
stdcall dword[tl_draw], tree1
stdcall [tl_draw], tree1
mov [ws_dir_lbox.all_redraw],1 ;<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
stdcall dword[scrollbar_ver_draw], dword ws_dir_lbox
stdcall [scrollbar_ver_draw], ws_dir_lbox
ror ecx,16
add ecx,dword[tree1.box_height]
add ecx,[tree1.box_height]
add ecx,20
and ecx,0xffff
ror ecx,16
@@ -353,13 +353,13 @@ proc draw_panel_syntax
mov esi,ted_scr_h
add cx,word[esi+sb_offs_size_y]
sub cx,20
sub ecx,dword[tree1.box_height]
sub ecx,[tree1.box_height]
inc cx
int 0x40 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov ecx,ted_wnd_t
add ecx,25
add ecx,dword[tree1.box_height]
add ecx,[tree1.box_height]
shl ecx,16
mov cx,20
mcall SF_DEFINE_BUTTON,(5 shl 16)+65,,200,[sc.work_button] ;200 - button id
@@ -371,16 +371,17 @@ proc draw_panel_syntax
mcall SF_DRAW_TEXT,,,txtFormatCapt
mov ebx,(10 shl 16)+31
add ebx,dword[tree1.box_height]
add ebx,[tree1.box_height]
add ebx,ted_wnd_t
mov ecx,[sc.work_button_text]
or ecx,0x80000000
mcall ,,,txtFormatApply
popad
jmp .end_f
@@:
push eax edx
mov edx,200
or edx,0x80000000
mov edx,0x80000000+200
mcall SF_DEFINE_BUTTON ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pop edx eax
.end_f:

View File

@@ -47,7 +47,7 @@ start:
mcall SF_SET_EVENTS_MASK,0xC0000027
mov esi,file_name
call strlen
stdcall str_len,esi
mov ecx,eax
mov edi,openfile_path
cld
@@ -95,10 +95,9 @@ mov ebp,lib0
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><><20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
mcall SF_FILE,tree_file_struct
cmp ebx,-1
je .end_dir_init
mov eax,dir_mem
add eax,32+4+1+3+4*6+8
cmp ebx,0
jle .end_dir_init
mov eax,dir_mem+32+40
mov ecx,ebx
@@:
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
@@ -348,34 +347,34 @@ unpac_mem dd 0
if lang eq ru
head_f_i:
head_f_l db '<27><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><EFBFBD><E8A8A1>',0
err_message_found_lib0 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib.obj',39,0
err_message_import0 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib.obj',39,0
err_message_found_lib1 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'msgbox.obj',39,0
err_message_import1 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'msgbox.obj',39,0
err_message_found_lib2 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'proc_lib.obj',39,0
err_message_import2 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'proc_lib.obj',39,0
err_message_found_lib_3 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libimg.obj',39,0
err_message_import_3 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libimg.obj',39,0
err_message_found_lib_4 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libini.obj',39,0
err_message_import_4 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libini.obj',39,0
err_message_found_lib_5 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libkmenu.obj',39,0
err_message_import_5 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libkmenu.obj',39,0
head_f_l db '"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E8A8A1>',0
err_message_found_lib0 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib.obj',39,'" -tE',0
err_message_import0 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'box_lib.obj',39,'" -tW',0
err_message_found_lib1 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'msgbox.obj',39,'" -tE',0
err_message_import1 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'msgbox.obj',39,'" -tW',0
err_message_found_lib2 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'proc_lib.obj',39,'" -tE',0
err_message_import2 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'proc_lib.obj',39,'" -tW',0
err_message_found_lib_3 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libimg.obj',39,'" -tE',0
err_message_import_3 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libimg.obj',39,'" -tW',0
err_message_found_lib_4 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libini.obj',39,'" -tE',0
err_message_import_4 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libini.obj',39,'" -tW',0
err_message_found_lib_5 db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libkmenu.obj',39,'" -tE',0
err_message_import_5 db '<27><EFBFBD><E8A8A1> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',39,'libkmenu.obj',39,'" -tW',0
else
head_f_i:
head_f_l db 'System error',0
err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
err_message_found_lib_5 db 'Sorry I cannot found library ',39,'libkmenu.obj',39,0
err_message_import_5 db 'Error on load import library ',39,'libkmenu.obj',39,0
head_f_l db '"System error',0
err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,'" -tE',0
err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,'" -tW',0
err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,'" -tE',0
err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,'" -tW',0
err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,'" -tE',0
err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,'" -tW',0
err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,'" -tE',0
err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,'" -tW',0
err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,'" -tE',0
err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,'" -tW',0
err_message_found_lib_5 db 'Sorry I cannot found library ',39,'libkmenu.obj',39,'" -tE',0
err_message_import_5 db 'Error on load import library ',39,'libkmenu.obj',39,'" -tW',0
end if
;library structures

View File

@@ -16,7 +16,7 @@ but_cut=1
but_copy=1
but_paste=1
but_find=1
but_replace=0
but_replace=1
but_key_words=1
but_upper=1
but_lower=1

View File

@@ -66,7 +66,7 @@ ted_but_paste dd sz_ted_but_paste
ted_but_undo dd sz_ted_but_undo
ted_but_redo dd sz_ted_but_redo
ted_but_reverse dd sz_ted_but_reverse
ted_but_find_next dd sz_ted_but_find_next
ted_but_find dd sz_ted_but_find
ted_text_colored dd sz_ted_text_colored
PathShow_prepare dd sz_PathShow_prepare
@@ -128,7 +128,7 @@ sz_ted_but_paste db 'ted_but_paste',0
sz_ted_but_undo db 'ted_but_undo',0
sz_ted_but_redo db 'ted_but_redo',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 db 'ted_but_find',0
sz_ted_text_colored db 'ted_text_colored',0
sz_PathShow_prepare db 'PathShow_prepare',0
@@ -146,28 +146,9 @@ dd 0,0
aimg_decode db 'img_decode',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
aimg_destroy db 'img_destroy',0
;---------------------------------------------------------------------
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ListBox
align 4
ws_dir_lbox: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ListBox
.x:
.size_x dw 16 ;+0
.start_x dw 0 ;+2
.y:
.size_y dw 30 ;+4
.start_y dw 70 ;+6
.btn_high dd 15 ;+8
.type dd 1 ;+12
.max_area dd 100 ;+16
rb 4+4
.bckg_col dd 0xeeeeee ;+28
.frnt_col dd 0xbbddff ;+32
.line_col dd 0 ;+36
.redraw dd 0 ;+40
.delta dw 0 ;+44
.delta2 dw 0 ;+46
.run_x:
rb 2*4+4*6
.all_redraw dd 0 ;+80
.ar_offset dd 1 ;+84
ws_dir_lbox scrollbar 16,0, 30,70, 15, 100,30,0, 0,0,0, 1
;---------------------------------------------------------------------
count_of_dir_list_files equ 15

View File

@@ -56,10 +56,9 @@ start:
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><><20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
mcall SF_FILE,tree_file_struct
cmp ebx,-1
je .end_dir_init
mov eax,dir_mem
add eax,32+4+1+3+4*6+8
cmp ebx,0
jle .end_dir_init
mov eax,dir_mem+32+40
mov ecx,ebx
@@:
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
@@ -73,6 +72,12 @@ start:
or dword[tree1.style], tl_cursor_pos_limited ;<3B><><EFBFBD><EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠
.end_dir_init:
xor eax,eax
inc eax
mov [scrol_w1.type],eax
mov [scrol_h1.type],eax
mov [ws_dir_lbox.type],eax
;--- load color option file ---
stdcall [ted_init], tedit0
mov byte[file_name],0
@@ -136,15 +141,14 @@ draw_window:
mov edx,txt_out_file
int 0x40
push dword PathShow_data_1
call [PathShow_draw]
stdcall [PathShow_draw], PathShow_data_1
stdcall [edit_box_draw],dword edit1
stdcall [tl_draw],dword tree1
stdcall [edit_box_draw], edit1
stdcall [tl_draw], tree1
;scroll 1
mov [ws_dir_lbox.all_redraw],1
stdcall [scrollbar_ver_draw],dword ws_dir_lbox
stdcall [scrollbar_ver_draw],ws_dir_lbox
stdcall [ted_draw], tedit0
mcall SF_REDRAW,SSF_END_DRAW
@@ -328,7 +332,7 @@ get_wnd_in_focus:
;@@:
ret
hed db 'TextEditor syntax file converter 15.01.19',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
hed db 'TextEditor syntax file converter 23.01.19',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
conv_tabl rb 128 ; ⠡<><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> scan-<2D><><EFBFBD><EFBFBD> <20> ascii-<2D><><EFBFBD>
txt_load_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
@@ -337,11 +341,11 @@ txt_inp_file db '
txt_out_file db '<27><><EFBFBD>. 䠩<>:',0
head_f_i:
head_f_l db 'System error',0
err_message_found_lib_0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
err_message_import_0 db 'Error on load import library ',39,'box_lib.obj',39,0
err_message_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
err_message_import_1 db 'Error on load import library ',39,'libimg.obj',39,0
head_f_l db '"System error',0
err_message_found_lib_0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,'" -tE',0
err_message_import_0 db 'Error on load import library ',39,'box_lib.obj',39,'" -tW',0
err_message_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,'" -tE',0
err_message_import_1 db 'Error on load import library ',39,'libimg.obj',39,'" -tW',0
;library structures
l_libs_start: