mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 09:21:37 +03:00
107 lines
2.5 KiB
NASM
Executable File
107 lines
2.5 KiB
NASM
Executable File
;===========================================================
|
||
;
|
||
; <20>à®æ¥áá ¯¥à¥¨¬¥®¢ ¨ï ä ©« /¯ ¯ª¨
|
||
;
|
||
;===========================================================
|
||
rename: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z
|
||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||
and form_info+form_qview ; info, qview
|
||
ret nz
|
||
call set_path_from_activ_panel ; ãáâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||
ret c
|
||
call prep_rename_name ; ¨¬ï ä ©« ¢ ®¯¨á â¥«ì ®ª
|
||
ret c ; ".." § ¯¨áì
|
||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||
ld hl,dial_rename ; ®¯¨á â¥«ì ®ª
|
||
call DialogW
|
||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz
|
||
ld a,(hl) ;+1 what
|
||
cp cmOkey ; "Ok"
|
||
ret nz
|
||
; ¯¥à¥¨¬¥®¢ ¨¥ ä ©«
|
||
ld hl,temp_fname ; áâ ஥ ¨¬ï
|
||
ld de,input_line_rename+5 ; ®¢®¥ ¨¬ï
|
||
ld c,10h ; ¯¥à¥¨¬¥. ä ©«
|
||
rst ToDSS
|
||
jp nc,fresh_two_panels ; ¡¥§ ®è¨¡®ª, ®¡®¢¨âì ¯ ¥«¨
|
||
;
|
||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ ¯¥à¥¨¬¥®¢ ¨ï
|
||
ld hl,dial_error_rename ; "Cannot rename the file or folder"
|
||
jp DialogEr
|
||
|
||
|
||
|
||
; ‘ª®¯¨à®¢ âì ⥪. ¨¬ï ¯¥à¥¨¬¥. ä ©« /¯ ¯ª¨ ¢ ®¯¨á â¥«ì ®ª .
|
||
; Ž¡à ¡®âª ¬ ªá. ®¤®© ¢ë¤¥«. § ¯¨á¨
|
||
; ¢ë室: hl= ¤à¥á § ¯¨á¨
|
||
prep_rename_name:
|
||
ld de,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
ld hl,1
|
||
sbc hl,de
|
||
ret c ; >= 2 ¢ë¤¥«. ä ©«®¢
|
||
jr z,prep_ren_name1 ; ¥áâì ®¤¨ ¢ë¤¥«. ä ©«
|
||
; ¥â ¢ë¤¥«. ä ©«®¢
|
||
call get_record ; § ¯¨áì ¢ ⥪. ¯®«®¦¥¨¨ 㪠§ ⥫ï
|
||
ld a,(hl)
|
||
cp "." ; ".."
|
||
scf
|
||
ret z
|
||
jr $+5
|
||
prep_ren_name1:
|
||
call scan_mark_records ; ¯®¨áª ®â¬¥ç. ä ©« (á ç « ᯨ᪠)
|
||
; ¢å®¤: hl=§ ¯¨áì ä ©«
|
||
ld bc,rename_name1 ; ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||
push hl
|
||
call copy_cur_fname ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||
pop hl
|
||
; hl=®âªã¤
|
||
ld de,temp_fname ; ªã¤
|
||
ld bc,0044h ; 11 -> 8.3
|
||
rst ToDSS
|
||
; ®ç¨áâ¨âì áâàãªâãàã ¡ãä¥à
|
||
ld hl,input_line_rename ; áâàãªâãà ¡ãä¥à
|
||
call clear_struct_inline
|
||
; ¢áâ ¢¨âì ¨¬ï ¢ áâàãªâãàã ¡ãä¥à
|
||
ld iy,input_line_rename ; áâàãªâãà ¡ãä¥à
|
||
ld de,temp_fname ; ®âªã¤
|
||
ld hl,input_line_rename+5 ; ªã¤
|
||
prep_ren_loop:
|
||
ld a,(de)
|
||
or a
|
||
ret z
|
||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||
inc de
|
||
inc hl
|
||
jr prep_ren_loop
|
||
|
||
|
||
; ‚áâ ¢¨âì ᨬ¢®« ¢ ¡ãä¥à áâàãªâãàë
|
||
; ¢å®¤: iy=áâàãªâãà ¡ãä¥à
|
||
; hl=ªã¤
|
||
; a=ᨬ¢®«
|
||
put_char1:
|
||
push hl
|
||
push iy
|
||
pop hl ; áâàãªâãà ¡ãä¥à
|
||
ex af,af' ; á®åà. ᨬ¢®«
|
||
ld a,(iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ áâப¥
|
||
add a,(iy+3)
|
||
add a,l
|
||
ld l,a
|
||
jr nc,$+3
|
||
inc h
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
ex af,af'
|
||
ld (hl),a ; ᨬ¢®« ¢ ª®¬-áâபã
|
||
pop hl
|
||
inc (iy+4) ; ç¨á«® ¢¢¥¤. ᨬ¢®«®¢
|
||
inc (iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ áâப¥
|
||
ret
|