Главная страница
    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.45 MB
Время: 0.043 c
1-1084032791
SergeyM
2004-05-08 20:13
2004.05.23
String to Char


11-1057565898
mox
2003-07-07 12:18
2004.05.23
NMSMTP


14-1083605890
oleg_SYS
2004-05-03 21:38
2004.05.23
30 Mb в TStringList плzzz очень нада!


7-1082388033
I_V_N_I_S_H
2004-04-19 19:20
2004.05.23
Скорость CD-ROM


14-1083249941
Piter
2004-04-29 18:45
2004.05.23
Как правильно читается слово "Inherited" ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский