Последние записи
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
1st
Дек
Удаление папки с файлами
Поможете мне устранить такой баг?
У меня в папке «E:\tmp» имеется множество файлов и папок. Мне нужно удалить полностью всю папку.
Вот код:
type TArrayString = array of string;
procedure DirList(Dir: string; var DirArr: TArrayString; Over: byte = 0);
var F: TSearchRec;
begin
ChDir(Dir);
if Over=0 then
SetLength(DirArr, 0);
SetLength(DirArr, Length(DirArr)+1);
DirArr[Length(DirArr)-1]:=Dir;
if Dir[Length(Dir)]<>'\' then
Dir:=Dir+'\';
if FindFirst('*', faAnyFile, F)=0 then
repeat
if F.Attr and faDirectory <> faDirectory then
DeleteFile(Dir+F.Name);
until FindNext(F)<>0;
if FindFirst('*', faAnyFile, F)=0 then
repeat
if F.Attr and faDirectory = faDirectory then
if not (F.Name='.') and not (F.Name='..') then
begin
DirList(Dir+F.Name, DirArr, 1);
ChDir(Dir);
end;
until FindNext(F)<>0;
FindClose(F);
if Over=0 then
ChDir('C:\');
end;
procedure TForm1.Button1Click(Sender: TObject);
var DirArr: TArrayString;
i: integer;
begin
DirList('E:\tmp', DirArr);
for i:=High(DirArr) downto Low(DirArr) do
RemoveDir(DirArr);
end;
Проблема заключается в том, что программа удаляет папки с ошибками (см. скриншот).
Подробнее: при нажатии на кнопку папка физически не удаляется (она остается), но зайти в нее не получается. Однако, при закрытии программы она автоматически удаляется.
В связи с этим вопрос: как удалить папку с файлами полностью без закрытия приложения?
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)