Rev 3683 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3683 | Rev 5098 | ||
---|---|---|---|
1 | use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë |
1 | use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë |
2 | org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0 |
2 | org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0 |
3 | db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â) |
3 | db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â) |
4 | dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©« |
4 | dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©« |
5 | dd start ; ¤à¥á, ª®â®àë© á¨á⥬ ¯¥à¥¤ ñâ ã¯à ¢«¥¨¥ |
5 | dd start ; ¤à¥á, ª®â®àë© á¨á⥬ ¯¥à¥¤ ñâ ã¯à ¢«¥¨¥ |
6 | ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì |
6 | ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì |
7 | dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï |
7 | dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï |
8 | dd mem ; ¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â |
8 | dd mem ; ¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â |
9 | dd mem ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥ |
9 | dd mem ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥ |
10 | dd 0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨. |
10 | dd 0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨. |
11 | dd 0;pathprog ;¯ãâì ¨ ¨¬ï ¯à®£¨ |
11 | dd 0;pathprog ;¯ãâì ¨ ¨¬ï ¯à®£¨ |
12 | 12 | ||
13 | include "../../macros.inc" |
13 | include "../../macros.inc" |
14 | include "../../proc32.inc" |
14 | include "../../proc32.inc" |
15 | include "API.inc" |
15 | include "API.INC" |
16 | include "../../dll.inc" |
16 | include "../../dll.inc" |
17 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
17 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
18 | include '../../develop/libraries/box_lib/load_lib.mac' |
18 | include '../../develop/libraries/box_lib/load_lib.mac' |
19 | 19 | ||
20 | start: |
20 | start: |
21 | mcall 68,11 ;¨¨æ¨ «¨§¨à㥬 ªãçã |
21 | mcall 68,11 ;¨¨æ¨ «¨§¨à㥬 ªãçã |
22 | test eax,eax |
22 | test eax,eax |
23 | jz Win1.Exit |
23 | jz Win1.Exit |
24 | stdcall dll.Load, @IMPORT |
24 | stdcall dll.Load, @IMPORT |
25 | 25 | ||
26 | 26 | ||
27 | ; mov ecx,1024 |
27 | ; mov ecx,1024 |
28 | ; mov edi,pathprog |
28 | ; mov edi,pathprog |
29 | ; xor al,al |
29 | ; xor al,al |
30 | ; |
30 | ; |
31 | ; repne scasb |
31 | ; repne scasb |
32 | ; |
32 | ; |
33 | ; dec edi |
33 | ; dec edi |
34 | ; mov esi,WordFile |
34 | ; mov esi,WordFile |
35 | ; @@: |
35 | ; @@: |
36 | ; lodsb |
36 | ; lodsb |
37 | ; stosb |
37 | ; stosb |
38 | ; test al,al |
38 | ; test al,al |
39 | ; jne @b |
39 | ; jne @b |
40 | 40 | ||
41 | ;GetFileInfo fStruc,pathprog,fInfo ;¯à®¢¥àª «¨ç¨¥ ä ©« |
41 | ;GetFileInfo fStruc,pathprog,fInfo ;¯à®¢¥àª «¨ç¨¥ ä ©« |
42 | ;test eax,eax ;§ ®¤® ¨ ¯®«ãçã à §¬¥à ä ©« |
42 | ;test eax,eax ;§ ®¤® ¨ ¯®«ãçã à §¬¥à ä ©« |
43 | ;je WordFileOK |
43 | ;je WordFileOK |
44 | 44 | ||
45 | ;stdcall [mb_create],msgNotFound,mbThread |
45 | ;stdcall [mb_create],msgNotFound,mbThread |
46 | ;jmp Win1.Redraw |
46 | ;jmp Win1.Redraw |
47 | 47 | ||
48 | ;WordFileOK: |
48 | ;WordFileOK: |
49 | ; stdcall mem.Alloc,dword [fInfo+32] |
49 | ; stdcall mem.Alloc,dword [fInfo+32] |
50 | ; mov ebx,dword [fInfo+32] |
50 | ; mov ebx,dword [fInfo+32] |
51 | ; mov [filBuffer],eax |
51 | ; mov [filBuffer],eax |
52 | ; add dword[fInfo+32],eax ;§¤¥áì åà ¨âáï 㪠§ â¥«ì ª®¥æ ¡ãä¥à |
52 | ; add dword[fInfo+32],eax ;§¤¥áì åà ¨âáï 㪠§ â¥«ì ª®¥æ ¡ãä¥à |
53 | ; ReadFile fStruc,pathprog,ebx,eax,0 |
53 | ; ReadFile fStruc,pathprog,ebx,eax,0 |
54 | ; test eax,eax |
54 | ; test eax,eax |
55 | ; jz Win1.Redraw |
55 | ; jz Win1.Redraw |
56 | ; |
56 | ; |
57 | ; add al,30h |
57 | ; add al,30h |
58 | ; mov [NumErr],al |
58 | ; mov [NumErr],al |
59 | ; stdcall [mb_create],msgNotFound1,mbThread |
59 | ; stdcall [mb_create],msgNotFound1,mbThread |
60 | ; |
60 | ; |
61 | 61 | ||
62 | 62 | ||
63 | align 4 |
63 | align 4 |
64 | Win1.Redraw: |
64 | Win1.Redraw: |
65 | RedrawWinBeg |
65 | RedrawWinBeg |
66 | 66 | ||
67 | xor eax,eax |
67 | xor eax,eax |
68 | mov ebx,(524*10000h+500) |
68 | mov ebx,(524*10000h+500) |
69 | mov ecx,(548*10000h+200) |
69 | mov ecx,(548*10000h+200) |
70 | mov edx,73FFFFFFh |
70 | mov edx,73FFFFFFh |
71 | mov edi,Win1.Caption |
71 | mov edi,Win1.Caption |
72 | int 40h ;®ª® á ¯à®§à çë¬ ä®o¬ |
72 | int 40h ;®ª® á ¯à®§à çë¬ ä®o¬ |
73 | 73 | ||
74 | mcall 9,ThreadInfo,-1 |
74 | mcall 9,ThreadInfo,-1 |
75 | 75 | ||
76 | mov eax,13 |
76 | mov eax,13 |
77 | mov ebx,[ThreadInfo+3Eh] |
77 | mov ebx,[ThreadInfo+3Eh] |
78 | inc ebx |
78 | inc ebx |
79 | mov ecx,[ThreadInfo+42h] |
79 | mov ecx,[ThreadInfo+42h] |
80 | inc ecx |
80 | inc ecx |
81 | mov edx,clWhite |
81 | mov edx,clWhite |
82 | int 40h ; ⥯¥àì ¥ ¯à®§à çë¬:) |
82 | int 40h ; ⥯¥àì ¥ ¯à®§à çë¬:) |
83 | 83 | ||
84 | call Perevod ; ¢ ¯¥à¥à¨á®¢ª¥ áà §ã ¯¥à¥¢®¤¨¬ ¢¢¥¤ñ®¥ á«®¢® |
84 | call Perevod ; ¢ ¯¥à¥à¨á®¢ª¥ áà §ã ¯¥à¥¢®¤¨¬ ¢¢¥¤ñ®¥ á«®¢® |
85 | call NextPerev |
85 | call NextPerev |
86 | stdcall [edit_box_draw],EditIN |
86 | stdcall [edit_box_draw],EditIN |
87 | RedrawWinEnd |
87 | RedrawWinEnd |
88 | 88 | ||
89 | align 4 |
89 | align 4 |
90 | Win1.Events: |
90 | Win1.Events: |
91 | WaitMessage |
91 | WaitMessage |
92 | dec eax |
92 | dec eax |
93 | jz Win1.Redraw |
93 | jz Win1.Redraw |
94 | dec eax |
94 | dec eax |
95 | jz Win1.Key |
95 | jz Win1.Key |
96 | dec eax |
96 | dec eax |
97 | jz Win1.ButtonPress |
97 | jz Win1.ButtonPress |
98 | 98 | ||
99 | ;stdcall [edit_box_mouse],EditIN |
99 | ;stdcall [edit_box_mouse],EditIN |
100 | 100 | ||
101 | jmp Win1.Events |
101 | jmp Win1.Events |
102 | 102 | ||
103 | Win1.ButtonPress: |
103 | Win1.ButtonPress: |
104 | GetButtonPressed |
104 | GetButtonPressed |
105 | 105 | ||
106 | cmp ah,idbExit |
106 | cmp ah,idbExit |
107 | je Win1.Exit |
107 | je Win1.Exit |
108 | 108 | ||
109 | jmp Win1.Events |
109 | jmp Win1.Events |
110 | 110 | ||
111 | Win1.Key: |
111 | Win1.Key: |
112 | GetKeyPressed |
112 | GetKeyPressed |
113 | stdcall [edit_box_key],EditIN |
113 | stdcall [edit_box_key],EditIN |
114 | jmp Win1.FonRedraw |
114 | jmp Win1.FonRedraw |
115 | 115 | ||
116 | 116 | ||
117 | Win1.Exit: |
117 | Win1.Exit: |
118 | 118 | ||
119 | ExitProcess |
119 | ExitProcess |
120 | 120 | ||
121 | Win1.FonRedraw: ;¯¥à¥à¨á®¢ª ®¡« á⨠¢ë¢®¤ |
121 | Win1.FonRedraw: ;¯¥à¥à¨á®¢ª ®¡« á⨠¢ë¢®¤ |
122 | mcall 9,ThreadInfo,-1 |
122 | mcall 9,ThreadInfo,-1 |
123 | 123 | ||
124 | mov eax,13 |
124 | mov eax,13 |
125 | mov ebx,[ThreadInfo+3Eh] |
125 | mov ebx,[ThreadInfo+3Eh] |
126 | inc ebx |
126 | inc ebx |
127 | mov ecx,20 |
127 | mov ecx,20 |
128 | shl ecx,16 |
128 | shl ecx,16 |
129 | add ecx,[ThreadInfo+42h] |
129 | add ecx,[ThreadInfo+42h] |
130 | sub ecx,19 |
130 | sub ecx,19 |
131 | mov edx,clWhite |
131 | mov edx,clWhite |
132 | int 40h |
132 | int 40h |
133 | 133 | ||
134 | call Perevod |
134 | call Perevod |
135 | call NextPerev |
135 | call NextPerev |
136 | jmp Win1.Events |
136 | jmp Win1.Events |
137 | 137 | ||
138 | ;------------------------------------------------------------------------------- |
138 | ;------------------------------------------------------------------------------- |
139 | 139 | ||
140 | Perevod: ;á ¬ ¯¥à¥¢®¤ |
140 | Perevod: ;á ¬ ¯¥à¥¢®¤ |
141 | mov edi,dict;[filBuffer] |
141 | mov edi,dict;[filBuffer] |
142 | 142 | ||
143 | Perev: |
143 | Perev: |
144 | xor ebx,ebx |
144 | xor ebx,ebx |
145 | @@: ;áà ¢¨¥¬ ¨áå. á«®¢® á® á«®¢®¬ ¯®¤ esi |
145 | @@: ;áà ¢¨¥¬ ¨áå. á«®¢® á® á«®¢®¬ ¯®¤ esi |
146 | mov al,[text+ebx] |
146 | mov al,[text+ebx] |
147 | test al,al |
147 | test al,al |
148 | je endWord |
148 | je endWord |
149 | cmp [ebx+edi],al |
149 | cmp [ebx+edi],al |
150 | jne WordNotFound |
150 | jne WordNotFound |
151 | inc ebx |
151 | inc ebx |
152 | jmp @b |
152 | jmp @b |
153 | 153 | ||
154 | endWord: |
154 | endWord: |
155 | cmp byte[ebx+edi],20h |
155 | cmp byte[ebx+edi],20h |
156 | jne WordNotFound |
156 | jne WordNotFound |
157 | 157 | ||
158 | add edi,ebx |
158 | add edi,ebx |
159 | dec edi ;¯à®¯ã᪠¥¬ ¯à®¡¥«ë ¯®á«¥ £«¨©áª®£® á«®¢ |
159 | dec edi ;¯à®¯ã᪠¥¬ ¯à®¡¥«ë ¯®á«¥ £«¨©áª®£® á«®¢ |
160 | @@: |
160 | @@: |
161 | inc edi |
161 | inc edi |
162 | cmp byte[edi],20h |
162 | cmp byte[edi],20h |
163 | je @b |
163 | je @b |
164 | 164 | ||
165 | xor ebx,ebx |
165 | xor ebx,ebx |
166 | CopyWord: ;ª®¯¨à㥬 ¯¥à¥¢®¤ ¢ áâப㠤«ï ¢ë¢®¤ |
166 | CopyWord: ;ª®¯¨à㥬 ¯¥à¥¢®¤ ¢ áâப㠤«ï ¢ë¢®¤ |
167 | mov al,[edi+ebx] |
167 | mov al,[edi+ebx] |
168 | cmp al,0Dh |
168 | cmp al,0Dh |
169 | je @f |
169 | je @f |
170 | mov [perevText+ebx],al |
170 | mov [perevText+ebx],al |
171 | inc ebx |
171 | inc ebx |
172 | jmp CopyWord |
172 | jmp CopyWord |
173 | @@: |
173 | @@: |
174 | mov byte[perevText+ebx],0 |
174 | mov byte[perevText+ebx],0 |
175 | 175 | ||
176 | OutText 7,25,perevText |
176 | OutText 7,25,perevText |
177 | ret |
177 | ret |
178 | 178 | ||
179 | WordNotFound: ;¥á«¨ á«®¢® ¥ ¯®¤®è«® |
179 | WordNotFound: ;¥á«¨ á«®¢® ¥ ¯®¤®è«® |
180 | add edi,ebx |
180 | add edi,ebx |
181 | @@: |
181 | @@: |
182 | cmp byte[edi],0Dh |
182 | cmp byte[edi],0Dh |
183 | je NextWord |
183 | je NextWord |
184 | inc edi |
184 | inc edi |
185 | cmp edi,SizeDict;dword [fInfo+32] |
185 | cmp edi,SizeDict;dword [fInfo+32] |
186 | jae endPerev |
186 | jae endPerev |
187 | jmp @b |
187 | jmp @b |
188 | 188 | ||
189 | NextWord: |
189 | NextWord: |
190 | add edi,2 |
190 | add edi,2 |
191 | cmp edi,SizeDict;dword [fInfo+32] |
191 | cmp edi,SizeDict;dword [fInfo+32] |
192 | jae endPerev |
192 | jae endPerev |
193 | jmp Perev |
193 | jmp Perev |
194 | endPerev: |
194 | endPerev: |
195 | ret |
195 | ret |
196 | 196 | ||
197 | 197 | ||
198 | ;------------------------------------------------------------------------------- |
198 | ;------------------------------------------------------------------------------- |
199 | NextPerev: |
199 | NextPerev: |
200 | mov ecx,Lines |
200 | mov ecx,Lines |
201 | mov edi,dict;[filBuffer] |
201 | mov edi,dict;[filBuffer] |
202 | LinePerev: ;横« à¨á®¢ ¨ï áâப¨ |
202 | LinePerev: ;横« à¨á®¢ ¨ï áâப¨ |
203 | xor ebx,ebx |
203 | xor ebx,ebx |
204 | @@: ;áà ¢¨¥¬ ¨áå. á«®¢® á® á«®¢®¬ ¯®¤ esi |
204 | @@: ;áà ¢¨¥¬ ¨áå. á«®¢® á® á«®¢®¬ ¯®¤ esi |
205 | mov al,[text+ebx] |
205 | mov al,[text+ebx] |
206 | test al,al |
206 | test al,al |
207 | je N_endWord |
207 | je N_endWord |
208 | cmp [ebx+edi],al |
208 | cmp [ebx+edi],al |
209 | jne N_WordNotFound |
209 | jne N_WordNotFound |
210 | inc ebx |
210 | inc ebx |
211 | jmp @b |
211 | jmp @b |
212 | 212 | ||
213 | N_endWord: |
213 | N_endWord: |
214 | cmp ebx,0 |
214 | cmp ebx,0 |
215 | jne N_Ppoisk |
215 | jne N_Ppoisk |
216 | ret |
216 | ret |
217 | 217 | ||
218 | N_Ppoisk: ;¯®¨áª ç « áâப¨ |
218 | N_Ppoisk: ;¯®¨áª ç « áâப¨ |
219 | add edi,ebx |
219 | add edi,ebx |
220 | @@: |
220 | @@: |
221 | dec edi |
221 | dec edi |
222 | cmp byte[edi],0Ah |
222 | cmp byte[edi],0Ah |
223 | jne @b |
223 | jne @b |
224 | inc edi |
224 | inc edi |
225 | 225 | ||
226 | ;########¯à®¯ã᪠¥¬ 㦥 ¯¥à¥¢¥¤ñ®¥ á«®¢®######## |
226 | ;########¯à®¯ã᪠¥¬ 㦥 ¯¥à¥¢¥¤ñ®¥ á«®¢®######## |
227 | xor ebx,ebx |
227 | xor ebx,ebx |
228 | N_NoDouble: |
228 | N_NoDouble: |
229 | mov al,[text+ebx] |
229 | mov al,[text+ebx] |
230 | test al,al |
230 | test al,al |
231 | je N_Double |
231 | je N_Double |
232 | cmp [ebx+edi],al |
232 | cmp [ebx+edi],al |
233 | jne N_NoDblOk |
233 | jne N_NoDblOk |
234 | inc ebx |
234 | inc ebx |
235 | jmp N_NoDouble |
235 | jmp N_NoDouble |
236 | 236 | ||
237 | N_Double: |
237 | N_Double: |
238 | cmp byte[ebx+edi],20h |
238 | cmp byte[ebx+edi],20h |
239 | jne N_NoDblOk |
239 | jne N_NoDblOk |
240 | 240 | ||
241 | add edi,ebx |
241 | add edi,ebx |
242 | @@: |
242 | @@: |
243 | inc edi |
243 | inc edi |
244 | cmp byte[edi],0Ah |
244 | cmp byte[edi],0Ah |
245 | jne @b |
245 | jne @b |
246 | add edi,2 |
246 | add edi,2 |
247 | jmp LinePerev |
247 | jmp LinePerev |
248 | 248 | ||
249 | N_NoDblOk: ;############¢ë¢®¤ १ã«ìâ ⮢#################### |
249 | N_NoDblOk: ;############¢ë¢®¤ १ã«ìâ ⮢#################### |
250 | xor ebx,ebx ;ª®¯¨à㥬 १ã«ìâ â |
250 | xor ebx,ebx ;ª®¯¨à㥬 १ã«ìâ â |
251 | N_CopyWord: |
251 | N_CopyWord: |
252 | mov al,[edi+ebx] |
252 | mov al,[edi+ebx] |
253 | cmp al,20h |
253 | cmp al,20h |
254 | je @f |
254 | je @f |
255 | mov [perevText+ebx],al |
255 | mov [perevText+ebx],al |
256 | inc ebx |
256 | inc ebx |
257 | jmp N_CopyWord |
257 | jmp N_CopyWord |
258 | @@: |
258 | @@: |
259 | mov byte[perevText+ebx],0 |
259 | mov byte[perevText+ebx],0 |
260 | add edi,ebx |
260 | add edi,ebx |
261 | 261 | ||
262 | mov eax,Lines |
262 | mov eax,Lines |
263 | sub eax,ecx |
263 | sub eax,ecx |
264 | dec eax |
264 | dec eax |
265 | shl eax,3 |
265 | shl eax,3 |
266 | add eax,45 |
266 | add eax,45 |
267 | push ecx |
267 | push ecx |
268 | push edi |
268 | push edi |
269 | OutText 7,ax,perevText |
269 | OutText 7,ax,perevText |
270 | pop edi |
270 | pop edi |
271 | pop ecx |
271 | pop ecx |
272 | 272 | ||
273 | @@: |
273 | @@: |
274 | inc edi |
274 | inc edi |
275 | cmp byte[edi],20h |
275 | cmp byte[edi],20h |
276 | je @b |
276 | je @b |
277 | 277 | ||
278 | 278 | ||
279 | xor ebx,ebx |
279 | xor ebx,ebx |
280 | N_CopyPerev: |
280 | N_CopyPerev: |
281 | mov al,[edi+ebx] |
281 | mov al,[edi+ebx] |
282 | cmp al,0Dh |
282 | cmp al,0Dh |
283 | je @f |
283 | je @f |
284 | mov [perevText+ebx],al |
284 | mov [perevText+ebx],al |
285 | inc ebx |
285 | inc ebx |
286 | jmp N_CopyPerev |
286 | jmp N_CopyPerev |
287 | @@: |
287 | @@: |
288 | mov byte[perevText+ebx],0 |
288 | mov byte[perevText+ebx],0 |
289 | 289 | ||
290 | mov eax,Lines |
290 | mov eax,Lines |
291 | sub eax,ecx |
291 | sub eax,ecx |
292 | dec eax |
292 | dec eax |
293 | shl eax,3 |
293 | shl eax,3 |
294 | add eax,45 |
294 | add eax,45 |
295 | push ecx |
295 | push ecx |
296 | push edi |
296 | push edi |
297 | OutText 127,ax,perevText |
297 | OutText 127,ax,perevText |
298 | pop edi |
298 | pop edi |
299 | pop ecx |
299 | pop ecx |
300 | 300 | ||
301 | @@: |
301 | @@: |
302 | inc edi |
302 | inc edi |
303 | cmp byte[edi],0Ah |
303 | cmp byte[edi],0Ah |
304 | jne @b |
304 | jne @b |
305 | inc edi |
305 | inc edi |
306 | 306 | ||
307 | loop @f ;¥¤®â¢ ¥âáï ¤® LinePerev |
307 | loop @f ;¥¤®â¢ ¥âáï ¤® LinePerev |
308 | ret |
308 | ret |
309 | @@: |
309 | @@: |
310 | jmp LinePerev |
310 | jmp LinePerev |
311 | 311 | ||
312 | N_WordNotFound: |
312 | N_WordNotFound: |
313 | add edi,ebx |
313 | add edi,ebx |
314 | @@: |
314 | @@: |
315 | cmp byte[edi],0Dh |
315 | cmp byte[edi],0Dh |
316 | je N_NextWord |
316 | je N_NextWord |
317 | inc edi |
317 | inc edi |
318 | cmp edi,SizeDict;dword [fInfo+32] |
318 | cmp edi,SizeDict;dword [fInfo+32] |
319 | jae N_endPerev |
319 | jae N_endPerev |
320 | jmp @b |
320 | jmp @b |
321 | 321 | ||
322 | N_NextWord: |
322 | N_NextWord: |
323 | add edi,2 |
323 | add edi,2 |
324 | cmp edi,SizeDict;dword [fInfo+32] |
324 | cmp edi,SizeDict;dword [fInfo+32] |
325 | jae N_endPerev |
325 | jae N_endPerev |
326 | jmp LinePerev |
326 | jmp LinePerev |
327 | N_endPerev: |
327 | N_endPerev: |
328 | ret |
328 | ret |
329 | 329 | ||
330 | ;------------------------------------------------------------------------------- |
330 | ;------------------------------------------------------------------------------- |
331 | ;------------------------------------------------------------------------------- |
331 | ;------------------------------------------------------------------------------- |
332 | ;------DATA--------------------------------------------------------------------- |
332 | ;------DATA--------------------------------------------------------------------- |
333 | ;------------------------------------------------------------------------------- |
333 | ;------------------------------------------------------------------------------- |
334 | ;------------------------------------------------------------------------------- |
334 | ;------------------------------------------------------------------------------- |
335 | 335 | ||
336 | idbExit = 1 |
336 | idbExit = 1 |
337 | 337 | ||
338 | Lines = 16 ;ª®«¨ç¥á⢠áâப |
338 | Lines = 16 ;ª®«¨ç¥á⢠áâப |
339 | 339 | ||
340 | clTheme = 080B0FFh |
340 | clTheme = 080B0FFh |
341 | 341 | ||
342 | Win1.Caption db 'Dictionary ENG -> RUS',0 |
342 | Win1.Caption db 'Dictionary ENG -> RUS',0 |
343 | Win1X = 524 |
343 | Win1X = 524 |
344 | Win1Y = 548 |
344 | Win1Y = 548 |
345 | Win1W = 500 |
345 | Win1W = 500 |
346 | Win1H = 200 |
346 | Win1H = 200 |
347 | 347 | ||
348 | Memo.X = 5 |
348 | Memo.X = 5 |
349 | Memo.Y = 20 |
349 | Memo.Y = 20 |
350 | Memo.W = 400 |
350 | Memo.W = 400 |
351 | Memo.H = 370 |
351 | Memo.H = 370 |
352 | 352 | ||
353 | EditIN edit_box 350,5,5,0FFFFFFh,06F9480h,0,00h,0,40,\ |
353 | EditIN edit_box 350,5,5,0FFFFFFh,06F9480h,0,00h,0,40,\ |
354 | text,mouse_dd,ed_focus,0,0 |
354 | text,mouse_dd,ed_focus,0,0 |
355 | 355 | ||
356 | 356 | ||
357 | 357 | ||
358 | ; msgNotFound: |
358 | ; msgNotFound: |
359 | ; dw 0 |
359 | ; dw 0 |
360 | ; db '訡ª ',0 |
360 | ; db '訡ª ',0 |
361 | ; db ' ©« dictionary.wrd ¥ ©¤¥',0 |
361 | ; db ' ©« dictionary.wrd ¥ ©¤¥',0 |
362 | ; db 'á®',0 |
362 | ; db 'á®',0 |
363 | ; db 0 |
363 | ; db 0 |
364 | ; |
364 | ; |
365 | ; msgNotFound1: |
365 | ; msgNotFound1: |
366 | ; dw 0 |
366 | ; dw 0 |
367 | ; db '!!!',0 |
367 | ; db '!!!',0 |
368 | ; db '訡ª ç⥨ï ' |
368 | ; db '訡ª ç⥨ï ' |
369 | ; NumErr: db 0 |
369 | ; NumErr: db 0 |
370 | ; db 0 |
370 | ; db 0 |
371 | ; db 'á®',0 |
371 | ; db 'á®',0 |
372 | ; db 0 |
372 | ; db 0 |
373 | ; |
373 | ; |
374 | ; WordFile db '.wrd',0 |
374 | ; WordFile db '.wrd',0 |
375 | 375 | ||
376 | 376 | ||
377 | ;------------------------------------------------------------------------------- |
377 | ;------------------------------------------------------------------------------- |
378 | @IMPORT: |
378 | @IMPORT: |
379 | library box_lib,'box_lib.obj',msgbox,'msgbox.obj' |
379 | library box_lib,'box_lib.obj',msgbox,'msgbox.obj' |
380 | import box_lib,\ |
380 | import box_lib,\ |
381 | edit_box_draw,'edit_box',\ |
381 | edit_box_draw,'edit_box',\ |
382 | edit_box_key,'edit_box_key';,\ |
382 | edit_box_key,'edit_box_key';,\ |
383 | ;edit_box_mouse,'edit_box_mouse' |
383 | ;edit_box_mouse,'edit_box_mouse' |
384 | import msgbox,\ |
384 | import msgbox,\ |
385 | mb_create,'mb_create' |
385 | mb_create,'mb_create' |
386 | 386 | ||
387 | dict: |
387 | dict: |
388 | include 'dictionary.wrd' |
388 | include 'dictionary.wrd' |
389 | 389 | ||
390 | SizeDict = $;-dict |
390 | SizeDict = $;-dict |
391 | 391 | ||
392 | 392 | ||
393 | i_end: |
393 | i_end: |
394 | ;------------------------------------------------------------------------------- |
394 | ;------------------------------------------------------------------------------- |
395 | 395 | ||
396 | ;WordFP rb 1024 |
396 | ;WordFP rb 1024 |
397 | ; m1 dd 0 |
397 | ; m1 dd 0 |
398 | ;filBuffer rd 1 |
398 | ;filBuffer rd 1 |
399 | 399 | ||
400 | 400 | ||
401 | ThreadInfo: rb 1024 |
401 | ThreadInfo: rb 1024 |
402 | ;pathprog |
402 | ;pathprog |
403 | mouse_dd rd 1 |
403 | mouse_dd rd 1 |
404 | text rb 40 |
404 | text rb 40 |
405 | perevText rb 300 |
405 | perevText rb 300 |
406 | ;fStruc rb 30 |
406 | ;fStruc rb 30 |
407 | ;fInfo rb 40 |
407 | ;fInfo rb 40 |
408 | mbThread rb 1024 |
408 | mbThread rb 1024 |
409 | 409 | ||
410 | 410 | ||
411 | rb 4096 |
411 | rb 4096 |
412 | mem: |
412 | mem: |