italian version

git-svn-id: svn://kolibrios.org@3634 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
fedesco 2013-06-10 17:09:13 +00:00
parent 8ea1855c0e
commit e7b74632f9
7 changed files with 281 additions and 154 deletions

View File

@ -10,7 +10,7 @@ REDRAW_EVENT equ 1
KEY_EVENT equ 2
BUTTON_EVENT equ 3
MOUSE_EVENT equ 6
BUTTON_RUN equ 10
BUTTON_BROWSE equ 20
@ -23,7 +23,9 @@ program.stack dd end_ + STACK_SIZE
program.params dd 0
program.path dd 0
; ======================================================================= ;
include 'lang.inc'
; ======================================================================= ;
start_:
; set.event
mov eax, 40
@ -68,7 +70,7 @@ start_:
call getprocaddress
mov [opendialog_start], eax
; memory.allocate:
mov eax, 68
mov ebx, 12
@ -76,13 +78,13 @@ start_:
int 64
mov [od.procinfo], eax
add eax, 1024
mov [od.filename_area], eax
mov [od.filename_area], eax
add eax, 4096 - 1024
mov [od.opendir_path], eax
add eax, 4096
mov [od.openfile_path], eax
@ -105,7 +107,7 @@ start_:
; skin.height
mov eax, 48
mov ebx, 4
int 64
int 64
add eax, 64
mov [window.height], eax
@ -126,10 +128,10 @@ start_:
mov eax, [od.openfile_path]
mov [edit1.text], eax
call on_redraw
; ----------------------- ;
; ----------------------- ;
.loop:
; wait.event
mov eax, 10
@ -138,7 +140,7 @@ start_:
jne .check_key
call on_redraw
jmp .loop
; ----------------------- ;
; ----------------------- ;
.check_key:
cmp eax, KEY_EVENT
jne .check_button
@ -148,12 +150,12 @@ start_:
jne .no_key_enter
call on_button_run
jmp .loop
; ----------------------- ;
; ----------------------- ;
.no_key_enter:
push edit1
call [edit_box_key]
jmp .loop
; ----------------------- ;
; ----------------------- ;
.check_button:
cmp eax, BUTTON_EVENT
jne .check_mouse
@ -165,19 +167,19 @@ start_:
; program.terminate
or eax, -1
int 64
; ----------------------- ;
; ----------------------- ;
.check_button_run:
cmp ah, BUTTON_RUN
jne .check_button_browse
call on_button_run
jmp .loop
; ----------------------- ;
; ----------------------- ;
.check_button_browse:
cmp ah, BUTTON_BROWSE
jne .loop
call on_button_browse
jmp .loop
; ----------------------- ;
; ----------------------- ;
.check_mouse:
cmp eax, MOUSE_EVENT
jne .loop
@ -186,7 +188,7 @@ start_:
jmp .loop
; ======================================================================= ;
; ======================================================================= ;
on_button_run:
push dword[edit1.text]
call extractrunpathandparams
@ -195,67 +197,67 @@ on_button_run:
mov eax, 70
mov ebx, file_info
int 64
mov dl, byte[lastendpath]
mov ecx, [ptrlastendpath]
mov [ecx], dl
mov [ecx], dl
test eax, eax
jnge .error
mov [runresult], dword sz_Program_run_successfully
jmp .exit
.error:
; ----------------------- ;
.5:
; ----------------------- ;
.5:
cmp al, -5
jne .31
mov [runresult], dword sz_File_not_found
jmp .exit
; ----------------------- ;
.31:
; ----------------------- ;
.31:
cmp al, -31
jne .32
mov [runresult], dword sz_File_is_not_executable
jmp .exit
; ----------------------- ;
.32:
; ----------------------- ;
.32:
cmp al, -32
jne .10
mov [runresult], dword sz_Too_many_processes
jmp .exit
; ----------------------- ;
.10:
; ----------------------- ;
.10:
cmp al, -10
jne .30
mov [runresult], dword sz_Access_denied
jmp .exit
; ----------------------- ;
.30:
; ----------------------- ;
.30:
cmp al, -30
jne .unknown
mov [runresult], dword sz_Out_of_memory
jmp .exit
; ----------------------- ;
jmp .exit
; ----------------------- ;
.unknown:
mov [runresult], dword sz_Unknown_error
; ----------------------- ;
mov [runresult], dword sz_Unknown_error
; ----------------------- ;
.exit:
call on_redraw
ret
ret
; ======================================================================= ;
; ======================================================================= ;
on_button_browse:
push od
call [opendialog_start]
mov eax, [od.status]
mov eax, [od.status]
test eax, eax
je .exit
;======== if space exist in filepath, then quote filepath
mov eax, [od.openfile_path]
; ----------------------- ;
; ----------------------- ;
.check_space:
cmp [eax], byte 0
je .no_space
@ -264,14 +266,14 @@ on_button_browse:
inc eax
jmp .check_space
.space:
; ----------------------- ;
; ----------------------- ;
.find_end_zero:
inc eax
cmp [eax], byte 0
jne .find_end_zero
mov [eax + 2], byte 0
mov [eax + 1], byte 34 ; quote
; ----------------------- ;
; ----------------------- ;
.shift_path:
dec eax
@ -288,12 +290,12 @@ on_button_browse:
push dword[od.openfile_path]
push edit1
call [edit_box_set_text]
; ----------------------- ;
; ----------------------- ;
.exit:
ret
; ======================================================================= ;
; ======================================================================= ;
on_redraw:
; redraw.start
mov eax, 12
@ -304,19 +306,19 @@ on_redraw:
mov ebx, 3
mov ecx, sc
mov edx, 40
int 64
int 64
mov eax, [sc.work_graph]
mov [edit1.shift_color], eax
mov eax, [sc.work_graph]
mov [edit1.focus_border_color], eax
mov [edit1.focus_border_color], eax
mov eax, [sc.frames]
mov [edit1.blur_border_color], eax
mov eax, [sc.work_text]
mov [edit1.text_color], eax
mov [edit1.text_color], eax
; draw.window
xor eax, eax
@ -330,7 +332,7 @@ on_redraw:
or edx, 34000000h
mov edi, sz_run
int 64
mov eax, [window.width]
sub eax, 318
shr eax, 1
@ -340,8 +342,8 @@ on_redraw:
push sz_Type_name_of_program
push dword [sc.work_text]
call draw.text
; ====================| browse button |====================
; ====================| browse button |====================
push 20
push 5
push 38
@ -355,7 +357,7 @@ on_redraw:
push dword [sc.work_button_text]
call draw.text
; ====================| run button |====================
; ====================| run button |====================
push 10
mov eax, [window.width]
sub eax, 57
@ -372,8 +374,8 @@ on_redraw:
push sz_run
push dword [sc.work_button_text]
call draw.text
; =====================================================
; =====================================================
mov eax, 57
push eax
mov eax, [window.height]
@ -385,7 +387,7 @@ on_redraw:
push edit1
call [edit_box_draw]
; redraw.finish
mov eax, 12
mov ebx, 2
@ -394,22 +396,22 @@ on_redraw:
ret
; ======================================================================= ;
; ======================================================================= ;
extractrunpathandparams:
xor ecx, ecx
mov eax, [esp + 4]
mov [runpath], eax
movzx eax, byte [eax]
movzx eax, byte [eax]
cmp eax, 34
jne .start_without_quote
inc ecx
; ----------------------- ;
; ----------------------- ;
.loop1:
mov eax, [runpath]
movzx eax, byte [eax + ecx]
mov eax, [runpath]
movzx eax, byte [eax + ecx]
cmp eax, 34
jne .not_quote
@ -421,25 +423,25 @@ extractrunpathandparams:
mov [ptrlastendpath], eax
mov [lastendpath], byte 34
inc ecx
; ----------------------- ;
.skip_space1:
; ----------------------- ;
.skip_space1:
mov eax, [runpath]
movzx eax, byte [eax + ecx]
movzx eax, byte [eax + ecx]
cmp al, 32
jne .skipped1
inc ecx
jmp .skip_space1
; ----------------------- ;
; ----------------------- ;
.skipped1:
mov eax, [runpath]
add eax, ecx
mov [runparams], eax
inc dword [runpath]
jmp .exit
; ----------------------- ;
.not_quote:
jmp .exit
; ----------------------- ;
.not_quote:
mov eax, [runpath]
movzx eax, byte [eax + ecx]
movzx eax, byte [eax + ecx]
test eax, eax
jne .not_zero1
@ -450,17 +452,17 @@ extractrunpathandparams:
add eax, ecx
mov [ptrlastendpath], eax
mov [lastendpath], byte 0
jmp .exit
; ----------------------- ;
.not_zero1:
jmp .exit
; ----------------------- ;
.not_zero1:
inc ecx
jmp .loop1
; ----------------------- ;
; ----------------------- ;
.start_without_quote:
; ----------------------- ;
.loop2:
; ----------------------- ;
.loop2:
mov eax, [runpath]
movzx eax, byte [eax + ecx]
movzx eax, byte [eax + ecx]
cmp eax, 32
jne .not_space
@ -472,24 +474,24 @@ extractrunpathandparams:
mov [ptrlastendpath], eax
mov [lastendpath], byte 32
inc ecx
; ----------------------- ;
.skip_space2:
; ----------------------- ;
.skip_space2:
mov eax, [runpath]
movzx eax, byte [eax + ecx]
movzx eax, byte [eax + ecx]
cmp al, 32
jne .skipped2
inc ecx
jmp .skip_space2
; ----------------------- ;
.skipped2:
; ----------------------- ;
.skipped2:
mov eax, [runpath]
add eax, ecx
mov [runparams], eax
jmp .exit
; ----------------------- ;
.not_space:
jmp .exit
; ----------------------- ;
.not_space:
mov eax, [runpath]
movzx eax, byte [eax + ecx]
movzx eax, byte [eax + ecx]
test eax, eax
jne .not_zero2
@ -500,16 +502,16 @@ extractrunpathandparams:
add eax, ecx
mov [ptrlastendpath], eax
mov [lastendpath], byte 0
jmp .exit
; ----------------------- ;
.not_zero2:
jmp .exit
; ----------------------- ;
.not_zero2:
inc ecx
jmp .loop2
; ----------------------- ;
; ----------------------- ;
.exit:
ret 4
; ======================================================================= ;
; ======================================================================= ;
draw.button:
mov eax, 8
mov ebx, [esp + 16]
@ -522,7 +524,7 @@ draw.button:
mov esi, [sc.work_button]
int 64
ret 20
; ======================================================================= ;
; ======================================================================= ;
draw.text:
mov eax, 4
mov ebx, [esp + 16]
@ -533,21 +535,21 @@ draw.text:
mov edx, [esp + 8]
int 64
ret 16
; ======================================================================= ;
; ======================================================================= ;
load.library:
mov eax, 68
mov ebx, 19
mov ecx, [esp + 4]
int 64
ret 4
; ======================================================================= ;
; ======================================================================= ;
getprocaddress:
mov edx, [esp + 8] ; hlib
xor eax, eax
test edx, edx ; If hlib = 0 then goto .end
jz .end
; ----------------------- ;
.next:
.next:
cmp [edx], dword 0 ; If end of export table then goto .end
jz .end
@ -555,7 +557,7 @@ getprocaddress:
mov esi, [edx]
mov edi, [esp + 4] ; name
; ----------------------- ;
.next_:
.next_:
lodsb
scasb
jne .fail
@ -563,17 +565,17 @@ getprocaddress:
jnz .next_
jmp .ok
; ----------------------- ;
.fail:
.fail:
add edx, 8
jmp .next
; ----------------------- ;
.ok: ; return address
mov eax, [edx + 4]
; ----------------------- ;
.end:
.end:
ret 8
file_info:
dd 7
@ -583,20 +585,20 @@ runparams:
dd 0
dd 0
db 0
runpath:
dd 0
runpath:
dd 0
screen:
.height dw 0
.width dw 0
window:
.left dd 0
.top dd 0
.width dd 0
.height dd 0
box_lib dd 0
edit1:
@ -619,13 +621,13 @@ edit1:
.cl_curs_y dd 0
.shift dd 0
.shift_old dd 0
edit_box_draw dd 0
edit_box_key dd 0
edit_box_mouse dd 0
edit_box_set_text dd 0
sc:
sc:
.frames dd 0
.grab dd 0
.grab_button dd 0
@ -636,10 +638,10 @@ sc:
.work_button_text dd 0
.work_text dd 0
.work_graph dd 0
proc_lib dd 0
od:
od:
.mode dd 0
.procinfo dd 0
.com_area_name dd sz_FFFFFFFF_open_dialog
@ -656,7 +658,7 @@ od:
.x_start dw 0
.y_size dw 414
.y_start dw 0
opendialog_init dd 0
opendialog_start dd 0
@ -664,8 +666,8 @@ filefilter dd 0
runresult dd sz_empty
lastendpath db 0
ptrlastendpath dd 0
ptrlastendpath dd 0
sz_empty db 0
sz_box_lib db "/sys/lib/box_lib.obj",0
@ -681,19 +683,34 @@ sz_FFFFFFFF_open_dialog db "FFFFFFFF_open_dialog",0
sz_SYS db "/sys",0
sz_opendial_path db "/sys/File managers/opendial",0
sz_Program_run_successfully db "Program run successfully",0
sz_File_not_found db "File not found",0
sz_File_is_not_executable db "File is not executable",0
sz_Too_many_processes db "Too many processes",0
sz_Access_denied db "Access denied",0
sz_Out_of_memory db "Out of memory",0
sz_Unknown_error db "Unknown error",0
if lang eq it
sz_Program_run_successfully db "Programma eseguito correttamente",0
sz_File_not_found db "File non trovato",0
sz_File_is_not_executable db "File non eseguibile",0
sz_Too_many_processes db "Troppi processi",0
sz_Access_denied db "Accesso negato",0
sz_Out_of_memory db "Out of memory",0
sz_Unknown_error db "Errore sconosciuto",0
sz_Type_name_of_program db "Type name of program, and Kolibri will run it for you",0
sz_Type_name_of_program db "Digita il nome del programma per eseguirlo",0
sz_run db " Run ",0
sz_browse db " Browse ",0
sz_run db "Esegui ",0
sz_browse db " Naviga",0
; ======================================================================= ;
else
sz_Program_run_successfully db "Program run successfully",0
sz_File_not_found db "File not found",0
sz_File_is_not_executable db "File is not executable",0
sz_Too_many_processes db "Too many processes",0
sz_Access_denied db "Access denied",0
sz_Out_of_memory db "Out of memory",0
sz_Unknown_error db "Unknown error",0
sz_Type_name_of_program db "Type name of program, and Kolibri will run it for you",0
sz_run db " Run ",0
sz_browse db " Browse ",0
end if
; ======================================================================= ;
end_:

View File

@ -0,0 +1,19 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=RunOD
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -0,0 +1,25 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=rdsave
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
et:
echo "lang fix et" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -20,7 +20,7 @@ include '..\..\..\macros.inc'
appname equ 'RDsave '
version equ '1.3'
use32 ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
org 0x0 ;  ¤à¥á æ¨ï á ­ã«ï
@ -96,7 +96,7 @@ still:
dec eax ; ¯¥à¥à¨á®¢ âì ®ª­®?
jz red ; ¥á«¨ ¤  - ­  ¬¥âªã red
dec eax
dec eax
jz key
dec eax
jz button
@ -242,7 +242,7 @@ draw_window:
;®âà¨á®¢ª  ª­®¯®ª
sub ebx,4 shl 16
sub ecx,4 shl 16
mcall 8,,,5,[sc.work_button]
mcall 8,,,5,[sc.work_button]
sub ecx,40 shl 16
dec edx
@ -332,7 +332,7 @@ key_help_correct:
mov cx,13
mcall 13,,,[sc.work_graph]
popa
mcall
mcall
pop ebx
ret
;---------------------------------------------------------------------
@ -386,6 +386,21 @@ error10 db 'Juurdep
error11 db 'Seadme viga',0
aUnknownError db 'Tundmatu viga',0
;---------------------------------------------------------------------
else if lang eq it
save db 'Salva',0
select db 'Seleziona',0
label1 db 'Seleziona cosa salvare:',0
label2 db ' oppure seleziona il file:',0
label3 db 'Tutte le cartelle devono esistere',0
ok db 'Il RAM-drivet e stato salvato',0
error3 db 'Filesystem sconosciuto',0
error5 db 'Percorso non valido',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
;---------------------------------------------------------------------
else
save db ' Save',0
select db ' Select',0
@ -483,7 +498,7 @@ aOpenDialog_Start db 'OpenDialog_start',0
;aOpenDialog_Version db 'Version_OpenDialog',0
;---------------------------------------------------------------------
align 4
Box_lib_import:
Box_lib_import:
;init_lib dd a_init
;version_lib dd a_version

View File

@ -0,0 +1,16 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=refrscrn
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -0,0 +1,22 @@
#!gmake
# Macro
FASM=/opt/bin/fasm
KPACK=/opt/bin/kpack
LANG=lang.inc
FILE=run
SOURCE=${FILE}.asm
OUT=${FILE}.bin
en:
echo "lang fix en" > ${LANG}
${FASM} ${SOURCE} ${OUT}
ru:
echo "lang fix ru" > ${LANG}
${FASM} ${SOURCE} ${OUT}
it:
echo "lang fix it" > ${LANG}
${FASM} ${SOURCE} ${OUT}
clean:
rm -f ${LANG} ${OUT}

View File

@ -11,7 +11,7 @@ include 'txtbut.inc'
include '../../../macros.inc'
include 'run.mac'
include 'lang.inc'
use32
use32
org 0x0
db 'MENUET01'
dd 0x1
@ -46,7 +46,7 @@ red:
push dword [sc.work_graph]
pop [input_fn.focus_border_color]
call draw_window
still: ;®á­®¢­®© ®¡à ¡®â稪
still: ;®á­®¢­®© ®¡à ¡®â稪
mcall 10 ;Ž¦¨¤ âì ᮡëâ¨ï
dec eax
jz red
@ -54,7 +54,7 @@ still: ;
jz key
dec eax
jz button
; mouse_edit_box input_fn
; mouse_edit_box input_fn
push dword input_fn
call [edit_box_mouse]
@ -239,31 +239,44 @@ input_fn edit_box 0,5,5,0xffffff,0x6a9480,0,0xaaaaaa,0,511,fn,mouse_dd,ed_focus+
;mouse_flag: dd 0x0
input_fn_end:
if lang eq ru
hello db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã ¨ ­ ¦¬¨â¥ Enter',0
bad_file_sys db '<27>¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0 ; 3
file_not_find db '” ©« ­¥ ­ ©¤¥­',0 ; 5
bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0 ; 9
acces_denyied db '„®áâ㯠§ ¯à¥é¥­',0 ; 10
device_error db 'Žè¨¡ª  ãáâனá⢠',0 ; 11
out_of_memory db '<27>¥¤®áâ â®ç­® ¯ ¬ïâ¨',0 ; 30
file_not_executable db '” ©« ­¥ ï¥âáï ¨á¯®«­ï¥¬ë¬',0 ; 31
many_processes db '‘«¨èª®¬ ¬­®£® ¯à®æ¥áᮢ',0 ; 32
run_ok db '<27>ணࠬ¬  ãᯥ譮 § ¯ã饭 ',0
grab_text db '‡ ¯ã᪠¯à®£à ¬¬ë',0
run_but_text db '‡€<E280A1>ˆœ',0
hello db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã ¨ ­ ¦¬¨â¥ Enter',0
bad_file_sys db '<27>¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0 ; 3
file_not_find db '” ©« ­¥ ­ ©¤¥­',0 ; 5
bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0 ; 9
acces_denyied db '„®áâ㯠§ ¯à¥é¥­',0 ; 10
device_error db 'Žè¨¡ª  ãáâனá⢠',0 ; 11
out_of_memory db '<27>¥¤®áâ â®ç­® ¯ ¬ïâ¨',0 ; 30
file_not_executable db '” ©« ­¥ ï¥âáï ¨á¯®«­ï¥¬ë¬',0 ; 31
many_processes db '‘«¨èª®¬ ¬­®£® ¯à®æ¥áᮢ',0 ; 32
run_ok db '<27>ணࠬ¬  ãᯥ譮 § ¯ã饭 ',0
grab_text db '‡ ¯ã᪠¯à®£à ¬¬ë',0
run_but_text db '‡€<E280A1>ˆœ',0
else if lang eq it
hello db 'Inserisci percorso completo al file e premi <Enter>',0
bad_file_sys db 'Filesysrem sconosciuto',0 ; 3
file_not_find db 'File non trovato',0 ; 5
bad_fat_table db 'Tabella FAT corrotta',0 ; 9
acces_denyied db 'Accesso negato',0 ; 10
device_error db 'Device error',0 ; 11
out_of_memory db 'Out of memory',0 ; 30
file_not_executable db 'File non eseguibile',0 ; 31
many_processes db 'Troppo processi',0 ; 32
run_ok db 'Il programma eseguito correttamente',0
grab_text db 'RUN',0
run_but_text db 'Esegui',0
else
hello db 'Enter full path to file and press <Enter>',0
bad_file_sys db 'Unknown file system',0 ; 3
file_not_find db 'File not found',0 ; 5
bad_fat_table db 'FAT table corrupted',0 ; 9
acces_denyied db 'Access denied',0 ; 10
device_error db 'Device error',0 ; 11
out_of_memory db 'Out of memory',0 ; 30
file_not_executable db 'File is not executable',0 ; 31
many_processes db 'Too many processes',0 ; 32
run_ok db 'The program was started successfully',0
grab_text db 'RUN',0
run_but_text db 'RUN',0
hello db 'Enter full path to file and press <Enter>',0
bad_file_sys db 'Unknown file system',0 ; 3
file_not_find db 'File not found',0 ; 5
bad_fat_table db 'FAT table corrupted',0 ; 9
acces_denyied db 'Access denied',0 ; 10
device_error db 'Device error',0 ; 11
out_of_memory db 'Out of memory',0 ; 30
file_not_executable db 'File is not executable',0 ; 31
many_processes db 'Too many processes',0 ; 32
run_ok db 'The program was started successfully',0
grab_text db 'RUN',0
run_but_text db 'RUN',0
end if
status dd hello
@ -286,7 +299,7 @@ head_f_l db 'System error',0
err_message_import db 'Error on load import library box_lib.obj',0
end if
myimport:
myimport:
edit_box_draw dd aEdit_box_draw
edit_box_key dd aEdit_box_key