Текущий архив: 2004.05.23;
Скачать: CL | DM;
ВнизКак удалить файл с диска и сохранить в его в корзине? Найти похожие ветки
← →
Дмитрий (2004-05-05 15:59) [0]Удаляю файл стандартной функцией DeleteFile, которая не сохраняет его в корзине, а было бо неплохо...
← →
Игорь Шевченко © (2004-05-05 16:09) [1]SHFileOperation ?
← →
real_dimedrol (2004-05-05 16:12) [2]Весь код не мой, но рабочий. Вот так удалить можно по-виндовому с окошком с летающими листиками
Function DeleteToRecycleBin(FileName:String):Boolean;
Var
Operation:TSHFileOpStruct;
FromName:Array[0..Max_Path] Of Char;
MaxLen,X:Integer;
Begin
MaxLen:=Length(FileName);
For X:=1 To MaxLen Do
FromName[X-1]:=FileName[X];
FromName[MaxLen+0]:=#0;
FromName[MaxLen+1]:=#0;
Operation.Wnd:=FORM1.Handle; {Handle to form that called this function
in case of error message}
Operation.wFunc:=FO_Delete;
Operation.pFrom:=FromName;
Operation.pTo:=Nil;
Operation.fFlags:=FOF_ALLOWUNDO Or FOF_NOCONFIRMATION;
Operation.hNameMappings:=Nil;
Operation.lpszProgressTitle:="Deleting Files (Moving to Recycle Bin)";
SHFileOperation(Operation);
Result:=Operation.fAnyOperationsAborted;
End;
А если без понтов - то корзина - это просто папка на диске. А "Удаление" - просто копирование в эту папку.
← →
real_dimedrol (2004-05-05 16:13) [3]Весь код не мой, но рабочий. Вот так удалить можно по-виндовому с окошком с летающими листиками
Function DeleteToRecycleBin(FileName:String):Boolean;
Var
Operation:TSHFileOpStruct;
FromName:Array[0..Max_Path] Of Char;
MaxLen,X:Integer;
Begin
MaxLen:=Length(FileName);
For X:=1 To MaxLen Do
FromName[X-1]:=FileName[X];
FromName[MaxLen+0]:=#0;
FromName[MaxLen+1]:=#0;
Operation.Wnd:=FORM1.Handle; {Handle to form that called this function
in case of error message}
Operation.wFunc:=FO_Delete;
Operation.pFrom:=FromName;
Operation.pTo:=Nil;
Operation.fFlags:=FOF_ALLOWUNDO Or FOF_NOCONFIRMATION;
Operation.hNameMappings:=Nil;
Operation.lpszProgressTitle:="Deleting Files (Moving to Recycle Bin)";
SHFileOperation(Operation);
Result:=Operation.fAnyOperationsAborted;
End;
А если без понтов - то корзина - это просто папка на диске. А "Удаление" - просто перемещение в эту папку.
← →
Palladin © (2004-05-05 16:13) [4]http://www.delphimaster.ru/articles/shfileopst/
← →
Дмитрий (2004-05-05 16:52) [5]Огромное спасиба! Разобрался!
Страницы: 1 вся ветка
Текущий архив: 2004.05.23;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.036 c