![]() |
|
|
![]()
|
|
| PTimoxaI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2007 Репутация: нет Всего: нет |
Всем привет !!! У меня такая проблема возникла, что я абсолютно в тупике. Думаю здесь есть какая то зацепка, но мне её не увидать, раз неделю не видел. Здесь нужен опытный чел.
Я начал писать прогу для выборочного удаления файла, но у меня получается это сделать если путь к удаляемому файлу я укажу заранее т.е. программно. Я мне желательно сделать так чтобы я мог удалить любой файл при вводе его пути в мою запущенную прогу. Вот это работающий исходник! Если приглядется здесь уже почти всё готово. И подпрограмма для ввода с клавиатуры есть! Помогите пожалуйста, очень вас прошу!
|
|||
|
||||
| PTimoxaI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2007 Репутация: нет Всего: нет |
Неужели никто не сможет подсказать мне почему программа и в частности функция 41h с прерывание м в DOS не понимает когда в регистр dx заносишь NAMEDTA т.е. это адресс куда вводится путь к файлу с помощью функции 0Ah ввода с клавиатуры.
Кто подскажет огромный респект !!! |
|||
|
||||
| JAPH |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 1 Всего: 23 |
Честно?
Добавлено @ 07:12 В 9 утра все ещё спят, а вы требуете, чтобы проснулись и сразу за вашу задачку. TD 4ever. Это сообщение отредактировал(а) JAPH - 25.6.2007, 11:48 -------------------- Что непонятно - спрашиваем |
||||
|
|||||
| PTimoxaI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2007 Репутация: нет Всего: нет |
Скомпилировал и всё работает только толком не понял пока в чём ошибка , ещё просмотрю ! Спасибо тебе огромное
|
|||
|
||||
| JAPH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 1 Всего: 23 |
Я там пометил, где ошибка (строка 80 и, как следствие, строка 37).
Просто вы подали на вход функции чтения с клавы не адрес буфера (макс. допустимая длина, место для реальной длины и место для строки), а адрес самой будущей строки. Вот эта функция честно считала, что больше 32 символов читать не надо (вы ж заполнили её пробелами - символами с кодом 32), помещала число введённых символов и строку. Так что 41-ой функции скармливалось ' !d:\bp\bin\tasm\qwertyuiopasdf.tx'. Без t, ведь вы отсекли символ перед 0Dh (вот где -1 проявилась). Понаблюдайте в отладчике. PS. А imho удобнее читать функцией чтения файла, afair, 3Fh.
Добавлено через 23 секунды Да, кстати, вопрос-то пометьте как решённый. -------------------- Что непонятно - спрашиваем |
|||
|
||||
| PTimoxaI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2007 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |