Главная страница
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.044 c
11-1071471133
DSP
2003-12-15 09:52
2004.05.23
перемещение курсора в 1 позицию CheckBox


4-1081046081
Prov
2004-04-04 06:34
2004.05.23
SW_HIDE


9-1073815765
cyborg
2004-01-11 13:09
2004.05.23
Получение симфолов DirectIput


14-1083656290
GanibalLector
2004-05-04 11:38
2004.05.23
ДОС версии ниже 6.22.


8-1077798054
S@shka
2004-02-26 15:20
2004.05.23
Как правильно смешать два WAV-ника