![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление файлов. [D5, Win95/98]
sammy © (2002-02-07 08:38:00)Мне необходимо удалить файлы в определенной папке.
проблема в том, что их имена и типы неизвестны.
findfirst и findnext-ом у меня ничего не выходит.
памагите люди добрые!
DOS Session (2002-02-07 11:34:00) [1]amamed_3071 © (07.02.02 11:20)
Я дико извиняюсь конечно, но это:
WINEXEC("DEL C:\FOLDERNAME\FOLDER2\*.*");
нельзя назвать правильным советом
1. Если уж пишете пример использования функции с параметрами, то параметры желательно ставить ВСЕ.
2. Если собираетесь использовать DOS-овскую функцию, то безусловно ее запуск должен происходить ПРАВИЛЬНО:
c:\command.com /c функция
3. Если в указанной папке окажется более 1000 файлов например, то не замучаетесь ли Вы подтверждать удаление каждого ? Безусловно при таком методе нужно ставить команду
DELTREE /Y *.*
4. И зачем вообще переходить на DOS там где значительно проще реализовать все WIN-дусовыми методами по примеру Леонид Федьков (07.02.02 11:04)
amamed_3071 (2002-02-07 11:20:00) [2]WINEXEC("DEL C:\FOLDERNAME\FOLDER2\*.*");
Леонид Федьков (2002-02-07 11:04:00) [3]Это проверено и работает !
procedure TDataModule1.EmptyDir(Const Path : String);
{Удаление всех файлов из каталога}
var
SearchRec: TSearchRec;
Found : Integer;
If_tmp : array[0..80] of Char;
begin
Found := FindFirst(Path+"*.*", faAnyFile, SearchRec);
while Found = 0 do
begin
StrPCopy(If_tmp,Path+SearchRec.Name);
DeleteFile(If_tmp);
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
vl_chel (2002-02-07 10:51:00) [4]FindFirst(RootPath+"\*.*", ....
Chris (2002-02-07 08:52:00) [5]ты хоть определись, что ты хочешь...
Могу предложить такой набросок.
RootPath - путь к определенной папке с конечным backslash
ListBox1.Items - список файлов-смертников
TSR: TSearchRec;
for i:=0 to ListBox1.Items.Count-1 do
if FindFirst(RootPath+ListBox1.Items.Strings[i],$3F,TSR)=0 then
DeleteFile(RootPath+ListBox1.Items.Strings[i])
else
ListBox1.Items.Strings[i]:="Файл не найден "+ListBox1.Items.Strings[i];
panov (2002-02-07 08:46:00) [6]Приводи пример кода, который не работает...