Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.51 MB
Время: 0.04 c
15-1179484685
novoalex
2007-05-18 14:38
2007.06.10
In или =


15-1179035202
Пол
2007-05-13 09:46
2007.06.10
инет-магазин


15-1178902181
ArtemESC
2007-05-11 20:49
2007.06.10
Можно ли это устройство использовать для инета??


2-1179482555
Ol4ik
2007-05-18 14:02
2007.06.10
Нужна помощь!


15-1178253943
Torry
2007-05-04 08:45
2007.06.10
Интервью в Мире ПК





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский