Вниз
Скачать: CL | DM;

ShellApi - удаление всех файлов из каталога   Найти похожие ветки 

 
iVovs ©   (2004-04-15 14:48) [0]

Ув. мастера, может кто сталкивался с такой проблемой: для удаления файлов из каталога использую следующую ф-цию:

function TMainForm.FileManage(FromFile, ToFile: string; mode: integer): integer;
var SHF: TSHFileOpStruct;
begin
with SHF do
begin
 Wnd :=0;
 pFrom := PChar(FromFile);
 pTo := PChar(ToFile);
 wFunc := mode;
 fFlags := FOF_ALLOWUNDO;
end;
Result := SHFileOperation(SHF);
if Result <> 0 then
 if SHF.fAnyOperationsAborted
  then Result := 1
  else Result := 2;
end;

Вызываю вот так: FileManage(ExtractFilePath(Application.ExeName) + "temp\*.*", "", FO_DELETE); , для удаления всех файлов из ..temp/  .

Проблема в следующем: не всегда получается удалить файлы - выдаёт ошибку, мол "Cannot read from source disk", ну или вроде этого. Сразу при запуске проги удалить можно, что-то как-то пощёлкаешь в проге - ошибка.
Может кто знает в чём трабл?


 
Smithson ©   (2004-04-15 14:49) [1]

А если файл в данный момент открыт (занят) - как его удалить?

Тем более в темпе, там вечно кто-то что-то пишет...


 
iVovs ©   (2004-04-15 14:52) [2]

temp - это мною созданная папка - для хранения временных файлов;
и при удалении эта папка программой(моей) не используется.


 
Anatoly Podgoretsky ©   (2004-04-15 15:35) [3]

pFrom := PChar(FromFile+#0);
pTo := PChar(ToFile+#0);


 
Amoeba ©   (2004-04-15 15:38) [4]

На "Королевстве Дельфи" есть отдельная статья на эту тему
http://www.delphikingdom.com/mastering/fileshellapi.htm



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.02 c
1-1081813105
Sever
2004-04-13 03:38
2004.05.02
StringGrid


6-1078621428
GanibalLector
2004-03-07 04:03
2004.05.02
RasDial или InternetDial


3-1081326807
Bizon
2004-04-07 12:33
2004.05.02
актуальный срез в SQL для IB 6


7-1079177964
Evgeniy_K
2004-03-13 14:39
2004.05.02
Рисуем точку на мониторе


6-1078341231
3APA3A
2004-03-03 22:13
2004.05.02
Передача файла с помощью TTCPServer, TTCPClient...




   Наверх