IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Проблемы с удалением директории, не получается удалить :)
LP
сообщение 9.12.2004 21:18
Сообщение #1


Гость






Привет всем! Помогите кому не трудно!
В общем в этой программе:
Код

program delete;
uses dos;
var f:string;
   attr:word;
procedure delete_file(filename:string);
var reg:registers;
begin
filename:=filename+chr(0);
reg.ah:=$41;
reg.dx:=ofs(filename[1]);
reg.ds:=seg(filename[1]);
msdos(reg);
if (reg.flags and 1)=1 then
begin
writeln('Ошибка. Код=',reg.ax);
halt;
end;
end;
procedure set_attr(filename:string;attr:word);
var reg:registers;
begin
filename:=filename+chr(0);
reg.ah:=$43;
reg.dx:=ofs(filename[1]);
reg.ds:=seg(filename[1]);
reg.al:=1;
reg.cx:=attr;
msdos(reg);
if (reg.flags and 1)=1 then
begin
writeln('Ошибка. Код=',reg.ax);
halt;
end;
end;
function get_attr(filename:string):word;
var reg:registers;
begin
filename:=filename+chr(0);
reg.ah:=$43;
reg.dx:=ofs(filename[1]);
reg.ds:=seg(filename[1]);
reg.al:=0;
msdos(reg);
if (reg.flags and 1)=1 then
begin
writeln('Ошибка. Код=',reg.ax);
halt;
end;
get_attr:=reg.cx;
end;
Begin
f:='d:\directory';
attr:=get_attr(f);
if attr=ReadOnly then set_attr(f,attr and 0);
delete_file(f);
end.


Не получается удалить папку, но c файлами все OK.
Запускал под в XP и под чистым ДОСом -разницы нет, папки не хотят удаляться. sad.gif
Правда в ДОСе выдается код ошибки 2(файл не найден), а в XP 5(доступ отвергнут).

Не забываем теги [ CODE] [ /CODE] для исходников

Сообщение отредактировано: volvo - 9.12.2004 21:21
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
LP
сообщение 10.12.2004 10:12
Сообщение #2


Гость






Спасибо! Помогло.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 22:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"