Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Удаление файлов   Найти похожие ветки 

 
Skif ©   (2002-08-28 09:07) [0]

Доброе время суток, Дамы и Господа!
Кто подскажет, почему не работает данный код.

From := ExtractFilepath(Application.ExeName) + "WorkObmen\*.*";
with SHFileOpStruct do
begin
Wnd := Handle;
wFunc := FO_DELETE;
pFrom := PChar(From);
fFlags := FOF_NOCONFIRMATION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(SHFileOpStruct);


 
Ученик ©   (2002-08-28 09:21) [1]

Если не ошибаюсь, FO_DELETE не поддерживает *.*, только по одному файлу


 
Lord Warlock ©   (2002-08-28 09:30) [2]

Надо добавить строчку
pTo := PChar(From);


 
Ученик ©   (2002-08-28 09:53) [3]

>Skif © (28.08.02 09:07)
Забыл еще добавить
FillChar(SHFileOpStruct, SizeOf(SHFileOpStruct), 0);
with SHFileOpStruct do
begin

иначе был Access Violation

>Lord Warlock © (28.08.02 09:30)
???


 
Lord Warlock ©   (2002-08-28 09:58) [4]


> Ученик © (28.08.02 09:53)


а ты попробуй с исходным кодом, все удаляет


 
Ученик ©   (2002-08-28 10:02) [5]

>Lord Warlock © (28.08.02 09:58)
Пробовал

procedure TForm1.Button1Click(Sender: TObject);
var
From : string;
SHFileOpStruct : TSHFileOpStruct;
begin
From := "c:\temp\*.*";
FillChar(SHFileOpStruct, SizeOf(SHFileOpStruct), 0);
with SHFileOpStruct do
begin
Wnd := Handle;
wFunc := FO_DELETE;
pFrom := PChar(From);
pTo := PChar(From);
fFlags := FOF_NOCONFIRMATION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(SHFileOpStruct);
end;

Ошибка при выполнении


 
Lord Warlock ©   (2002-08-28 10:05) [6]


> Ученик © (28.08.02 09:53)


С FillChar тоже все работает и естественно грамотнее :)


 
Lord Warlock ©   (2002-08-28 10:06) [7]


> Ученик © (28.08.02 10:02)


а попробуй без FillChar


 
Ученик ©   (2002-08-28 10:10) [8]

>Lord Warlock © (28.08.02 10:06)
Какая операционка ?


 
Ученик ©   (2002-08-28 10:14) [9]

Насчет одного файла неправ, в MSDN написано, что может быть много файлов - каждое имя должно заканчиваться #0, в конце два #0


 
Ученик ©   (2002-08-28 10:27) [10]

>Lord Warlock
Работает на Win95 (наверно на 98, ME), на NT, 2000, XP не работает, pTo := PChar(From) не нужно.


 
RV ©   (2002-08-28 10:36) [11]

а папку всю она не удаляет?
From := "c:\temp"


 
Skif ©   (2002-08-28 13:03) [12]

Господа, файлы *.* удаляет шустро и быстро. А как насчет *.!!! или *.?0?. Это к примеру. Масок м.б. очень много.



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

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
1-27081
race1
2002-08-28 14:21
2002.09.09
componenty


1-27044
V.exeR
2002-08-27 22:53
2002.09.09
Отрисовка итема и субитемов в ListView.


1-26983
roadstar
2002-08-29 14:40
2002.09.09
WORD


14-27167
esprit_bel
2002-08-12 08:41
2002.09.09
Машина времени


1-26986
Krann
2002-08-29 16:33
2002.09.09
Данные по Tcp