Текущий архив: 2004.10.24;
Скачать: CL | DM;
Внизочистить папку темп(текущий пользователь) Найти похожие ветки
← →
Prov (2004-09-21 16:11) [0]Уважаемые мастера, подскажите, пожалуйста....
Есть такой вот код:
procedure EraseTemp;
var Buffer: array[0..255] of PChar; lpsz: cardinal;
SH:TSHFileOpStruct; TMPString: PChar;
begin
lpsz:= SizeOf(Buffer);
windows.GetTempPath(lpsz, @buffer);
FillChar(SH, SizeOf(SH), 0);
SH.Wnd:= 0;
SH.wFunc:= FO_DELETE;
TMPString:= PChar(PChar(@Buffer) + "\*.*");
SH.pFrom:= TmpString;
SH.fFlags:= FOF_NOCONFIRMATION or FOF_SILENT;
SH.fAnyOperationsAborted:= FALSE;
SHFileOperation(SH);
end;
который чистит темп текущего юзверя... Дело в том, что не удаляются папки, только файлы. И ещё: если на каком-то этапе очистки файлов возникает acces denied(тобишь, файл занят другим приложением) - ВСЕ !!! Процедура дальше не работает, а останавливается на том, что уже почистила, и не удаляет остальные файлы, к которым есть доступ на удаление. Подскажите, как быть.
Заранее благодарен.
← →
clickmaker © (2004-09-21 16:13) [1]DeleteFile в цикле для всех файлов рекурсивно
← →
Prov (2004-09-21 16:36) [2]прошу прощения.
пишу так:
DeleteFile("D:\1\*.*");
А на диске Д в папке 1 все равно остаются все файлы, подскажите, будьте добры
← →
Prov (2004-09-21 16:53) [3]Так, папки моя процедура удаляет... Но, если перед папкой она не может удпалить какой-то файл - все, дальше ничего не удаляет..
Пожалуйста, подскажите, как быть, чтобы в заданной папке осталишь лишь неудаляемые на данный момент файлы
← →
clickmaker © (2004-09-21 17:04) [4]
> [3] Prov (21.09.04 16:53)
В DeleteFile нельзя передавать маску, только путь к файлу.
FindFirstFile / FindNextFile рекурсивно + DeleteFile
В итоге останутся только неудаляемые
← →
Prov (2004-09-21 17:07) [5]а через ф-цию SHFileOperation такого нельзя сделать ?
← →
Prov (2004-09-21 17:11) [6]И если можете, подскажите, пожалуйста, как найти путь к папке КУКИ ?
Страницы: 1 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.036 c