8,7 → 8,7 |
; Heavyiron 01.12.2013 - new logic |
;--------------------------------------------------------------------- |
appname equ 'RDsave ' |
version equ '1.4' |
version equ '1.41' |
debug equ no |
|
use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
54,13 → 54,17 |
|
invoke ini_get_int,ini_file,asettings,aautoclose,0 |
mov [autoclose],eax |
invoke ini_get_str,ini_file,apath,apath,fname_buf,4096,path |
stdcall _lstrcpy,ini_path,fname_buf |
|
mov ecx,PARAMS |
cmp byte[ecx], 0 |
stdcall _lstrcpy,filename_area,start_temp_file_name |
|
mov eax,PARAMS |
cmp byte[eax], 0 |
je no_params |
cmp byte[ecx], 'h' |
cmp byte[eax], 'h' |
je @f |
cmp byte[ecx], 'H' |
cmp byte[eax], 'H' |
jne .no_h |
@@: |
mov [hidden],1 |
67,17 → 71,14 |
jmp no_params |
.no_h: |
mov [param],1 |
stdcall _lstrcpy,fname_buf,eax |
xor eax,eax |
mov ah,2 |
jmp noclose |
|
;--------------------------------------------------------------------- |
no_params: |
|
invoke ini_get_str,ini_file,apath,apath,fname_buf,4096,path |
|
stdcall _lstrcpy,filename_area,start_temp_file_name |
|
;--------------------------------------------------------------------- |
stdcall _lstrcpy,check_dir,fname_buf |
stdcall _lstrcpy,check_dir,ini_path |
call check_path |
test eax,eax |
jz path_ok |
120,7 → 121,6 |
cmp [hidden],1 |
jne red |
mov ah,2 |
mov ecx,fname_buf |
jmp noclose |
red: |
call draw_window |
140,7 → 140,6 |
mcall 17 ; ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
dec ah |
jz close |
mov ecx,fname_buf |
cmp ah,1 ; ª®¯ª á id=1("§ ªàëâì")? |
jne noclose |
close: |
151,7 → 150,6 |
mcall 2 |
cmp ah,0x1b |
je close |
mov ecx,fname_buf |
cmp ah,0x0D |
jne @f |
mov ah,2 |
161,6 → 159,7 |
jne still |
;--------------------------------------------------------------------- |
noclose: |
mov ecx,fname_buf |
push 16 |
mov ebx,1 |
cmp byte[ecx+1],'f' |
197,7 → 196,24 |
jmp noclose |
|
doit: |
cmp [param],0 |
jne @f |
call save_ini |
@@: |
cmp byte[ecx+1],'r' |
je @f |
cmp byte[ecx+1],'R' |
jne not_rd |
@@: |
mov edx,rdError |
call print_err |
cmp [param],1 |
je @f |
jmp still |
@@: |
mov [param],0 |
jmp no_params |
not_rd: |
pop eax |
mcall |
call check_for_error |
205,6 → 221,7 |
je @f |
jmp still |
@@: |
mov [param],0 |
jmp no_params |
|
;--------------------------------------------------------------------- |
219,34 → 236,63 |
mov edx,error11 |
jmp print_err |
@@: |
mov edi, error_msg |
cmp eax, 11 |
ja .unknown |
mov esi, [errors+eax*4] |
@@: |
lodsb |
stosb |
test al, al |
jnz @b |
mov edx, [errors+eax*4] |
stdcall _lstrcat,error_msg,edx |
mov edx, error_msg |
jmp print_err |
.unknown: |
mov edx, aUnknownError |
print_err: |
pushad |
stdcall _lstrlen,ini_path |
invoke ini_set_str,ini_file,apath,apath,ini_path,eax |
stdcall _lstrcpy,fname_buf,ini_path |
popad |
cmp [hidden],1 |
je @f |
cmp [param],1 |
je @f |
stdcall _lstrlen,edx |
imul eax,6 |
mov ebx,390 |
sub ebx,eax |
sar ebx,1 |
shl ebx,16 |
add ebx,96 |
mov ecx,[sc.work_text] |
or ecx,0xc0880000 |
mcall 4, , , , ,[sc.work] |
ret |
@@: |
mov dword [is_notify + 8], edx |
mcall 70, is_notify |
ret |
print_ok: |
cmp [hidden],1 |
je @f |
cmp [param],1 |
je @f |
stdcall _lstrlen,edx |
imul eax,6 |
mov ebx,390 |
sub ebx,eax |
sar ebx,1 |
shl ebx,16 |
add ebx,96 |
mov ecx,[sc.work_text] |
or ecx,0xc0008800 |
mcall 4, , , , ,[sc.work] |
mcall 5,100 |
cmp [autoclose],1 |
je close |
ret |
@@: |
mov dword [is_notify + 8], edx |
mcall 70, is_notify |
cmp [hidden],1 |
je close |
cmp [autoclose],0 |
je @f |
mcall 5,50 |
mcall 5,100 |
jmp close |
@@: |
ret |
;--------------------------------------------------------------------- |
draw_PathShow: |
pushad |
290,7 → 336,7 |
|
mov edx,[sc.work] |
or edx,0x34000000 |
mcall 0,<200,400>,<200,120>, , ,title |
mcall 0,<200,400>,<200,130>, , ,title |
|
;buttons |
mcall 8,<198,70>,<68,20>,2,[sc.work_button] |
337,6 → 383,8 |
error10 db '®áâ㯠§ ¯à¥éñ',0 |
error11 db '訡ª ãáâனá⢠',0 |
aUnknownError db '¥¨§¢¥áâ ï ®è¨¡ª ',0 |
rdError db '¥«ì§ï á®åà ïâì ®¡à § ¢ á ¬®£® ᥡï',0 |
error_msg db '訡ª : ',0 |
;--------------------------------------------------------------------- |
else if lang eq et |
save db 'Salvesta',0 |
356,6 → 404,8 |
error10 db 'Juurdepääs keelatud',0 |
error11 db 'Seadme viga',0 |
aUnknownError db 'Tundmatu viga',0 |
rdError db 'You can't save image on itself',0 |
error_msg db 'Viga: ',0 |
;--------------------------------------------------------------------- |
else if lang eq it |
save db ' Salva',0 |
375,6 → 425,8 |
error10 db 'Accesso negato',0 |
error11 db 'Errore di device',0 |
aUnknownError db 'Errore sconosciuto',0 |
rdError db 'You can't save image on itself',0 |
error_msg db 'Errore: ',0 |
;--------------------------------------------------------------------- |
else |
save db ' Save',0 |
394,10 → 446,9 |
error10 db 'Access denied',0 |
error11 db 'Device error',0 |
aUnknownError db 'Unknown error',0 |
|
rdError db 'You can't save image on itself',0 |
error_msg db 'Error: ',0 |
end if |
|
title db appname,version,0 |
;--------------------------------------------------------------------- |
errors: |
dd ok |
413,6 → 464,9 |
dd error10 |
dd error11 |
;--------------------------------------------------------------------- |
|
title db appname,version,0 |
|
;Lib_DATA |
;ᥣ¤ ᮡ«î¤ âì ¯®á«¥¤®¢ ⥫ì®áâì ¢ ¨¬¥¨. |
system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
601,12 → 655,8 |
|
sc system_colors |
|
;mouse_dd rd 1 |
|
autoclose rd 1 |
|
error_msg rb 128 |
|
folder_data: |
rb 304*32+32 ; 9 Kb |
;--------------------------------------------------------------------- |