Rev 4213 | Rev 4271 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4213 | Rev 4270 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | ; |
6 | ; |
7 | ; Mario79 08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options |
7 | ; Mario79 08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options |
8 | ; Heavyiron 01.12.2013 - new logic |
8 | ; Heavyiron 01.12.2013 - new logic |
9 | ;--------------------------------------------------------------------- |
9 | ;--------------------------------------------------------------------- |
10 | appname equ 'RDsave ' |
10 | appname equ 'RDsave ' |
11 | version equ '1.4' |
11 | version equ '1.41' |
12 | debug equ no |
12 | debug equ no |
Line 13... | Line 13... | ||
13 | 13 | ||
14 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
14 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
Line 52... | Line 52... | ||
52 | 52 | ||
Line 53... | Line 53... | ||
53 | stdcall dll.Init,[init_lib] |
53 | stdcall dll.Init,[init_lib] |
54 | 54 | ||
- | 55 | invoke ini_get_int,ini_file,asettings,aautoclose,0 |
|
- | 56 | mov [autoclose],eax |
|
- | 57 | invoke ini_get_str,ini_file,apath,apath,fname_buf,4096,path |
|
- | 58 | stdcall _lstrcpy,ini_path,fname_buf |
|
Line 55... | Line 59... | ||
55 | invoke ini_get_int,ini_file,asettings,aautoclose,0 |
59 | |
56 | mov [autoclose],eax |
60 | stdcall _lstrcpy,filename_area,start_temp_file_name |
57 | 61 | ||
58 | mov ecx,PARAMS |
62 | mov eax,PARAMS |
59 | cmp byte[ecx], 0 |
63 | cmp byte[eax], 0 |
60 | je no_params |
64 | je no_params |
61 | cmp byte[ecx], 'h' |
65 | cmp byte[eax], 'h' |
62 | je @f |
66 | je @f |
63 | cmp byte[ecx], 'H' |
67 | cmp byte[eax], 'H' |
64 | jne .no_h |
68 | jne .no_h |
65 | @@: |
69 | @@: |
66 | mov [hidden],1 |
70 | mov [hidden],1 |
- | 71 | jmp no_params |
|
- | 72 | .no_h: |
|
67 | jmp no_params |
73 | mov [param],1 |
68 | .no_h: |
74 | stdcall _lstrcpy,fname_buf,eax |
Line 69... | Line -... | ||
69 | mov [param],1 |
- | |
70 | mov ah,2 |
- | |
71 | jmp noclose |
- | |
72 | - | ||
73 | no_params: |
- | |
74 | - | ||
75 | invoke ini_get_str,ini_file,apath,apath,fname_buf,4096,path |
75 | xor eax,eax |
- | 76 | mov ah,2 |
|
76 | 77 | jmp noclose |
|
77 | stdcall _lstrcpy,filename_area,start_temp_file_name |
78 | |
78 | 79 | ;--------------------------------------------------------------------- |
|
79 | ;--------------------------------------------------------------------- |
80 | no_params: |
80 | stdcall _lstrcpy,check_dir,fname_buf |
81 | stdcall _lstrcpy,check_dir,ini_path |
81 | call check_path |
82 | call check_path |
Line 118... | Line 119... | ||
118 | mcall 40,0x00000027 |
119 | mcall 40,0x00000027 |
Line 119... | Line 120... | ||
119 | 120 | ||
120 | cmp [hidden],1 |
121 | cmp [hidden],1 |
121 | jne red |
122 | jne red |
122 | mov ah,2 |
- | |
123 | mov ecx,fname_buf |
123 | mov ah,2 |
124 | jmp noclose |
124 | jmp noclose |
125 | red: |
125 | red: |
126 | call draw_window |
126 | call draw_window |
127 | ;--------------------------------------------------------------------- |
127 | ;--------------------------------------------------------------------- |
Line 138... | Line 138... | ||
138 | ;--------------------------------------------------------------------- |
138 | ;--------------------------------------------------------------------- |
139 | button: |
139 | button: |
140 | mcall 17 ; ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
140 | mcall 17 ; ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
141 | dec ah |
141 | dec ah |
142 | jz close |
142 | jz close |
143 | mov ecx,fname_buf |
- | |
144 | cmp ah,1 ; ª®¯ª á id=1("§ ªàëâì")? |
143 | cmp ah,1 ; ª®¯ª á id=1("§ ªàëâì")? |
145 | jne noclose |
144 | jne noclose |
146 | close: |
145 | close: |
147 | or eax,-1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
146 | or eax,-1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
148 | mcall |
147 | mcall |
149 | ;--------------------------------------------------------------------- |
148 | ;--------------------------------------------------------------------- |
150 | key: |
149 | key: |
151 | mcall 2 |
150 | mcall 2 |
152 | cmp ah,0x1b |
151 | cmp ah,0x1b |
153 | je close |
152 | je close |
154 | mov ecx,fname_buf |
- | |
155 | cmp ah,0x0D |
153 | cmp ah,0x0D |
156 | jne @f |
154 | jne @f |
157 | mov ah,2 |
155 | mov ah,2 |
158 | jmp noclose |
156 | jmp noclose |
159 | @@: |
157 | @@: |
160 | cmp ah,9h |
158 | cmp ah,9h |
161 | jne still |
159 | jne still |
162 | ;--------------------------------------------------------------------- |
160 | ;--------------------------------------------------------------------- |
163 | noclose: |
161 | noclose: |
- | 162 | mov ecx,fname_buf |
|
164 | push 16 |
163 | push 16 |
165 | mov ebx,1 |
164 | mov ebx,1 |
166 | cmp byte[ecx+1],'f' |
165 | cmp byte[ecx+1],'f' |
167 | je @f |
166 | je @f |
168 | cmp byte[ecx+1],'F' |
167 | cmp byte[ecx+1],'F' |
Line 195... | Line 194... | ||
195 | mov ecx,fname_buf |
194 | mov ecx,fname_buf |
196 | mov ah,2 |
195 | mov ah,2 |
197 | jmp noclose |
196 | jmp noclose |
Line 198... | Line 197... | ||
198 | 197 | ||
- | 198 | doit: |
|
- | 199 | cmp [param],0 |
|
199 | doit: |
200 | jne @f |
- | 201 | call save_ini |
|
- | 202 | @@: |
|
- | 203 | cmp byte[ecx+1],'r' |
|
- | 204 | je @f |
|
- | 205 | cmp byte[ecx+1],'R' |
|
- | 206 | jne not_rd |
|
- | 207 | @@: |
|
- | 208 | mov edx,rdError |
|
- | 209 | call print_err |
|
- | 210 | cmp [param],1 |
|
- | 211 | je @f |
|
- | 212 | jmp still |
|
- | 213 | @@: |
|
- | 214 | mov [param],0 |
|
- | 215 | jmp no_params |
|
200 | call save_ini |
216 | not_rd: |
201 | pop eax |
217 | pop eax |
202 | mcall |
218 | mcall |
203 | call check_for_error |
219 | call check_for_error |
204 | cmp [param],1 |
220 | cmp [param],1 |
205 | je @f |
221 | je @f |
206 | jmp still |
222 | jmp still |
- | 223 | @@: |
|
207 | @@: |
224 | mov [param],0 |
Line 208... | Line 225... | ||
208 | jmp no_params |
225 | jmp no_params |
209 | 226 | ||
210 | ;--------------------------------------------------------------------- |
227 | ;--------------------------------------------------------------------- |
Line 217... | Line 234... | ||
217 | cmp ebx,6 |
234 | cmp ebx,6 |
218 | je @f |
235 | je @f |
219 | mov edx,error11 |
236 | mov edx,error11 |
220 | jmp print_err |
237 | jmp print_err |
221 | @@: |
238 | @@: |
222 | mov edi, error_msg |
- | |
223 | cmp eax, 11 |
239 | cmp eax, 11 |
224 | ja .unknown |
240 | ja .unknown |
225 | mov esi, [errors+eax*4] |
241 | mov edx, [errors+eax*4] |
226 | @@: |
- | |
227 | lodsb |
- | |
228 | stosb |
- | |
229 | test al, al |
242 | stdcall _lstrcat,error_msg,edx |
230 | jnz @b |
- | |
231 | mov edx, error_msg |
243 | mov edx, error_msg |
232 | jmp print_err |
244 | jmp print_err |
233 | .unknown: |
245 | .unknown: |
234 | mov edx, aUnknownError |
246 | mov edx, aUnknownError |
235 | print_err: |
247 | print_err: |
- | 248 | pushad |
|
- | 249 | stdcall _lstrlen,ini_path |
|
- | 250 | invoke ini_set_str,ini_file,apath,apath,ini_path,eax |
|
- | 251 | stdcall _lstrcpy,fname_buf,ini_path |
|
- | 252 | popad |
|
- | 253 | cmp [hidden],1 |
|
- | 254 | je @f |
|
- | 255 | cmp [param],1 |
|
- | 256 | je @f |
|
- | 257 | stdcall _lstrlen,edx |
|
- | 258 | imul eax,6 |
|
- | 259 | mov ebx,390 |
|
- | 260 | sub ebx,eax |
|
- | 261 | sar ebx,1 |
|
- | 262 | shl ebx,16 |
|
- | 263 | add ebx,96 |
|
- | 264 | mov ecx,[sc.work_text] |
|
- | 265 | or ecx,0xc0880000 |
|
- | 266 | mcall 4, , , , ,[sc.work] |
|
- | 267 | ret |
|
- | 268 | @@: |
|
236 | mov dword [is_notify + 8], edx |
269 | mov dword [is_notify + 8], edx |
237 | mcall 70, is_notify |
270 | mcall 70, is_notify |
238 | ret |
271 | ret |
239 | print_ok: |
272 | print_ok: |
240 | mov dword [is_notify + 8], edx |
- | |
241 | mcall 70, is_notify |
- | |
242 | cmp [hidden],1 |
273 | cmp [hidden],1 |
243 | je close |
- | |
244 | cmp [autoclose],0 |
- | |
245 | je @f |
274 | je @f |
- | 275 | cmp [param],1 |
|
- | 276 | je @f |
|
- | 277 | stdcall _lstrlen,edx |
|
- | 278 | imul eax,6 |
|
- | 279 | mov ebx,390 |
|
- | 280 | sub ebx,eax |
|
- | 281 | sar ebx,1 |
|
- | 282 | shl ebx,16 |
|
- | 283 | add ebx,96 |
|
- | 284 | mov ecx,[sc.work_text] |
|
- | 285 | or ecx,0xc0008800 |
|
- | 286 | mcall 4, , , , ,[sc.work] |
|
246 | mcall 5,50 |
287 | mcall 5,100 |
- | 288 | cmp [autoclose],1 |
|
247 | jmp close |
289 | je close |
248 | @@: |
- | |
249 | ret |
290 | ret |
- | 291 | @@: |
|
- | 292 | mov dword [is_notify + 8], edx |
|
- | 293 | mcall 70, is_notify |
|
- | 294 | mcall 5,100 |
|
- | 295 | jmp close |
|
250 | ;--------------------------------------------------------------------- |
296 | ;--------------------------------------------------------------------- |
251 | draw_PathShow: |
297 | draw_PathShow: |
252 | pushad |
298 | pushad |
253 | mcall 13,<15,280>,<32,16>,0xffffff |
299 | mcall 13,<15,280>,<32,16>,0xffffff |
254 | push dword PathShow_data_1 |
300 | push dword PathShow_data_1 |
Line 288... | Line 334... | ||
288 | draw_window: |
334 | draw_window: |
289 | mcall 12,1 |
335 | mcall 12,1 |
Line 290... | Line 336... | ||
290 | 336 | ||
291 | mov edx,[sc.work] |
337 | mov edx,[sc.work] |
292 | or edx,0x34000000 |
338 | or edx,0x34000000 |
Line 293... | Line 339... | ||
293 | mcall 0,<200,400>,<200,120>, , ,title |
339 | mcall 0,<200,400>,<200,130>, , ,title |
294 | 340 | ||
295 | ;buttons |
341 | ;buttons |
296 | mcall 8,<198,70>,<68,20>,2,[sc.work_button] |
342 | mcall 8,<198,70>,<68,20>,2,[sc.work_button] |
Line 335... | Line 381... | ||
335 | error8 db '¨áª § ¯®«¥',0 |
381 | error8 db '¨áª § ¯®«¥',0 |
336 | error9 db ' ©«®¢ ï áâàãªâãà à §àãè¥ ',0 |
382 | error9 db ' ©«®¢ ï áâàãªâãà à §àãè¥ ',0 |
337 | error10 db '®áâ㯠§ ¯à¥éñ',0 |
383 | error10 db '®áâ㯠§ ¯à¥éñ',0 |
338 | error11 db '訡ª ãáâனá⢠',0 |
384 | error11 db '訡ª ãáâனá⢠',0 |
339 | aUnknownError db '¥¨§¢¥áâ ï ®è¨¡ª ',0 |
385 | aUnknownError db '¥¨§¢¥áâ ï ®è¨¡ª ',0 |
- | 386 | rdError db '¥«ì§ï á®åà ïâì ®¡à § ¢ á ¬®£® ᥡï',0 |
|
- | 387 | error_msg db '訡ª : ',0 |
|
340 | ;--------------------------------------------------------------------- |
388 | ;--------------------------------------------------------------------- |
341 | else if lang eq et |
389 | else if lang eq et |
342 | save db 'Salvesta',0 |
390 | save db 'Salvesta',0 |
343 | cansel db 'Cansel',0 |
391 | cansel db 'Cansel',0 |
344 | select db ' Valige',0 |
392 | select db ' Valige',0 |
Line 354... | Line 402... | ||
354 | error8 db 'Ketas täis',0 |
402 | error8 db 'Ketas täis',0 |
355 | error9 db 'FAT tabel vigane',0 |
403 | error9 db 'FAT tabel vigane',0 |
356 | error10 db 'Juurdepääs keelatud',0 |
404 | error10 db 'Juurdepääs keelatud',0 |
357 | error11 db 'Seadme viga',0 |
405 | error11 db 'Seadme viga',0 |
358 | aUnknownError db 'Tundmatu viga',0 |
406 | aUnknownError db 'Tundmatu viga',0 |
- | 407 | rdError db 'You can't save image on itself',0 |
|
- | 408 | error_msg db 'Viga: ',0 |
|
359 | ;--------------------------------------------------------------------- |
409 | ;--------------------------------------------------------------------- |
360 | else if lang eq it |
410 | else if lang eq it |
361 | save db ' Salva',0 |
411 | save db ' Salva',0 |
362 | cansel db 'Cansel',0 |
412 | cansel db 'Cansel',0 |
363 | select db 'Seleziona',0 |
413 | select db 'Seleziona',0 |
Line 373... | Line 423... | ||
373 | error8 db 'Disco pieno',0 |
423 | error8 db 'Disco pieno',0 |
374 | error9 db 'Tabella FAT corrotta',0 |
424 | error9 db 'Tabella FAT corrotta',0 |
375 | error10 db 'Accesso negato',0 |
425 | error10 db 'Accesso negato',0 |
376 | error11 db 'Errore di device',0 |
426 | error11 db 'Errore di device',0 |
377 | aUnknownError db 'Errore sconosciuto',0 |
427 | aUnknownError db 'Errore sconosciuto',0 |
- | 428 | rdError db 'You can't save image on itself',0 |
|
- | 429 | error_msg db 'Errore: ',0 |
|
378 | ;--------------------------------------------------------------------- |
430 | ;--------------------------------------------------------------------- |
379 | else |
431 | else |
380 | save db ' Save',0 |
432 | save db ' Save',0 |
381 | cansel db 'Cansel',0 |
433 | cansel db 'Cansel',0 |
382 | select db ' Select',0 |
434 | select db ' Select',0 |
Line 392... | Line 444... | ||
392 | error8 db 'Disk is full',0 |
444 | error8 db 'Disk is full',0 |
393 | error9 db 'File structure is destroyed',0 |
445 | error9 db 'File structure is destroyed',0 |
394 | error10 db 'Access denied',0 |
446 | error10 db 'Access denied',0 |
395 | error11 db 'Device error',0 |
447 | error11 db 'Device error',0 |
396 | aUnknownError db 'Unknown error',0 |
448 | aUnknownError db 'Unknown error',0 |
397 | - | ||
- | 449 | rdError db 'You can't save image on itself',0 |
|
- | 450 | error_msg db 'Error: ',0 |
|
398 | end if |
451 | end if |
399 | - | ||
400 | title db appname,version,0 |
- | |
401 | ;--------------------------------------------------------------------- |
452 | ;--------------------------------------------------------------------- |
402 | errors: |
453 | errors: |
403 | dd ok |
454 | dd ok |
404 | dd error1 |
455 | dd error1 |
405 | dd error2 |
456 | dd error2 |
Line 411... | Line 462... | ||
411 | dd error8 |
462 | dd error8 |
412 | dd error9 |
463 | dd error9 |
413 | dd error10 |
464 | dd error10 |
414 | dd error11 |
465 | dd error11 |
415 | ;--------------------------------------------------------------------- |
466 | ;--------------------------------------------------------------------- |
- | 467 | ||
- | 468 | title db appname,version,0 |
|
- | 469 | ||
416 | ;Lib_DATA |
470 | ;Lib_DATA |
417 | ;ᥣ¤ ᮡ«î¤ âì ¯®á«¥¤®¢ ⥫ì®áâì ¢ ¨¬¥¨. |
471 | ;ᥣ¤ ᮡ«î¤ âì ¯®á«¥¤®¢ ⥫ì®áâì ¢ ¨¬¥¨. |
418 | system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
472 | system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
419 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
473 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
420 | system_dir_libini db '/sys/lib/libini.obj',0 |
474 | system_dir_libini db '/sys/lib/libini.obj',0 |
Line 599... | Line 653... | ||
599 | check_dir: |
653 | check_dir: |
600 | rb 4096 |
654 | rb 4096 |
Line 601... | Line 655... | ||
601 | 655 | ||
Line 602... | Line -... | ||
602 | sc system_colors |
- | |
603 | - | ||
604 | ;mouse_dd rd 1 |
656 | sc system_colors |
Line 605... | Line -... | ||
605 | - | ||
606 | autoclose rd 1 |
- | |
607 | 657 | ||
608 | error_msg rb 128 |
658 | autoclose rd 1 |
609 | 659 | ||
610 | folder_data: |
660 | folder_data: |
611 | rb 304*32+32 ; 9 Kb |
661 | rb 304*32+32 ; 9 Kb |