Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
14-1083526687
Piter
2004-05-02 23:38
2004.05.23
Пропаганда пива


14-1083154935
Mr.Credo
2004-04-28 16:22
2004.05.23
Учебник


1-1084115984
KLAUS
2004-05-09 19:19
2004.05.23
НУжно просто навсего удалить файл


3-1082626061
Eleonora
2004-04-22 13:27
2004.05.23
Interbase, Query, DBMemo


4-1081328122
juiceman
2004-04-07 12:55
2004.05.23
Чужой TLISTVIEW




   Наверх