![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var Fo : TSHFileOpStruct; buffer : array[0..4096] of char; p : pchar; begin FillChar(Buffer, sizeof(Buffer), #0); p := @buffer; p := StrECopy(p, 'C:\Key2') + 1; FillChar(Fo, sizeof(Fo), #0); Fo.Wnd := Handle; Fo.wFunc := FO_DELETE; Fo.pFrom := @Buffer; Fo.fFlags := 0; if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then ShowMessage('Cancelled') end; |
#2
|
||||
|
||||
![]() Удалить все папки с определенным именем? Запустить поиск по всем папкам и удалить те, у которых имя совпадает.
Только не пойму смысла: можно покалечить другие программы. jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
![]() Код:
Procedure ScanDir(StartDir: String; Mask:string; List:TStrings); { Процедура выводит список директории в список List, начиная с директории, указанной в StartDir. Mask - маска для получения файлов Источник delphi.mastak.ru © А. Подгорецкий } Var SearchRec : TSearchRec; Begin IF Mask ='' then Mask:= '*.*'; IF StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\'; IF FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then Begin Repeat { Чтобы выполнение "не подвисало" } Application.ProcessMessages; IF (SearchRec.Attr and faDirectory) <> faDirectory then List.Add(StartDir + SearchRec.Name) else IF (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then Begin List.Add(StartDir + SearchRec.Name + '\'); { Рекурсивный вызов } ScanDir(StartDir + SearchRec.Name + '\',Mask,List); End; Until FindNext(SearchRec) <> 0; FindClose(SearchRec); End; {IF} end; А где здесь можно прописать имя папки которую надо искать? Последний раз редактировалось Aristarh Dark, 21.06.2012 в 16:47. |
#4
|
|||
|
|||
![]() во входных параметрах
|
#5
|
||||
|
||||
![]() Не нужно плодить одинаковые темы.
jmp $ ; Happy End! The Cake Is A Lie. |