9,18 → 9,18 |
;--------------------------------------------------------------------- |
appname equ 'RDsave ' |
version equ '1.43' |
debug equ no |
debug equ no |
|
use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
org 0x0 ; ¤à¥á æ¨ï á ã«ï |
|
db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
dd IM_END ; à §¬¥à ¯à®£à ¬¬ë |
dd I_END ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
dd stacktop ; ¤à¥á ¢¥àè¨ë á⥪ |
dd PARAMS ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ |
db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
dd IM_END ; à §¬¥à ¯à®£à ¬¬ë |
dd I_END ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
dd stacktop ; ¤à¥á ¢¥àè¨ë á⥪ |
dd PARAMS ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ |
dd cur_dir_path |
|
|
35,7 → 35,7 |
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
include 'str.inc' |
|
@use_library |
@use_library |
;--------------------------------------------------------------------- |
;--- ---------------------------------------------- |
;--------------------------------------------------------------------- |
42,46 → 42,46 |
align 4 |
START: |
;--------------------------------------------------------------------- |
mcall 48,3,sc,sizeof.system_colors |
mcall 68,11 |
mcall 48,3,sc,sizeof.system_colors |
mcall 68,11 |
|
load_libraries l_libs_start,end_l_libs |
inc eax |
test eax,eax |
jz close |
inc eax |
test eax,eax |
jz close |
|
stdcall dll.Init,[init_lib] |
stdcall dll.Init,[init_lib] |
|
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 |
stdcall _lstrcpy,filename_area,start_temp_file_name |
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 |
stdcall _lstrcpy,filename_area,start_temp_file_name |
|
mov eax,PARAMS |
cmp byte[eax], 0 |
je no_params |
cmp byte[eax], 'h' |
je @f |
cmp byte[eax], 'H' |
jne .no_h |
mov eax,PARAMS |
cmp byte[eax], 0 |
je no_params |
cmp byte[eax], 'h' |
je @f |
cmp byte[eax], 'H' |
jne .no_h |
@@: |
mov [hidden],1 |
jmp no_params |
mov [hidden],1 |
jmp no_params |
.no_h: |
mov [param],1 |
stdcall _lstrcpy,fname_buf,eax |
mov ah,2 |
jmp noclose |
mov [param],1 |
stdcall _lstrcpy,fname_buf,eax |
mov ah,2 |
jmp noclose |
|
;--------------------------------------------------------------------- |
no_params: |
stdcall _lstrcpy,check_dir,ini_path |
call check_path |
test eax,eax |
jz path_ok |
cmp eax,6 |
je path_ok |
stdcall _lstrcpy,check_dir,ini_path |
call check_path |
test eax,eax |
jz path_ok |
cmp eax,6 |
je path_ok |
;--------------------------------------------------------------------- |
if debug eq yes |
dps 'read_folder_error' |
89,401 → 89,411 |
end if |
;--------------------------------------------------------------------- |
default_path: |
stdcall _lstrcpy,fname_buf,communication_area_default_path |
mov [hidden],0 |
stdcall _lstrcpy,fname_buf,communication_area_default_path |
mov [hidden],0 |
|
;OpenDialog initialisation |
push dword OpenDialog_data |
call [OpenDialog_Init] |
push dword OpenDialog_data |
call [OpenDialog_Init] |
|
; prepare for PathShow |
push dword PathShow_data_1 |
call [PathShow_prepare] |
push dword PathShow_data_1 |
call [PathShow_prepare] |
|
mcall 40,0x00000027 |
mcall 40,0x00000027 |
|
call draw_window |
mov ah,3 |
jmp noclose |
call draw_window |
mov ah,3 |
jmp noclose |
;--------------------------------------------------------------------- |
path_ok: |
;OpenDialog initialisation |
push dword OpenDialog_data |
call [OpenDialog_Init] |
push dword OpenDialog_data |
call [OpenDialog_Init] |
|
; prepare for PathShow |
push dword PathShow_data_1 |
call [PathShow_prepare] |
push dword PathShow_data_1 |
call [PathShow_prepare] |
|
mcall 40,0x00000027 |
mcall 40,0x00000027 |
|
cmp [hidden],1 |
jne red |
mov ah,2 |
jmp noclose |
cmp [hidden],1 |
jne red |
mov ah,2 |
jmp noclose |
red: |
call draw_window |
call draw_window |
;--------------------------------------------------------------------- |
still: |
mcall 10 |
mcall 10 |
|
dec eax ; ¯¥à¥à¨á®¢ âì ®ª®? |
jz red ; ¥á«¨ ¤ - ¬¥âªã red |
dec eax |
jz key |
dec eax |
jz button |
jmp still |
dec eax ; ¯¥à¥à¨á®¢ âì ®ª®? |
jz red ; ¥á«¨ ¤ - ¬¥âªã red |
dec eax |
jz key |
dec eax |
jz button |
jmp still |
;--------------------------------------------------------------------- |
button: |
mcall 17 ; ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
cmp ah,1 ; ª®¯ª á id=1("§ ªàëâì")? |
jne noclose |
mcall 17 ; ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
cmp ah,1 ; ª®¯ª á id=1("§ ªàëâì")? |
jne noclose |
close: |
mcall -1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
|
mcall -1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
|
;--------------------------------------------------------------------- |
key: |
mcall 2 |
cmp ah,0x1b |
je close |
cmp ah,0x0D |
jne @f |
mov ah,2 |
jmp noclose |
mcall 2 |
cmp ah,0x1b |
je close |
cmp ah,0x0D |
jne @f |
mov ah,2 |
jmp noclose |
@@: |
cmp ah,9h |
jne still |
cmp ah,9h |
jne still |
;--------------------------------------------------------------------- |
noclose: |
mov ecx,fname_buf |
push 16 |
mov ebx,1 |
cmp byte[ecx+1],'f' |
je @f |
cmp byte[ecx+1],'F' |
jne not_fdd |
mov ecx,fname_buf |
push 16 |
mov ebx,1 |
cmp byte[ecx+1],'f' |
je @f |
cmp byte[ecx+1],'F' |
jne not_fdd |
@@: |
cmp byte[ecx+4],'1' |
jne @f |
cmp ah,2 |
je doit |
cmp byte[ecx+4],'1' |
jne @f |
cmp ah,2 |
je doit |
@@: |
inc ebx |
cmp ah,2 |
je doit |
inc ebx |
cmp ah,2 |
je doit |
not_fdd: |
push 18 |
mov ebx,6 ; 18.6 = save to specified folder |
cmp ah,2 |
je doit |
push 18 |
mov ebx,6 ; 18.6 = save to specified folder |
cmp ah,2 |
je doit |
|
; invoke OpenDialog |
push dword OpenDialog_data |
call [OpenDialog_Start] |
cmp [OpenDialog_data.status],1 |
jne still |
push dword OpenDialog_data |
call [OpenDialog_Start] |
cmp [OpenDialog_data.status],1 |
jne still |
|
; prepare for PathShow |
push dword PathShow_data_1 |
call [PathShow_prepare] |
call draw_window |
mov ah,2 |
jmp noclose |
push dword PathShow_data_1 |
call [PathShow_prepare] |
call draw_window |
mov ah,2 |
jmp noclose |
|
doit: |
cmp [param],0 |
jne @f |
call save_ini |
cmp [param],0 |
jne @f |
call save_ini |
@@: |
cmp byte[ecx+1],'r' |
je @f |
cmp byte[ecx+1],'R' |
jne not_rd |
cmp byte[ecx+1],'r' |
je @f |
cmp byte[ecx+1],'R' |
jne not_rd |
@@: |
mov edx,rdError |
call print_err |
jmp still |
mov edx,rdError |
call print_err |
jmp still |
not_rd: |
cmp [hidden],0 |
jne @f |
pusha |
stdcall _lstrcpy,msg,label2 |
mov eax,[sc.work_text] |
or eax,0xc0000088 |
mov [color],eax |
call print_msg |
popa |
cmp [hidden],0 |
jne @f |
pusha |
stdcall _lstrcpy,msg,label2 |
mov eax,[sc.work_text] |
or eax,0xc0000088 |
mov [color],eax |
call print_msg |
popa |
@@: |
pop eax |
mcall |
call check_for_error |
jmp still |
pop eax |
mcall |
call check_for_error |
jmp still |
|
;--------------------------------------------------------------------- |
check_for_error: ;¡à ¡®â稪 ®è¨¡®ª |
test eax,eax |
jz print_ok |
cmp ebx,6 |
je @f |
mov edx,error11 |
jmp print_err |
@@: |
cmp eax, 11 |
ja .unknown |
mov edx, [errors+eax*4] |
stdcall _lstrcpy,msg,error |
stdcall _lstrcat,msg,edx |
mov edx,msg |
jmp print_err |
check_for_error: ;¡à ¡®â稪 ®è¨¡®ª |
test eax,eax |
jz print_ok |
cmp ebx,6 |
je @f |
mov edx,error11 |
jmp print_err |
@@: |
cmp eax, 11 |
ja .unknown |
mov edx, [errors+eax*4] |
stdcall _lstrcpy,msg,error |
stdcall _lstrcat,msg,edx |
mov edx,msg |
jmp print_err |
.unknown: |
mov edx, aUnknownError |
mov edx, aUnknownError |
|
print_err: |
stdcall _lstrlen,ini_path |
pusha |
invoke ini_set_str,ini_file,apath,apath,ini_path,eax |
popa |
stdcall _lstrcpy,msg,edx |
cmp [hidden],1 |
je @f |
cmp [param],1 |
je @f |
mov ecx,[sc.work_text] |
or ecx,0xc0880000 |
mov [color],ecx |
call print_msg |
ret |
stdcall _lstrlen,ini_path |
pusha |
invoke ini_set_str,ini_file,apath,apath,ini_path,eax |
popa |
stdcall _lstrcpy,msg,edx |
cmp [hidden],1 |
je @f |
cmp [param],1 |
je @f |
mov ecx,[sc.work_text] |
or ecx,0xc0880000 |
mov [color],ecx |
call print_msg |
ret |
@@: |
mov dword [is_notify + 8], edx |
mcall 70, is_notify |
mov [param],0 |
mov [hidden],0 |
stdcall _lstrcpy,fname_buf,ini_path |
jmp no_params |
stdcall _lstrcpy, ntf_msg, ntf_start |
stdcall _lstrcat, ntf_msg, edx |
stdcall _lstrcat, ntf_msg, ntf_end_e |
mov dword [is_notify + 8], ntf_msg |
mcall 70, is_notify |
mov [param],0 |
mov [hidden],0 |
stdcall _lstrcpy,fname_buf,ini_path |
jmp no_params |
|
print_ok: |
cmp [hidden],1 |
je @f |
cmp [param],1 |
je @f |
stdcall _lstrcpy,msg,ok |
mov ecx,[sc.work_text] |
or ecx,0xc0008800 |
mov [color],ecx |
call print_msg |
mcall 5,100 |
cmp [autoclose],1 |
je close |
ret |
cmp [hidden],1 |
je @f |
cmp [param],1 |
je @f |
stdcall _lstrcpy,msg,ok |
mov ecx,[sc.work_text] |
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 |
stdcall _lstrcpy,msg,ok |
stdcall _lstrcat,msg,fname_buf |
stdcall _lstrcpy, ntf_msg, ntf_start |
stdcall _lstrcat, ntf_msg, msg |
stdcall _lstrcat, ntf_msg, ntf_end_o |
mov edx,ntf_smsg |
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 |
sub ebx,eax |
shl ebx,15 |
add ebx,96 |
mcall 4, ,[color],msg, ,[sc.work] |
ret |
mcall 13,<5,380>,<96,10>,[sc.work] |
stdcall _lstrlen,msg |
lea eax,[eax+eax*2] |
add eax,eax |
mov ebx,390 |
sub ebx,eax |
shl ebx,15 |
add ebx,96 |
mcall 4, ,[color],msg, ,[sc.work] |
ret |
;--------------------------------------------------------------------- |
draw_PathShow: |
pusha |
mcall 13,<15,280>,<32,16>,0xffffff |
push dword PathShow_data_1 |
call [PathShow_draw] |
popa |
ret |
pusha |
mcall 13,<15,280>,<32,16>,0xffffff |
push dword PathShow_data_1 |
call [PathShow_draw] |
popa |
ret |
;--------------------------------------------------------------------- |
save_ini: |
pusha |
stdcall _lstrlen,fname_buf |
invoke ini_set_str,ini_file,apath,apath,fname_buf,eax |
invoke ini_set_int,ini_file,asettings,aautoclose,[autoclose] |
popa |
ret |
pusha |
stdcall _lstrlen,fname_buf |
invoke ini_set_str,ini_file,apath,apath,fname_buf,eax |
invoke ini_set_int,ini_file,asettings,aautoclose,[autoclose] |
popa |
ret |
;--------------------------------------------------------------------- |
check_path: |
stdcall _lstrlen,check_dir |
add eax,check_dir |
stdcall _lstrlen,check_dir |
add eax,check_dir |
@@: |
dec eax |
cmp byte [eax],'/' |
jne @b |
mov byte [eax+1],0 |
dec eax |
cmp byte [eax],'/' |
jne @b |
mov byte [eax+1],0 |
|
mcall 70,read_folder |
ret |
mcall 70,read_folder |
ret |
;--------------------------------------------------------------------- |
;--- Draw window --------------------------------------------------- |
;--------------------------------------------------------------------- |
draw_window: |
mcall 12,1 |
mcall 12,1 |
|
mov edx,[sc.work] |
or edx,0x34000000 |
mcall 0,<200,400>,<200,130>, , ,title |
mov edx,[sc.work] |
or edx,0x34000000 |
mcall 0,<200,400>,<200,130>, , ,title |
|
;buttons |
mcall 8,<198,70>,<68,20>,1,[sc.work_button] |
inc edx |
mcall ,<125,70>, |
inc edx |
mcall ,<300,75>,<30,20> |
mcall 8,<198,70>,<68,20>,1,[sc.work_button] |
inc edx |
mcall ,<125,70>, |
inc edx |
mcall ,<300,75>,<30,20> |
|
;labels |
mov ecx,[sc.work_button_text] |
or ecx,0x80000000 |
mcall 4,<134,75>, ,save |
mcall ,<215,75>, ,cancel |
mcall ,<315,36>, ,select |
|
mov ecx,[sc.work] |
mov dword [frame_data.font_backgr_color],ecx |
push dword frame_data |
call [Frame_draw] |
mov ecx,[sc.work_button_text] |
or ecx,0x80000000 |
mcall 4,<134,75>, ,save |
mcall ,<215,75>, ,cancel |
mcall ,<315,36>, ,select |
|
call draw_PathShow |
call print_msg |
mov ecx,[sc.work] |
mov dword [frame_data.font_backgr_color],ecx |
push dword frame_data |
call [Frame_draw] |
|
mcall 12,2 |
ret |
call draw_PathShow |
call print_msg |
|
mcall 12,2 |
ret |
|
;--------------------------------------------------------------------- |
;--- Data ---------------------------------------------------------- |
;--------------------------------------------------------------------- |
if lang eq ru |
save db '®åà ¨âì',0 |
cancel db '⬥ ',0 |
select db '§¬¥¨âì',0 |
label1 db ' ¡à § ¡ã¤¥â á®åà ¥ ¢: ',0 |
label2 db '®åà ¥¨¥ ®¡à § ...',0 |
ok db 'RAM-¤¨áª á®åà ¥ ãá¯¥è® ',0 |
error1 db '¥ ®¯à¥¤¥«¥ ¡ § ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0 |
error2 db 'äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ®© ä ©«®¢®© á¨á⥬ë',0 |
error3 db '¥¨§¢¥áâ ï ä ©«®¢ ï á¨á⥬ ',0 |
error4 db 'áâà ®... 訡ª 4',0 |
error5 db '¥áãé¥áâ¢ãî騩 ¯ãâì',0 |
error6 db 'ä ©« § ª®ç¨«áï',0 |
error7 db '㪠§ â¥«ì ¢¥ ¯ ¬ï⨠¯à¨«®¦¥¨ï',0 |
error8 db '¤¨áª § ¯®«¥',0 |
error9 db 'ä ©«®¢ ï áâàãªâãà à §àãè¥ ',0 |
error10 db '¤®áâ㯠§ ¯à¥éñ',0 |
error11 db '訡ª ãáâனá⢠',0 |
aUnknownError db '¥¨§¢¥áâ ï ®è¨¡ª ',0 |
rdError db '¥«ì§ï á®åà ïâì ®¡à § ¢ á ¬®£® ᥡï',0 |
error db '訡ª : ',0 |
save db '®åà ¨âì',0 |
cancel db '⬥ ',0 |
select db '§¬¥¨âì',0 |
label1 db ' ¡à § ¡ã¤¥â á®åà ¥ ¢: ',0 |
label2 db '®åà ¥¨¥ ®¡à § ...',0 |
ok db 'RAM-¤¨áª á®åà ¥ ãá¯¥è® ',0 |
error1 db '¥ ®¯à¥¤¥«¥ ¡ § ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0 |
error2 db 'äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ®© ä ©«®¢®© á¨á⥬ë',0 |
error3 db '¥¨§¢¥áâ ï ä ©«®¢ ï á¨á⥬ ',0 |
error4 db 'áâà ®... 訡ª 4',0 |
error5 db '¥áãé¥áâ¢ãî騩 ¯ãâì',0 |
error6 db 'ä ©« § ª®ç¨«áï',0 |
error7 db '㪠§ â¥«ì ¢¥ ¯ ¬ï⨠¯à¨«®¦¥¨ï',0 |
error8 db '¤¨áª § ¯®«¥',0 |
error9 db 'ä ©«®¢ ï áâàãªâãà à §àãè¥ ',0 |
error10 db '¤®áâ㯠§ ¯à¥éñ',0 |
error11 db '訡ª ãáâனá⢠',0 |
aUnknownError db '¥¨§¢¥áâ ï ®è¨¡ª ',0 |
rdError db '¥«ì§ï á®åà ïâì ®¡à § ¢ á ¬®£® ᥡï',0 |
error db '訡ª : ',0 |
;--------------------------------------------------------------------- |
else if lang eq et |
save db 'Salvesta',0 |
cancel db 'Cancel',0 |
select db ' Valige',0 |
label1 db ' RAM-drive will be saved as: ',0 |
label2 db 'Saving in progress...',0 |
ok db 'RAM-ketas salvestatud edukalt ',0 |
error1 db 'hard disk base and/or partition not defined',0 |
error2 db 'the file system does not support this function',0 |
error3 db 'tundmatu failisüsteem',0 |
error4 db 'strange... Error 4',0 |
error5 db 'vigane teekond',0 |
error6 db 'end of file',0 |
error7 db 'pointer is outside of application memory',0 |
error8 db 'ketas täis',0 |
error9 db 'FAT tabel vigane',0 |
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 db 'Viga: ',0 |
save db 'Salvesta',0 |
cancel db 'Cancel',0 |
select db ' Valige',0 |
label1 db ' RAM-drive will be saved as: ',0 |
label2 db 'Saving in progress...',0 |
ok db 'RAM-ketas salvestatud edukalt ',0 |
error1 db 'hard disk base and/or partition not defined',0 |
error2 db 'the file system does not support this function',0 |
error3 db 'tundmatu failisüsteem',0 |
error4 db 'strange... Error 4',0 |
error5 db 'vigane teekond',0 |
error6 db 'end of file',0 |
error7 db 'pointer is outside of application memory',0 |
error8 db 'ketas täis',0 |
error9 db 'FAT tabel vigane',0 |
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 db 'Viga: ',0 |
;--------------------------------------------------------------------- |
else if lang eq it |
save db ' Salva',0 |
cancel db 'Cancel',0 |
select db 'Seleziona',0 |
label1 db ' RAM-drive will be saved as: ',0 |
label2 db 'Saving in progress...',0 |
ok db 'Il RAM-drivet e stato salvato ',0 |
error1 db 'hard disk base and/or partition not defined',0 |
error2 db 'the file system does not support this function',0 |
error3 db 'filesystem sconosciuto',0 |
error4 db 'strange... Error 4',0 |
error5 db 'percorso non valido',0 |
error6 db 'end of file',0 |
error7 db 'pointer is outside of application memory',0 |
error8 db 'disco pieno',0 |
error9 db 'tabella FAT corrotta',0 |
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 db 'Errore: ',0 |
save db ' Salva',0 |
cancel db 'Cancel',0 |
select db 'Seleziona',0 |
label1 db ' RAM-drive will be saved as: ',0 |
label2 db 'Saving in progress...',0 |
ok db 'Il RAM-drivet e stato salvato ',0 |
error1 db 'hard disk base and/or partition not defined',0 |
error2 db 'the file system does not support this function',0 |
error3 db 'filesystem sconosciuto',0 |
error4 db 'strange... Error 4',0 |
error5 db 'percorso non valido',0 |
error6 db 'end of file',0 |
error7 db 'pointer is outside of application memory',0 |
error8 db 'disco pieno',0 |
error9 db 'tabella FAT corrotta',0 |
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 db 'Errore: ',0 |
;--------------------------------------------------------------------- |
else |
save db ' Save',0 |
cancel db 'Cancel',0 |
select db ' Select',0 |
label1 db ' RAM-drive will be saved as: ',0 |
label2 db 'Saving in progress...',0 |
ok db 'RAM-drive was saved successfully ',0 |
error1 db 'hard disk base and/or partition not defined',0 |
error2 db 'the file system does not support this function',0 |
error3 db 'unknown file system',0 |
error4 db 'strange... Error 4',0 |
error5 db 'incorrect path',0 |
error6 db 'end of file',0 |
error7 db 'pointer is outside of application memory',0 |
error8 db 'disk is full',0 |
error9 db 'file structure is destroyed',0 |
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 db 'Error: ',0 |
save db ' Save',0 |
cancel db 'Cancel',0 |
select db ' Select',0 |
label1 db ' RAM-drive will be saved as: ',0 |
label2 db 'Saving in progress...',0 |
ok db 'RAM-drive was saved successfully ',0 |
error1 db 'hard disk base and/or partition not defined',0 |
error2 db 'the file system does not support this function',0 |
error3 db 'unknown file system',0 |
error4 db 'strange... Error 4',0 |
error5 db 'incorrect path',0 |
error6 db 'end of file',0 |
error7 db 'pointer is outside of application memory',0 |
error8 db 'disk is full',0 |
error9 db 'file structure is destroyed',0 |
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 db 'Error: ',0 |
end if |
;--------------------------------------------------------------------- |
ntf_start db '"RDSave\n', 0 |
ntf_end_o db '" -tO', 0 |
ntf_end_e db '" -tE', 0 |
;--------------------------------------------------------------------- |
errors: |
dd ok |
dd error1 |
dd error2 |
dd error3 |
dd error4 |
dd error5 |
dd error6 |
dd error7 |
dd error8 |
dd error9 |
dd error10 |
dd error11 |
dd ok |
dd error1 |
dd error2 |
dd error3 |
dd error4 |
dd error5 |
dd error6 |
dd error7 |
dd error8 |
dd error9 |
dd error10 |
dd error11 |
;--------------------------------------------------------------------- |
|
title db appname,version,0 |
title db appname,version,0 |
|
;Lib_DATA |
;ᥣ¤ ᮡ«î¤ âì ¯®á«¥¤®¢ ⥫ì®áâì ¢ ¨¬¥¨. |
system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
system_dir_libini db '/sys/lib/libini.obj',0 |
system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
system_dir_libini db '/sys/lib/libini.obj',0 |
;--------------------------------------------------------------------- |
head_f_i: |
head_f_l db 'System error',0 |
head_f_l db 'System error',0 |
|
err_message_found_lib1 db 'box_lib.obj - Not found!',0 |
err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
err_message_found_lib3 db 'libini.obj - Not found!',0 |
err_message_found_lib1 db 'box_lib.obj - Not found!',0 |
err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
err_message_found_lib3 db 'libini.obj - Not found!',0 |
|
err_message_import1 db 'box_lib.obj - Wrong import!',0 |
err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
err_message_import3 db 'libini.obj - Wrong import!',0 |
err_message_import1 db 'box_lib.obj - Wrong import!',0 |
err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
err_message_import3 db 'libini.obj - Wrong import!',0 |
;--------------------------------------------------------------------- |
l_libs_start: |
|
499,27 → 509,27 |
end_l_libs: |
;--------------------------------------------------------------------- |
OpenDialog_data: |
.type dd 1 ; Save |
.procinfo dd procinfo ;+4 |
.com_area_name dd communication_area_name ;+8 |
.com_area dd 0 ;+12 |
.opendir_path dd temp_dir_path ;+16 |
.dir_default_path dd communication_area_default_path ;+20 |
.start_path dd open_dialog_path ;+24 |
.draw_window dd draw_window ;+28 |
.status dd 0 ;+32 |
.openfile_pach dd fname_buf ;+36 |
.filename_area dd filename_area ;+40 |
.filter_area dd Filter |
.type dd 1 ; Save |
.procinfo dd procinfo ;+4 |
.com_area_name dd communication_area_name ;+8 |
.com_area dd 0 ;+12 |
.opendir_path dd temp_dir_path ;+16 |
.dir_default_path dd communication_area_default_path ;+20 |
.start_path dd open_dialog_path ;+24 |
.draw_window dd draw_window ;+28 |
.status dd 0 ;+32 |
.openfile_pach dd fname_buf ;+36 |
.filename_area dd filename_area ;+40 |
.filter_area dd Filter |
.x: |
.x_size dw 420 ;+48 ; Window X size |
.x_start dw 200 ;+50 ; Window X position |
.x_size dw 420 ;+48 ; Window X size |
.x_start dw 200 ;+50 ; Window X position |
.y: |
.y_size dw 320 ;+52 ; Window y size |
.y_start dw 120 ;+54 ; Window Y position |
.y_size dw 320 ;+52 ; Window y size |
.y_start dw 120 ;+54 ; Window Y position |
|
communication_area_name: |
db 'FFFFFFFF_open_dialog',0 |
db 'FFFFFFFF_open_dialog',0 |
open_dialog_path: |
if __nightbuild eq yes |
db '/sys/MANAGERS/opendial',0 |
527,41 → 537,41 |
db '/sys/File Managers/opendial',0 |
end if |
communication_area_default_path: |
db '/',0 |
db '/',0 |
|
Filter: |
dd Filter.end - Filter |
dd Filter.end - Filter |
.1: |
db 'IMG',0 |
db 'IMA',0 |
db 'IMG',0 |
db 'IMA',0 |
.end: |
db 0 |
db 0 |
|
start_temp_file_name: db 'kolibri.img',0 |
start_temp_file_name: db 'kolibri.img',0 |
|
;--------------------------------------------------------------------- |
align 4 |
ProcLib_import: |
OpenDialog_Init dd aOpenDialog_Init |
OpenDialog_Start dd aOpenDialog_Start |
dd 0 |
dd 0 |
aOpenDialog_Init db 'OpenDialog_init',0 |
aOpenDialog_Start db 'OpenDialog_start',0 |
OpenDialog_Init dd aOpenDialog_Init |
OpenDialog_Start dd aOpenDialog_Start |
dd 0 |
dd 0 |
aOpenDialog_Init db 'OpenDialog_init',0 |
aOpenDialog_Start db 'OpenDialog_start',0 |
;--------------------------------------------------------------------- |
PathShow_data_1: |
.type dd 0 ;+0 |
.start_y dw 36 ;+4 |
.start_x dw 20 ;+6 |
.font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
.area_size_x dw 270 ;+10 |
.font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
.background_flag dd 0 ;+16 |
.font_color dd 0 ;+20 |
.background_color dd 0 ;+24 |
.text_pointer dd fname_buf ;+28 |
.work_area_pointer dd text_work_area ;+32 |
.temp_text_length dd 0 ;+36 |
.type dd 0 ;+0 |
.start_y dw 36 ;+4 |
.start_x dw 20 ;+6 |
.font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
.area_size_x dw 270 ;+10 |
.font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
.background_flag dd 0 ;+16 |
.font_color dd 0 ;+20 |
.background_color dd 0 ;+24 |
.text_pointer dd fname_buf ;+28 |
.work_area_pointer dd text_work_area ;+32 |
.temp_text_length dd 0 ;+36 |
;--------------------------------------------------------------------- |
align 4 |
Box_lib_import: |
570,11 → 580,11 |
;edit_box_mouse dd aEdit_box_mouse |
;version_ed dd aVersion_ed |
|
PathShow_prepare dd sz_PathShow_prepare |
PathShow_draw dd sz_PathShow_draw |
Frame_draw dd sz_Frame_draw |
dd 0 |
dd 0 |
PathShow_prepare dd sz_PathShow_prepare |
PathShow_draw dd sz_PathShow_draw |
Frame_draw dd sz_Frame_draw |
dd 0 |
dd 0 |
|
;aEdit_box_draw db 'edit_box',0 |
;aEdit_box_key db 'edit_box_key',0 |
581,29 → 591,29 |
;aEdit_box_mouse db 'edit_box_mouse',0 |
;aVersion_ed db 'version_ed',0 |
|
sz_PathShow_prepare db 'PathShow_prepare',0 |
sz_PathShow_draw db 'PathShow_draw',0 |
sz_PathShow_prepare db 'PathShow_prepare',0 |
sz_PathShow_draw db 'PathShow_draw',0 |
|
sz_Frame_draw db 'frame_draw',0 |
sz_Frame_draw db 'frame_draw',0 |
;szVersion_frame db 'version_frame',0 |
;--------------------------------------------------------------------- |
frame_data: |
.type dd 0 ;+0 |
.type dd 0 ;+0 |
.x: |
.x_size dw 374 ;+4 |
.x_start dw 8 ;+6 |
.x_size dw 374 ;+4 |
.x_start dw 8 ;+6 |
.y: |
.y_size dw 45 ;+8 |
.y_start dw 17 ;+10 |
.ext_fr_col dd 0x888888 ;+12 |
.int_fr_col dd 0xffffff ;+16 |
.draw_text_flag dd 1 ;+20 |
.text_pointer dd label1 ;+24 |
.text_position dd 0 ;+28 |
.font_number dd 0 ;+32 |
.font_size_y dd 9 ;+36 |
.font_color dd 0x0 ;+40 |
.font_backgr_color dd 0xdddddd ;+44 |
.y_size dw 45 ;+8 |
.y_start dw 17 ;+10 |
.ext_fr_col dd 0x888888 ;+12 |
.int_fr_col dd 0xffffff ;+16 |
.draw_text_flag dd 1 ;+20 |
.text_pointer dd label1 ;+24 |
.text_position dd 0 ;+28 |
.font_number dd 0 ;+32 |
.font_size_y dd 9 ;+36 |
.font_color dd 0x0 ;+40 |
.font_backgr_color dd 0xdddddd ;+44 |
;--------------------------------------------------------------------- |
align 4 |
libini_import: |
612,9 → 622,9 |
ini_get_int dd aini_get_int |
ini_set_str dd aini_set_str |
ini_set_int dd aini_set_int |
dd 0 |
dd 0 |
a_init db 'lib_init',0 |
dd 0 |
dd 0 |
a_init db 'lib_init',0 |
aini_get_str db 'ini_get_str',0 |
aini_get_int db 'ini_get_int',0 |
aini_set_str db 'ini_set_str',0 |
624,22 → 634,22 |
apath db 'path',0 |
asettings db 'settings',0 |
aautoclose db 'autoclose',0 |
path db '/hd2/1/kolibri.img',0 |
path db '/hd2/1/kolibri.img',0 |
ini_file db '/sys/settings/rdsave.ini',0 |
;ini_file db '/sys/rdsave.ini',0 |
;--------------------------------------------------------------------- |
is_notify: |
dd 7, 0, ok, 0, 0 |
db "/rd/1/@notify", 0 |
|
dd 7, 0, ok, 0, 0 |
db "/rd/1/@notify", 0 |
|
read_folder: |
.subfunction dd 1 |
.start dd 0 |
.flags dd 0 |
.size dd 1 |
.return dd folder_data |
db 0 |
.name: dd check_dir |
.subfunction dd 1 |
.start dd 0 |
.flags dd 0 |
.size dd 1 |
.return dd folder_data |
db 0 |
.name: dd check_dir |
|
param dd 0 |
hidden dd 0 |
650,44 → 660,47 |
PARAMS: |
rb 256 |
ini_path: |
rb 4096 |
rb 4096 |
check_dir: |
rb 4096 |
rb 4096 |
|
sc system_colors |
|
autoclose rd 1 |
|
color rd 1 |
color rd 1 |
|
msg: |
rb 1024 |
rb 1024 |
|
ntf_msg: |
rb 1024 |
|
folder_data: |
rb 304*32+32 ; 9 Kb |
rb 304*32+32 ; 9 Kb |
;--------------------------------------------------------------------- |
cur_dir_path: |
rb 4096 |
rb 4096 |
;--------------------------------------------------------------------- |
library_path: |
rb 4096 |
rb 4096 |
;--------------------------------------------------------------------- |
temp_dir_path: |
rb 4096 |
rb 4096 |
;--------------------------------------------------------------------- |
fname_buf: |
rb 4096 |
rb 4096 |
;--------------------------------------------------------------------- |
procinfo: |
rb 1024 |
rb 1024 |
;--------------------------------------------------------------------- |
filename_area: |
rb 256 |
rb 256 |
;--------------------------------------------------------------------- |
text_work_area: |
rb 1024 |
rb 1024 |
;--------------------------------------------------------------------- |
align 32 |
rb 4096 |
rb 4096 |
stacktop: |
I_END: |