2013-06-18 16:40:40 +02:00
|
|
|
|
|
|
|
|
|
use32 ; <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD>騩 32 ࠧ<>來<EFBFBD><EFA4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2022-01-03 22:03:06 +01:00
|
|
|
|
org 0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20>ᥣ<EFBFBD><E1A5A3> 0x0
|
2013-06-18 16:40:40 +02:00
|
|
|
|
db 'MENUET01' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> (8 <20><><EFBFBD><EFBFBD>)
|
2022-01-03 22:03:06 +01:00
|
|
|
|
dd 1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ<EFBFBD><E0ACA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9>
|
|
|
|
|
dd start ; <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
; <20><> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dd i_end ; ࠧ<><E0A0A7><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dd mem ; <20><>ꥬ <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>⥪<EFBFBD> <20>⢥<EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AEA2><EFBFBD> <20><> <20>୨<EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dd mem ; <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⥪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ࠧ<EFBFBD> <20><> ⥫<><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD>設<EFBFBD> <20>⥪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
dd 0 ; 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>ப<EFBFBD> <20> <20><>ࠬ<EFBFBD><E0A0AC>ࠬ<EFBFBD>.
|
2013-06-18 16:40:40 +02:00
|
|
|
|
dd 0;pathprog ;<3B><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20>ண<EFBFBD>
|
|
|
|
|
|
2019-05-12 10:52:09 +02:00
|
|
|
|
include "../../../macros.inc"
|
|
|
|
|
include "../../../proc32.inc"
|
2014-09-12 17:15:23 +02:00
|
|
|
|
include "API.INC"
|
2019-05-12 10:52:09 +02:00
|
|
|
|
include "../../../dll.inc"
|
|
|
|
|
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
2022-01-03 22:03:06 +01:00
|
|
|
|
;include '../../../KOSfuncs.inc'
|
|
|
|
|
;include '../../../load_lib.mac'
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
start:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mcall 68,11 ;<3B><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD>㥬 <20><><EFBFBD><EFBFBD>
|
|
|
|
|
test eax,eax
|
|
|
|
|
jz Win1.Exit
|
|
|
|
|
stdcall dll.Load, @IMPORT
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; mov ecx,1024
|
|
|
|
|
; mov edi,pathprog
|
|
|
|
|
; xor al,al
|
|
|
|
|
;
|
|
|
|
|
; repne scasb
|
|
|
|
|
;
|
|
|
|
|
; dec edi
|
|
|
|
|
; mov esi,WordFile
|
|
|
|
|
; @@:
|
|
|
|
|
; lodsb
|
|
|
|
|
; stosb
|
|
|
|
|
; test al,al
|
|
|
|
|
; jne @b
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
;GetFileInfo fStruc,pathprog,fInfo ;<3B><EFBFBD>ઠ <20><> <20><><EFBFBD><EFBFBD>稥 䠩<><E4A0A9>
|
|
|
|
|
;test eax,eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> 䠩<><E4A0A9>
|
|
|
|
|
;je WordFileOK
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
;stdcall [mb_create],msgNotFound,mbThread
|
|
|
|
|
;jmp Win1.Redraw
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
;WordFileOK:
|
|
|
|
|
; stdcall mem.Alloc,dword [fInfo+32]
|
|
|
|
|
; mov ebx,dword [fInfo+32]
|
|
|
|
|
; mov [filBuffer],eax
|
2013-06-18 16:40:40 +02:00
|
|
|
|
; add dword[fInfo+32],eax ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2013-02-06 22:41:47 +01:00
|
|
|
|
; ReadFile fStruc,pathprog,ebx,eax,0
|
|
|
|
|
; test eax,eax
|
|
|
|
|
; jz Win1.Redraw
|
|
|
|
|
;
|
|
|
|
|
; add al,30h
|
|
|
|
|
; mov [NumErr],al
|
|
|
|
|
; stdcall [mb_create],msgNotFound1,mbThread
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
Win1.Redraw:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
RedrawWinBeg
|
|
|
|
|
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov ebx,(524*10000h+500)
|
|
|
|
|
mov ecx,(548*10000h+200)
|
|
|
|
|
mov edx,73FFFFFFh
|
|
|
|
|
mov edi,Win1.Caption
|
|
|
|
|
int 40h ;<3B><><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭o<E4AEAD>
|
|
|
|
|
|
|
|
|
|
mcall 9,ThreadInfo,-1
|
|
|
|
|
|
|
|
|
|
mov eax,13
|
|
|
|
|
mov ebx,[ThreadInfo+3Eh]
|
|
|
|
|
inc ebx
|
|
|
|
|
mov ecx,[ThreadInfo+42h]
|
|
|
|
|
inc ecx
|
|
|
|
|
mov edx,clWhite
|
|
|
|
|
int 40h ;<3B> ⥯<><E2A5AF><EFBFBD> <20><> <20><EFBFBD><E0AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:)
|
|
|
|
|
|
|
|
|
|
call Perevod ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20>ࠧ<EFBFBD> <20><>ॢ<EFBFBD><E0A5A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE>
|
|
|
|
|
call NextPerev
|
|
|
|
|
stdcall [edit_box_draw],EditIN
|
|
|
|
|
RedrawWinEnd
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
Win1.Events:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
WaitMessage
|
|
|
|
|
dec eax
|
|
|
|
|
jz Win1.Redraw
|
|
|
|
|
dec eax
|
|
|
|
|
jz Win1.Key
|
|
|
|
|
dec eax
|
|
|
|
|
jz Win1.ButtonPress
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
;stdcall [edit_box_mouse],EditIN
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
jmp Win1.Events
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
Win1.ButtonPress:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
GetButtonPressed
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
cmp ah,idbExit
|
|
|
|
|
je Win1.Exit
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
jmp Win1.Events
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
Win1.Key:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
GetKeyPressed
|
|
|
|
|
stdcall [edit_box_key],EditIN
|
|
|
|
|
jmp Win1.FonRedraw
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Win1.Exit:
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
ExitProcess
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
Win1.FonRedraw: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뢮<EFBFBD><EBA2AE>
|
|
|
|
|
mcall 9,ThreadInfo,-1
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov eax,13
|
|
|
|
|
mov ebx,[ThreadInfo+3Eh]
|
|
|
|
|
inc ebx
|
|
|
|
|
mov ecx,20
|
|
|
|
|
shl ecx,16
|
|
|
|
|
add ecx,[ThreadInfo+42h]
|
|
|
|
|
sub ecx,19
|
|
|
|
|
mov edx,clWhite
|
|
|
|
|
int 40h
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
call Perevod
|
|
|
|
|
call NextPerev
|
2013-02-06 22:41:47 +01:00
|
|
|
|
jmp Win1.Events
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
Perevod: ;ᠬ <20><>ॢ<EFBFBD><E0A5A2>
|
|
|
|
|
mov edi,dict;[filBuffer]
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
Perev:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
xor ebx,ebx
|
|
|
|
|
@@: ;<3B>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>. <><E1ABAE> <20><> <><E1ABAE><EFBFBD> <20><><EFBFBD> esi
|
|
|
|
|
mov al,[text+ebx]
|
|
|
|
|
test al,al
|
|
|
|
|
je endWord
|
|
|
|
|
cmp [ebx+edi],al
|
|
|
|
|
jne WordNotFound
|
|
|
|
|
inc ebx
|
|
|
|
|
jmp @b
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
endWord:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
cmp byte[ebx+edi],20h
|
|
|
|
|
jne WordNotFound
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
add edi,ebx
|
|
|
|
|
dec edi ;<3B>ய<EFBFBD>᪠<EFBFBD><E1AAA0> <20><EFBFBD><E0AEA1><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE> <><E1ABAE>
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
inc edi
|
|
|
|
|
cmp byte[edi],20h
|
|
|
|
|
je @b
|
|
|
|
|
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
CopyWord: ;<3B><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><>ॢ<EFBFBD><E0A5A2> <20> <20><>ப<EFBFBD> <20><><EFBFBD> <20>뢮<EFBFBD><EBA2AE>
|
|
|
|
|
mov al,[edi+ebx]
|
|
|
|
|
cmp al,0Dh
|
|
|
|
|
je @f
|
|
|
|
|
mov [perevText+ebx],al
|
|
|
|
|
inc ebx
|
|
|
|
|
jmp CopyWord
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov byte[perevText+ebx],0
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
OutText 7,25,perevText
|
|
|
|
|
ret
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
WordNotFound: ;<3B> <><E1ABAE> <20><> <20><><EFBFBD><EFBFBD>諮
|
|
|
|
|
add edi,ebx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
cmp byte[edi],0Dh
|
|
|
|
|
je NextWord
|
|
|
|
|
inc edi
|
|
|
|
|
cmp edi,SizeDict;dword [fInfo+32]
|
|
|
|
|
jae endPerev
|
|
|
|
|
jmp @b
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
NextWord:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
add edi,2
|
|
|
|
|
cmp edi,SizeDict;dword [fInfo+32]
|
|
|
|
|
jae endPerev
|
|
|
|
|
jmp Perev
|
2013-02-06 22:41:47 +01:00
|
|
|
|
endPerev:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
ret
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
NextPerev:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov ecx,Lines
|
|
|
|
|
mov edi,dict;[filBuffer]
|
|
|
|
|
LinePerev: ;横<> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
@@: ;<3B>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>. <><E1ABAE> <20><> <><E1ABAE><EFBFBD> <20><><EFBFBD> esi
|
|
|
|
|
mov al,[text+ebx]
|
|
|
|
|
test al,al
|
|
|
|
|
je N_endWord
|
|
|
|
|
cmp [ebx+edi],al
|
|
|
|
|
jne N_WordNotFound
|
|
|
|
|
inc ebx
|
|
|
|
|
jmp @b
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
N_endWord:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
cmp ebx,0
|
|
|
|
|
jne N_Ppoisk
|
|
|
|
|
ret
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
N_Ppoisk: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><>ப<EFBFBD>
|
|
|
|
|
add edi,ebx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
dec edi
|
|
|
|
|
cmp byte[edi],0Ah
|
|
|
|
|
jne @b
|
|
|
|
|
inc edi
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
;########<23>ய<EFBFBD>᪠<EFBFBD><E1AAA0> 㦥 <20><>ॢ<EFBFBD><E0A5A2><EFBFBD> <><E1ABAE>########
|
|
|
|
|
xor ebx,ebx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
N_NoDouble:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov al,[text+ebx]
|
|
|
|
|
test al,al
|
|
|
|
|
je N_Double
|
|
|
|
|
cmp [ebx+edi],al
|
|
|
|
|
jne N_NoDblOk
|
|
|
|
|
inc ebx
|
|
|
|
|
jmp N_NoDouble
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
N_Double:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
cmp byte[ebx+edi],20h
|
|
|
|
|
jne N_NoDblOk
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
add edi,ebx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
inc edi
|
|
|
|
|
cmp byte[edi],0Ah
|
|
|
|
|
jne @b
|
|
|
|
|
add edi,2
|
|
|
|
|
jmp LinePerev
|
|
|
|
|
|
|
|
|
|
N_NoDblOk: ;############<23>뢮<EFBFBD> १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD>⮢####################
|
|
|
|
|
xor ebx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD>㥬 १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2013-02-06 22:41:47 +01:00
|
|
|
|
N_CopyWord:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov al,[edi+ebx]
|
|
|
|
|
cmp al,20h
|
|
|
|
|
je @f
|
|
|
|
|
mov [perevText+ebx],al
|
|
|
|
|
inc ebx
|
|
|
|
|
jmp N_CopyWord
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov byte[perevText+ebx],0
|
|
|
|
|
add edi,ebx
|
|
|
|
|
|
|
|
|
|
mov eax,Lines
|
|
|
|
|
sub eax,ecx
|
|
|
|
|
dec eax
|
|
|
|
|
shl eax,3
|
|
|
|
|
add eax,45
|
|
|
|
|
push ecx
|
|
|
|
|
push edi
|
|
|
|
|
OutText 7,ax,perevText
|
|
|
|
|
pop edi
|
|
|
|
|
pop ecx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
inc edi
|
|
|
|
|
cmp byte[edi],20h
|
|
|
|
|
je @b
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
xor ebx,ebx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
N_CopyPerev:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov al,[edi+ebx]
|
|
|
|
|
cmp al,0Dh
|
|
|
|
|
je @f
|
|
|
|
|
mov [perevText+ebx],al
|
|
|
|
|
inc ebx
|
|
|
|
|
jmp N_CopyPerev
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
mov byte[perevText+ebx],0
|
|
|
|
|
|
|
|
|
|
mov eax,Lines
|
|
|
|
|
sub eax,ecx
|
|
|
|
|
dec eax
|
|
|
|
|
shl eax,3
|
|
|
|
|
add eax,45
|
|
|
|
|
push ecx
|
|
|
|
|
push edi
|
|
|
|
|
OutText 127,ax,perevText
|
|
|
|
|
pop edi
|
|
|
|
|
pop ecx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
inc edi
|
|
|
|
|
cmp byte[edi],0Ah
|
|
|
|
|
jne @b
|
|
|
|
|
inc edi
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
loop @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> LinePerev
|
|
|
|
|
ret
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
jmp LinePerev
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
N_WordNotFound:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
add edi,ebx
|
2013-02-06 22:41:47 +01:00
|
|
|
|
@@:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
cmp byte[edi],0Dh
|
|
|
|
|
je N_NextWord
|
|
|
|
|
inc edi
|
|
|
|
|
cmp edi,SizeDict;dword [fInfo+32]
|
|
|
|
|
jae N_endPerev
|
|
|
|
|
jmp @b
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
N_NextWord:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
add edi,2
|
|
|
|
|
cmp edi,SizeDict;dword [fInfo+32]
|
|
|
|
|
jae N_endPerev
|
|
|
|
|
jmp LinePerev
|
2013-02-06 22:41:47 +01:00
|
|
|
|
N_endPerev:
|
2013-06-18 16:40:40 +02:00
|
|
|
|
ret
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
;------DATA---------------------------------------------------------------------
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
idbExit = 1
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
Lines = 16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
clTheme = 080B0FFh
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
Win1.Caption db 'Dictionary ENG -> RUS',0
|
|
|
|
|
Win1X = 524
|
|
|
|
|
Win1Y = 548
|
|
|
|
|
Win1W = 500
|
|
|
|
|
Win1H = 200
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
Memo.X = 5
|
|
|
|
|
Memo.Y = 20
|
|
|
|
|
Memo.W = 400
|
|
|
|
|
Memo.H = 370
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
EditIN edit_box 350,5,5,0FFFFFFh,06F9480h,0,00h,0,40,\
|
|
|
|
|
text,mouse_dd,ed_focus,0,0
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; msgNotFound:
|
|
|
|
|
; dw 0
|
2013-06-18 16:40:40 +02:00
|
|
|
|
; db '<27>訡<EFBFBD><E8A8A1>',0
|
|
|
|
|
; db '<27><><EFBFBD><EFBFBD> dictionary.wrd <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
; db '<27>᭮',0
|
2013-02-06 22:41:47 +01:00
|
|
|
|
; db 0
|
|
|
|
|
;
|
|
|
|
|
; msgNotFound1:
|
|
|
|
|
; dw 0
|
|
|
|
|
; db '!!!',0
|
2013-06-18 16:40:40 +02:00
|
|
|
|
; db '<27>訡<EFBFBD><E8A8A1> <20>⥭<EFBFBD><E2A5AD> '
|
2013-02-06 22:41:47 +01:00
|
|
|
|
; NumErr: db 0
|
|
|
|
|
; db 0
|
2013-06-18 16:40:40 +02:00
|
|
|
|
; db '<27>᭮',0
|
2013-02-06 22:41:47 +01:00
|
|
|
|
; db 0
|
|
|
|
|
;
|
|
|
|
|
; WordFile db '.wrd',0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
@IMPORT:
|
|
|
|
|
library box_lib,'box_lib.obj',msgbox,'msgbox.obj'
|
2013-06-18 16:40:40 +02:00
|
|
|
|
import box_lib,\
|
2022-01-03 22:03:06 +01:00
|
|
|
|
edit_box_draw,'edit_box_draw',\
|
2013-06-18 16:40:40 +02:00
|
|
|
|
edit_box_key,'edit_box_key';,\
|
|
|
|
|
;edit_box_mouse,'edit_box_mouse'
|
|
|
|
|
import msgbox,\
|
|
|
|
|
mb_create,'mb_create'
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
dict:
|
|
|
|
|
include 'dictionary.wrd'
|
|
|
|
|
|
|
|
|
|
SizeDict = $;-dict
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i_end:
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
;WordFP rb 1024
|
2013-02-06 22:41:47 +01:00
|
|
|
|
; m1 dd 0
|
2013-06-18 16:40:40 +02:00
|
|
|
|
;filBuffer rd 1
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
ThreadInfo: rb 1024
|
|
|
|
|
;pathprog
|
|
|
|
|
mouse_dd rd 1
|
|
|
|
|
text rb 40
|
|
|
|
|
perevText rb 300
|
|
|
|
|
;fStruc rb 30
|
|
|
|
|
;fInfo rb 40
|
|
|
|
|
mbThread rb 1024
|
2013-02-06 22:41:47 +01:00
|
|
|
|
|
|
|
|
|
|
2013-06-18 16:40:40 +02:00
|
|
|
|
rb 4096
|
2013-02-06 22:41:47 +01:00
|
|
|
|
mem:
|
|
|
|
|
|