Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
ВнизПроблема с удалением папки Найти похожие ветки
← →
Yegorchic © (2006-08-11 10:10) [0]Применяю вот такой код для удаления папок:
i:=0;
repeat
if (TreeView.Items.Item[i].Parent.Index = -1) and (TreeView.Items.Item[i].Count = 0) then
begin
RemoveDir(PCHAR(AppDir + "\BackUp\"+TreeView.Items.Item[i].Text));
If not DirectoryExists(AppDir + "\BackUp\"+TreeView.Items.Item[i].Text) then
TreeView.Items.Item[i].Delete;
end;
inc(i);
until TreeView.Items.Count <= i;
Что папки пустые и путь к папке в цикле гененируется правильно - проверял. Но из всех папок удаляется только последняя найденная в цикле. Почему?
← →
Сергей М. © (2006-08-11 10:27) [1]Объясни на человеческом языке, что тебе нужно)
Подозреваю, что ты пытаешься удалить все папки, ассоциированные с корневыми узлами дерева, не имеющие подпапки .. так ?
← →
D@Nger © (2006-08-11 14:32) [2]Я удаляю папки, со всеми вложениями следующим способом:
function TFRestoreArchive.DeleteDir(path:string):boolean;
var OpStruc: TSHFileOpStruct;
buf: Array [0..128] of Char;
Begin
FillChar(buf, Sizeof(buf), 0 );
StrPCopy(buf,path+"\*.*");
With OpStruc DO
Begin
Wnd:= Handle;
wFunc:= FO_DELETE;
pFrom:= @buf;
pTo:=#0;
fFlags:=FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_NOERRORUI;
fAnyOperationsAborted:= False;
hNameMappings:= Nil;
lpszProgressTitle:= Nil;
end;
if ShFileOperation(OpStruc)=0 then result:=true else result:=false;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c