Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.028 c
11-1072108076
SPeller
2003-12-22 18:47
2004.05.23
Надо или нет?


14-1083334776
avk02
2004-04-30 18:19
2004.05.23
В каком порядке сортируются по имени файлы в Windows?


3-1082698935
denmin
2004-04-23 09:42
2004.05.23
Как ускорить процесс открытия таблицы MS SQL Server2000?


3-1082900225
td
2004-04-25 17:37
2004.05.23
Программно менять свойства у колонки DBGridEh


7-1080714655
c13prog
2004-03-31 10:30
2004.05.23
Как определить название диска в CD-ROM?