![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
file *.* [D6, WinXP]
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;