RDsave: bugfixes in messages

git-svn-id: svn://kolibrios.org@4319 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
heavyiron 2013-12-02 22:59:48 +00:00
parent e8d31d6fc6
commit 0d88e2ca63
2 changed files with 52 additions and 72 deletions

View File

@ -8,7 +8,7 @@
; Heavyiron 01.12.2013 - new logic ; Heavyiron 01.12.2013 - new logic
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
appname equ 'RDsave ' appname equ 'RDsave '
version equ '1.42' version equ '1.43'
debug equ no debug equ no
use32 ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à  use32 ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
@ -205,12 +205,14 @@ doit:
call print_err call print_err
jmp still jmp still
not_rd: not_rd:
cmp [hidden],0 cmp [hidden],0
jne @f jne @f
pusha pusha
mov ecx,[sc.work_text] stdcall _lstrcpy,msg,label2
or ecx,0xc0000088 mov eax,[sc.work_text]
mcall 4,<132,96>, ,label2, ,[sc.work] or eax,0xc0000088
mov [color],eax
call print_msg
popa popa
@@: @@:
pop eax pop eax
@ -230,9 +232,9 @@ check_for_error: ;
cmp eax, 11 cmp eax, 11
ja .unknown ja .unknown
mov edx, [errors+eax*4] mov edx, [errors+eax*4]
stdcall _lstrcpy,error_msg,error stdcall _lstrcpy,msg,error
stdcall _lstrcat,error_msg,edx stdcall _lstrcat,msg,edx
mov edx, error_msg mov edx,msg
jmp print_err jmp print_err
.unknown: .unknown:
mov edx, aUnknownError mov edx, aUnknownError
@ -242,19 +244,15 @@ print_err:
pusha pusha
invoke ini_set_str,ini_file,apath,apath,ini_path,eax invoke ini_set_str,ini_file,apath,apath,ini_path,eax
popa popa
stdcall _lstrcpy,msg,edx
cmp [hidden],1 cmp [hidden],1
je @f je @f
cmp [param],1 cmp [param],1
je @f je @f
stdcall _lstrlen,edx mov ecx,[sc.work_text]
imul eax,6 or ecx,0xc0880000
mov ebx,390 mov [color],ecx
sub ebx,eax call print_msg
shl ebx,15
add ebx,96
mov ecx,[sc.work_text]
or ecx,0xc0880000
mcall 4, , , , ,[sc.work]
ret ret
@@: @@:
mov dword [is_notify + 8], edx mov dword [is_notify + 8], edx
@ -265,32 +263,39 @@ print_err:
jmp no_params jmp no_params
print_ok: print_ok:
cmp [hidden],1 cmp [hidden],1
je @f je @f
cmp [param],1 cmp [param],1
je @f je @f
mov edx,ok stdcall _lstrcpy,msg,ok
stdcall _lstrlen,edx mov ecx,[sc.work_text]
imul eax,6 or ecx,0xc0008800
mov [color],ecx
call print_msg
mcall 5,100
cmp [autoclose],1
je close
ret
@@:
stdcall _lstrcpy,msg,ok
stdcall _lstrcat,msg,fname_buf
mov edx,msg
mov dword [is_notify + 8], edx
mcall 70, is_notify
mcall 5,100
jmp close
;---------------------------------------------------------------------
print_msg:
mcall 13,<5,380>,<96,10>,[sc.work]
stdcall _lstrlen,msg
lea eax,[eax+eax*2]
add eax,eax
mov ebx,390 mov ebx,390
sub ebx,eax sub ebx,eax
shl ebx,15 shl ebx,15
add ebx,96 add ebx,96
mov ecx,[sc.work_text] mcall 4, ,[color],msg, ,[sc.work]
or ecx,0xc0008800
mcall 4, , , , ,[sc.work]
mcall 5,200
cmp [autoclose],1
je close
ret ret
@@:
stdcall _lstrcpy,check_dir,ok
stdcall _lstrcat,check_dir,fname_buf
mov edx,check_dir
mov dword [is_notify + 8], edx
mcall 70, is_notify
jmp close
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
draw_PathShow: draw_PathShow:
pusha pusha
@ -349,6 +354,7 @@ draw_window:
call [Frame_draw] call [Frame_draw]
call draw_PathShow call draw_PathShow
call print_msg
mcall 12,2 mcall 12,2
ret ret
@ -652,7 +658,9 @@ sc system_colors
autoclose rd 1 autoclose rd 1
error_msg: color rd 1
msg:
rb 1024 rb 1024
folder_data: folder_data:
@ -682,4 +690,4 @@ text_work_area:
align 32 align 32
rb 4096 rb 4096
stacktop: stacktop:
I_END: ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë I_END:

View File

@ -36,30 +36,6 @@
; ret ; ret
;endp ;endp
;-----------------------------------------------------
; ”ã­ªæ¨ï ¯®«ã祭¨ï ¤«¨­ë áâப¨
;-----------------------------------------------------
; lpStr - 㪠§ â¥«ì ­  áâபã ASCIIZ
; <EFBFBD>  ¢ë室¥: EAX - ¤«¨­  áâப¨ ¡¥§ ãç¥â  § ¢¥àè î饣®
; ­ã«¥¢®£® ¡ ©â 
;-----------------------------------------------------
;proc _lstrlen lpStr:DWORD
; push edi ecx
;
; cld
; mov edi,[lpStr]
; xor ecx,ecx
; dec ecx
; xor eax,eax
; repne scasb
; not ecx
; dec ecx
; mov eax,ecx
;
; pop ecx edi
; ret
;endp
;----------------------------------------------------- ;-----------------------------------------------------
; ”ã­ªæ¨ï ¯®«ã祭¨ï ¤«¨­ë áâப¨ ; ”ã­ªæ¨ï ¯®«ã祭¨ï ¤«¨­ë áâப¨
;----------------------------------------------------- ;-----------------------------------------------------
@ -68,17 +44,13 @@
; ­ã«¥¢®£® ¡ ©â  ; ­ã«¥¢®£® ¡ ©â 
;----------------------------------------------------- ;-----------------------------------------------------
proc _lstrlen lpStr:DWORD proc _lstrlen lpStr:DWORD
push ebx mov eax, [lpStr]
mov ebx,[lpStr] @@: inc eax
xor eax,eax cmp byte [eax], 0
@@: cmp byte[ebx+eax],0 jne @b
je @f sub eax, [lpStr]
inc eax ret
jmp @b
@@: pop ebx
ret
endp endp
;----------------------------------------------------- ;-----------------------------------------------------
; ”ã­ªæ¨ï ¡ëáâண® á«¨ï­¨ï ¤¢ãå áâப ; ”ã­ªæ¨ï ¡ëáâண® á«¨ï­¨ï ¤¢ãå áâப
; ¨á¯®«ì§ãîâáï ä㭪樨 _lstrlen, _lstrcpy ; ¨á¯®«ì§ãîâáï ä㭪樨 _lstrlen, _lstrcpy