Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 15:23   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Изменение имени файла

Доброго времени суток Уважаемые программисты. Возникла проблема с переименовыванием файла. Пишу и компилирую программу в emu8086.
Не работает следующий момент!

; Процедура изменения имени файла
Код:
PROC RenameFile 
  Mov Ah, 56H
  Lea Dx, FileNameBuffer
  Lea Di, FileNewNameBuffer    
  INT 21H
  RET
ENDP RenameFile
; Здесь ввожу команду rename
Код:
EntryPoint:  
 Mov Ax, @DATA
 Mov Ds, Ax    
 Mov Es, Ax     
 Lea Dx, MSG_TITLE     
 Mov Cx, MSG_TITLE_LEN    
 CALL OutputToScreen     
@MainLoop:             
 Lea Dx, CommandLine     
 CALL ReadFromKeyboard      
 CALL GetProcKey  
 CALL ExecCmd  
 CALL GotoNewLine 
 Xor Dx, Dx
 JMP @MainLoop    
End EntryPoint
Здесь собственно происходит следующее, после того как я ввел команду rename, вставляется один пробел.
Дальше передаю в буффер FileNameBuffer для того чтобы указать имя старого файла

Цитата:
rename_enter_space_name_of_file
rename custom.ini
Дальше как видно вызываю функцию поиска данного файла, если файл существует, тогда переименовываем его.
Вкусность еще в том что, мало того что файл не переименовывается, так еще и не допускают ввод имени нового файла после определенного количества символов, после 8-9 введенных символов.

Код:
@IMPLEMENT_RENAME: 
  CALL InputSpace
  Lea Dx, FileNameBuffer
  CALL ReadFromKeyboard      
  CALL FindFirstFile         
  Cmp Ah, 4EH
  JNE @LABEL_FILE_NOT_FOUND  
  Lea Dx, FileNewNameBuffer
  CALL ReadFromKeyboard  
  CALL RenameFile       
  RET
; Функция чтения с клавиатуры
Код:
PROC ReadFromKeyboard
  Mov Ah, 0AH 
  INT 21H         
  RET
ENDP ReadFromKeyboard
Так как полный код программы не умещается в одно сообщение, сделал вложение, вообщем кому не сложно помогите пожалуйста, за ранее благодарен.
Вложения
Тип файла: txt ASM.txt (10.7 Кб, 164 просмотров)
coNsept вне форума Ответить с цитированием
Старый 06.12.2011, 15:27   #2
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Упс, FileNewNameBuffer вообще объявлен так FileNewNameBuffer DB 255 просто я кое как экспериментировал и забыл изменить
coNsept вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение имени IdAttachmentFile dolphin705 Работа с сетью в Delphi 0 24.08.2011 19:25
Изменение имени компонента в цикле Lokos Общие вопросы Delphi 5 01.08.2011 08:33
Получить имя файла из ссылки(в конце ссылки нет имени файла) Человек_Борща Работа с сетью в Delphi 11 05.06.2011 15:15
изменение имени файла tiger() C++ Builder 2 21.04.2011 14:21
Изменение имени корзины через реестр IzIFRag Общие вопросы Delphi 6 21.05.2010 09:37