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

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

file *.* [D6, WinXP]


Страницы:   1 2 3

LeonW ©   (2005-09-28 05:28:00) 

Привет! как дела? а можно ли сделать так - что бы программа искала на пример все файля *.txt или *.bmp и удаляла их????
приэтом стоит два винчестера.
посибо  с уважением Leon


Alexander Panov   (2005-09-30 14:35:00) [21]


> А зачем var, можно пояснить?


Опечатка.


begin...end   (2005-09-30 14:18:00) [22]

> Alexander Panov ©   (29.09.05 22:53) [24]
> var aListFile: TStringList

А зачем var, можно пояснить?


Alexander Panov   (2005-09-30 14:10:00) [23]

>M,Fowler   (30.09.05 10:56) [31]

Исправления привели лишь к ухудшению читабельности кода без выигрыша в чем-либо другом.


Adder   (2005-09-30 13:33:00) [24]


> GuAV ©   (30.09.05 12:04) [32]

Лучше-то оно лучше. Но тогда придется старательно разжевать, почему нельзя делать что-то вроде этого:
procedure TForm1.Button1Click(Sender: TObject);
var
L:Tstrings;
begin
L:=TStrings.Create;
GetFiles('D:\tmp','*.jpg',L);
.................

Не сомневаюсь, что такая попытка будет -)


GuAV   (2005-09-30 12:04:00) [25]


> var aListFile: TStringList

Лучше так
aListFile: TStrings


M,Fowler   (2005-09-30 10:56:00) [26]

Alexander Panov ©   (29.09.05 22:53) [24]

Сократим код в [24] до

procedure GetFiles (const RootPath, Mask: string; FileList: TStrings;
 const ExcludeAttr: Integer = 0);
var
 SR: TSearchRec;
 Path: string;
begin
{$WARN SYMBOL_PLATFORM OFF}
 Path := IncludeTrailingBackSlash(RootPath);
{$WARN SYMBOL_PLATFORM ON}
 if FindFirst(Path+'*.*',faAnyFile,SR)=0 then
   try
     repeat
       if ((SR.Attr and faDirectory) <> 0) and (SR.Name <> '.') and (SR.Name <> '..') then
         GetFiles(Path+SR.Name,Mask,FileList,ExcludeAttr)
       else if ((SR.Attr and ExcludeAttr) = 0) and MatchesMask(SR.Name,Mask) then
         FileList.Add(Path+SR.Name);
     until FindNext(SR)<>0;
   finally
     Sysutils.FindClose(SR);
   end;
end;


leonw   (2005-09-30 03:42:00) [27]

Alexander Panov - а как запустить?
и показывала в memo  и ProgressBar1???? результат?


leonw   (2005-09-30 02:53:00) [28]

Alexander Panov= вот это хакер, программист! всего в пару строчек!!!!


leonw   (2005-09-30 02:13:00) [29]

закачаю ее на сайт = потом дам ссылку - может понравится?


leonw   (2005-09-30 02:11:00) [30]

<h1> моя первая программа  - это был текстовый блокнот!</h1>


leonw   (2005-09-30 02:06:00) [31]

Anatoly Podgoretsky - только я не понил - какое увальнение и зубной врчь? :))))))))


leonw   (2005-09-30 02:03:00) [32]

Привет всем! вирус я не собераюсь деалать.
хотя признаюсь = что просмотрел много исходников, как троянов
- так и червей.


Alexander Panov   (2005-09-29 22:53:00) [33]

//Поиск файлов в каталоге и его покаталогах с фильтром по маске и исключением
//из поиска всех файлов, атрибуты которых попадают в aExcludeAttr

procedure GetFiles(const aPath,aMask: String;var aListFile: TStringList;const aExcludeAttr: Integer=0);
var
 SR: TSearchRec;
 tPath: String;
begin
{$WARN SYMBOL_PLATFORM OFF}
 tPath := IncludeTrailingBackSlash(aPath);
 if FindFirst(tPath+'*.*',faAnyFile,SR)=0 then
 begin
   try
     repeat
       if (SR.Name='.') or (SR.Name='..') then Continue;
       if (SR.Attr and faDirectory)<>0 then GetFiles(tPath+SR.Name,aMask,aListFile,aExcludeAttr);
       if (aExcludeAttr<>0) and (SR.Attr and aExcludeAttr <> 0) then Continue;
       if MatchesMask(SR.Name,aMask) then aListFile.Add(tPath+SR.Name);
     until FindNext(SR)<>0;
   finally
     Sysutils.FindClose(SR);
   end;
 end;
{$WARN SYMBOL_PLATFORM ON}
end;


Adder   (2005-09-29 22:07:00) [34]


> Fay ©   (29.09.05 20:04) [22]
> 2 Adder ©   (29.09.05 4:11) [12]

Согласна. Перевод слишком краткий.
Правильнее было написать не просто "каталог", а  "текущий каталог" и " вышележащий каталог " (или - "каталог на один уровень выше").


Fay   (2005-09-29 20:04:00) [35]

2 Adder ©   (29.09.05 4:11) [12]
>> // Если имя файла не '.' и не '..' (не каталог)
Какой-то странный перевод...
Да и сама проверка ( if (f.Name <> '.') and (f.Name <> '..') then) довольно странная...


Grief   (2005-09-29 19:22:00) [36]

Как пить дать начинающий вирусописец! Причем с вашей помощью вирусописец <_<


Anatoly Podgoretsky   (2005-09-29 19:14:00) [37]

LeonW ©   (28.09.05 05:28)  
Запуск с административными правами - имеем порушеную Виндоус и многие программы, а также обиженных ползователей. Тут уже не далеко или до уволнения или до обращения к зубному протезисту.


leonw   (2005-09-29 17:06:00) [38]

также как -
SearchInDir;
SearchInDir( '*.txt', memo1.Lines, true);


leonw   (2005-09-29 17:01:00) [39]

как я понил если r=0 то ищем дальше если нет то вылетаем?
таперь отсается сделать запуск.
Memo1.Lines.Add (SearchInDir); - но выдает ошибку????


leonw   (2005-09-29 07:21:00) [40]

procedure TForm1.Button1Click(Sender: TObject);
begin
deletefile(f.name);

end;


Страницы:   1 2 3

Наверх

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