Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Внизfile *.* Найти похожие ветки
← →
leonw © (2005-10-01 03:28) [40]ну вот с пустя несколько дней хоть что то! теперь программам удаляет файлы! но есть проблема - она их удаляет в указанном катологе! а как сделть чтобы она их еще и искала????
-----------------------------
procedure FindFiles(StartFolder, Mask: String; List: TStrings;
ScanSubFolders: Boolean = True);
var
SearchRec: TSearchRec;
FindResult: Integer;
begin
List.BeginUpdate;
try
StartFolder:=IncludeTrailingBackslash(StartFolder);
FindResult:=FindFirst(StartFolder+"*.*", faAnyFile, SearchRec);
try
while FindResult = 0 do with SearchRec do begin
if (Attr and faDirectory)<>0 then begin
if ScanSubFolders and (Name=".") and (Name="..") then
FindFiles(StartFolder+Name, Mask, List, ScanSubFolders);
end else begin
if MatchesMask(Name, Mask) then
List.Add(StartFolder+Name);
deletefile(StartFolder+Name);
end;
FindResult:=FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
finally
List.EndUpdate;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FindFiles("C:\1\", "*.txt", memo1.Lines, true);
end;
← →
GuAV © (2005-10-01 14:40) [41]
>if ScanSubFolders and (Name=".") and (Name="..") then
> FindFiles(StartFolder+Name, Mask, List,
> ScanSubFolders);
здесь ошибка.
← →
leonw © (2005-10-01 23:41) [42]но у меня ошибки нет= все нормально работает!!!
← →
Kolan © (2005-10-02 00:12) [43]leonw © (01.10.05 23:41) [42]
Тебе действительно 9 лет?
Abstract error- постоянно вылазиет?????
Strings: TStrings;
//
Strings := TStringList.Create
← →
leonw © (2005-10-02 04:40) [44]Kolan - а почему ты спрашиваешь про возраст????
- ок попробую!!!
← →
leonw © (2005-10-02 04:50) [45]Kolan - да но чуть выше сказано - что лучше так не делать!!! ???
← →
Adder © (2005-10-02 14:31) [46]
> leonw © (02.10.05 04:50) [45]
Выше сказано несколько по другому. Наверное, я не очень четко выразила свою мысль. Имелось в виду - не стоит заменять в определении функции (которую дал Фёдор) TStringList на TStrings, пока не понимаешь, к чему это приведет -)
А это и привело к:
Abstract error- постоянно вылазиет?????
Strings: TStrings;
Strings := TStrings.Create - вот так делать нельзя. Но ты таки попытался сделать именно это.
Зато вот так
Strings: TStrings;
Strings := TStringList.Create
> Kolan © (02.10.05 00:12) [43]
Делать можно.
Вообще советую все-же почитать какую-нибудь книгу по Delphi и Object Pascal. Тогда будет понятно, почему нельзя создавать объект TStrings -)
И почему в функцию, где ожидается TStrings, можно передавать наследника TStrings - например, TStringList.
ps Объяснять "на пальцах" у меня таланта нет, к сожалению. -(
← →
leonw © (2005-10-03 17:10) [47]Удалено модератором
← →
leonw © (2005-10-03 17:13) [48]Adder - Федор: написал - не совсем то что я хотел.
← →
leonw © (2005-10-03 17:15) [49]Удалено модератором
← →
Fay © (2005-10-03 19:20) [50]2 Adder © (29.09.05 22:07) [23]
Файл с именем "." запросто может существовать, не являясь при этом текущим каталогом.
З.Ы.
Тов. Alexander Panov это тоже касается.
← →
GuAV © (2005-10-03 19:36) [51]Fay © (03.10.05 19:20) [50]
Файл с именем "." запросто может существовать, не являясь при этом текущим каталогом.
Интересно.. а какая файловая система ? в fat файл . уже сушествует в каждой директории и является этой директорией.
← →
Alexander Panov © (2005-10-03 19:41) [52]>Fay © (03.10.05 19:20) [50]
2 Adder © (29.09.05 22:07) [23]
Файл с именем "." запросто может существовать, не являясь при этом текущим каталогом.
Ну-ну. Попробуй создать на какой-либо файловой системе.
В случае удачи сообщи - я поудивляюсь.
← →
Fay © (2005-10-03 19:54) [53]2 Alexander Panov © (03.10.05 19:41) [52]
Точно, это у меня память глючит 8((.
← →
leonw © (2005-10-04 01:32) [54]почему? на мило напиши = я думаю что лучше новинькое:=?
← →
leonw © (2005-10-06 23:50) [55]ивидемся! и посибО!
← →
Tier © (2005-10-13 20:03) [56]хм небольшая ошибка в коде, точнее не доглядел, здесь:
if MatchesMask(Name, Mask) then
List.Add(StartFolder+Name);
deletefile(StartFolder+Name);
end;
Надо бы скобки поставить дополнительно, ну в смысле Begin и end
Иначе так и будет удалять все файлы подряд без учета маски.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.037 c