Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизВызов команды del (либо erase) в Delphi. Найти похожие ветки
← →
Новичек © (2007-05-18 11:31) [0]Не подскажете ли, как реализовать сабж?
← →
Ega23 © (2007-05-18 11:37) [1]В смысле удаления файла?
← →
Новичек © (2007-05-18 11:40) [2]Именно. С этой командой можно удалять файлы по маске, что мне и нужно.
← →
iXT © (2007-05-18 12:06) [3]DeleteFile; FindFirst, FindNext, FindClose + F1
← →
Новичек © (2007-05-18 12:13) [4]2 iXT:
А зачем? Если существует возможность использовать вызов всего одной команды, то почему бы этой возможностю не воспользоваться?
Ну, а ежели нет - то придется воспользоваться приведенными Вами функциями. :-(
← →
iXT © (2007-05-18 12:32) [5]> Новичек © (18.05.07 12:13)
> А зачем? Если существует возможность использовать вызов
> всего одной команды, то почему бы этой возможностю не воспользоваться?
А сам как думаешь?
← →
{RASkov} © (2007-05-18 12:32) [6]> С этой командой можно удалять файлы по маске
> А зачем? Если существует возможность использовать вызов
> всего одной команды,
По маске можно искать, а удаляем - конкретный файл с конкретным именем...
← →
Новичек © (2007-05-18 12:35) [7]2 {RASkov}:
> удаляем - конкретный файл с конкретным именем..
Почему? Вызов "del *.txt" как раз и удалит ВСЕ текстовые файлы.
← →
Новичек © (2007-05-18 12:37) [8]2 iXT:
Имеете в виду, что такой вызов невозможен? :-(
← →
В.И.Ленин (2007-05-18 12:48) [9]Нет уважаемый. Мне кажето у iXT уже нет слов, как у меня, а остались одни слюни.
← →
Desdechado © (2007-05-18 12:51) [10]ShellExecute( "cmd.exe /p del *.txt"
Хотя iXT © (18.05.07 12:06) [3] правильнее, ибо внутри del та же самая фигня.
← →
iXT © (2007-05-18 12:55) [11]совсем не это.
> [9] В.И.Ленин (18.05.07 12:48)
У какой...
> [8] Новичек © (18.05.07 12:37)
Как думаешь, где будут удаляться твои файлы при вызове "del *.txt" ?
← →
{RASkov} © (2007-05-18 12:55) [12]> [7] Новичек © (18.05.07 12:35)
> 2 {RASkov}:
....
> Почему? Вызов "del *.txt" как раз и удалит ВСЕ текстовые файлы.
Сам подумай как оно это сделает.... хотя тебе уже рассказали. DeleteFile применяется к одному конкретному файлу, а не к группе.
← →
{RASkov} © (2007-05-18 13:01) [13]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.
← →
Новичек © (2007-05-18 13:06) [14]2 iXT:
Думаю, в каталоге, где находится исполняемый файл.
2 Desdechado:
Спасибо, я что-то стормозил. Сделал так:ShellExecute(frmMain.Handle, "Open", "cmd.exe", "/p /c del *.txt", "", SW_SHOWNORMAL);
2 {RASkov}:
Извините за неточность. Я имел в виду удаление в текущей директории.
← →
Новичек © (2007-05-18 13:08) [15]2 {RASkov}:
Это, imho, более грамотное решение. Спасибо Вам большое.
← →
{RASkov} © (2007-05-18 13:11) [16]> [14] Новичек © (18.05.07 13:06)
> 2 Desdechado:
> Спасибо, я что-то стормозил. Сделал так:
>
> ShellExecute(frmMain.Handle, "Open", "cmd.exe", "/p /c del *.txt", "", SW_SHOWNORMAL);
Вдвойне ;) Чего только не придумают, лишь бы в школу не ходить.
← →
Новичек © (2007-05-18 13:12) [17]Ну, не нападайте :-) Такая жара, что мозги плавятся.
← →
Desdechado © (2007-05-18 13:23) [18]> Я имел в виду удаление в текущей директории.
Как часто представление о текущей директории у программиста не совпадает с представлением о ней же у системы.
Попробуй запустить свою программу с ярлыка на рабочем столе.
← →
Новичек © (2007-05-18 13:27) [19]2 Desdechado:
Интересно, сейчас попробую, но, сдается мне, что файлы будут удалены там, где лежит exe"шник.
← →
Новичек © (2007-05-18 13:30) [20]Попробовал. Удалились там, где и предполагалось.
← →
{RASkov} © (2007-05-18 13:32) [21]> Попробуй запустить свою программу с ярлыка на рабочем столе.
Счас насоветуют.... я вот могу посоветовать сделать ярлык к проге в папке Windows и оттуда запустить.... но лучше подумать и не делать так.
:о)
← →
{RASkov} © (2007-05-18 13:32) [22]> [19] Новичек © (18.05.07 13:27)
> [20] Новичек © (18.05.07 13:30)
Ух не заметил... тебе повезло. :) чесно.
← →
Desdechado © (2007-05-18 13:35) [23]> файлы будут удалены там, где лежит exe"шник.
От многого зависит. В т.ч. и от настроек ярлыка, от последней посещенной папки и т.п.
← →
Новичек © (2007-05-18 13:36) [24]2{RASkov}:
Смеетесь над новичком? :-) Ну, ладно, смех - это здоровье :-)
← →
{RASkov} © (2007-05-18 13:39) [25]> [24] Новичек © (18.05.07 13:36)
> Смеетесь над новичком?
Да нет же, просто хочется показать где ты не прав.... и следует задуматься над этим. ;)
> Ну, ладно, смех - это здоровье :-)
то же верно :)
← →
Новичек © (2007-05-18 13:39) [26]2 Desdechado:
Вы правы, это я тоже проверил.
← →
iXT © (2007-05-18 14:01) [27]Не, ну объясни, почему всетаки не хочешь реализовать простейший алгоритм и сделать по хорошему?
Ну вот не NT попалась, нет там cmd.exe
← →
Новичек © (2007-05-18 14:05) [28]А я уже сделал подругому, Вы меня убедили:
N := FindFirst("*.sql", faAnyFile, SR);
while N = 0 do
begin
DeleteFile(SR.Name);
N := FindNext(SR);
end;
← →
iXT © (2007-05-18 14:07) [29]FindClose забыл.
← →
Новичек © (2007-05-18 14:13) [30]Точно, спасибо.
← →
Amoeba © (2007-05-18 14:17) [31]Файловые операции средствами ShellAPI.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91
К сожалению не знаю, будет ли это работать, если имена файлов заданы не прямо, а с маской.
← →
Новичек © (2007-05-18 14:32) [32]2 Amoeba:
> будет ли это работать, если имена файлов заданы не прямо,
> а с маской.
Работает (проверил).
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.044 c