Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов команды del (либо erase) в Delphi. [D7, XP]


Страницы:   1 2

Новичек ©   (2007-05-18 11:31:00) 

Не подскажете ли, как реализовать сабж?


Новичек   (2007-05-18 14:32:00) [1]

2 Amoeba:

> будет ли это работать, если имена файлов заданы не прямо,
>  а с маской.

Работает (проверил).


Amoeba   (2007-05-18 14:17:00) [2]

Файловые операции средствами ShellAPI.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91
К сожалению не знаю, будет ли это работать, если имена файлов заданы не прямо, а с маской.


Новичек   (2007-05-18 14:13:00) [3]

Точно, спасибо.


iXT   (2007-05-18 14:07:00) [4]

FindClose забыл.


Новичек   (2007-05-18 14:05:00) [5]

А я уже сделал подругому, Вы меня убедили:


 N := FindFirst('*.sql', faAnyFile, SR);
 while N = 0 do
 begin
   DeleteFile(SR.Name);
   N := FindNext(SR);
 end;


iXT   (2007-05-18 14:01:00) [6]

Не, ну объясни, почему всетаки не хочешь реализовать простейший алгоритм и сделать по хорошему?

Ну вот не NT попалась, нет там cmd.exe


Новичек   (2007-05-18 13:39:00) [7]

2 Desdechado:
Вы правы, это я тоже проверил.


{RASkov}   (2007-05-18 13:39:00) [8]

> [24] Новичек ©   (18.05.07 13:36)
> Смеетесь над новичком?

Да нет же, просто хочется показать где ты не прав.... и следует задуматься над этим. ;)

> Ну, ладно, смех - это здоровье :-)

то же верно :)


Новичек   (2007-05-18 13:36:00) [9]

2{RASkov}:
Смеетесь над новичком? :-) Ну, ладно, смех - это здоровье :-)


Desdechado   (2007-05-18 13:35:00) [10]

> файлы будут удалены там, где лежит exe'шник.
От многого зависит. В т.ч. и от настроек ярлыка, от последней посещенной папки и т.п.


{RASkov}   (2007-05-18 13:32:00) [11]

> [19] Новичек ©   (18.05.07 13:27)


> [20] Новичек ©   (18.05.07 13:30)

Ух не заметил... тебе повезло. :) чесно.


{RASkov}   (2007-05-18 13:32:00) [12]

> Попробуй запустить свою программу с ярлыка на рабочем столе.

Счас насоветуют.... я вот могу посоветовать сделать ярлык к проге в папке Windows и оттуда запустить.... но лучше подумать и не делать так.
:о)


Новичек   (2007-05-18 13:30:00) [13]

Попробовал. Удалились там, где и предполагалось.


Новичек   (2007-05-18 13:27:00) [14]

2 Desdechado:
Интересно, сейчас попробую, но, сдается мне, что файлы будут удалены там, где лежит exe'шник.


Desdechado   (2007-05-18 13:23:00) [15]

>  Я имел в виду удаление в текущей директории.
Как часто представление о текущей директории у программиста не совпадает с представлением о ней же у системы.
Попробуй запустить свою программу с ярлыка на рабочем столе.


Новичек   (2007-05-18 13:12:00) [16]

Ну, не нападайте :-) Такая жара, что мозги плавятся.


{RASkov}   (2007-05-18 13:11:00) [17]

> [14] Новичек ©   (18.05.07 13:06)
> 2 Desdechado:
> Спасибо, я что-то стормозил. Сделал так:
>
> ShellExecute(frmMain.Handle, 'Open', 'cmd.exe', '/p /c del *.txt', '', SW_SHOWNORMAL);

Вдвойне ;) Чего только не придумают, лишь бы в школу не ходить.


Новичек   (2007-05-18 13:08:00) [18]

2 {RASkov}:
Это, imho, более грамотное решение. Спасибо Вам большое.


Новичек   (2007-05-18 13:06:00) [19]

2 iXT:
Думаю, в каталоге, где находится исполняемый файл.

2 Desdechado:
Спасибо, я что-то стормозил. Сделал так:

ShellExecute(frmMain.Handle, 'Open', 'cmd.exe', '/p /c del *.txt', '', SW_SHOWNORMAL);


2 {RASkov}:
Извините за неточность. Я имел в виду удаление в текущей директории.


{RASkov}   (2007-05-18 13:01:00) [20]

N:=FindFirst(Dir+'\*.txt', faAnyFile, SR);
while N=0 do begin
DeleteFile(SR.Name);
N:=FindNext;
end;
Есть RxLib и там в модуле FileUtil есть DeleteFiles
function DeleteFiles(const FileMask: string): Boolean;
Description
Удаляет все файлы, заданные маской FileMask.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо