![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Нужна помощь. Хочу дополнить свой код. Нужно, чтобы из папки "Мои документы" по нажатию кнопки удалялись все файлы с расширением *.txt.
Как узнать путь к папке "Мои документы" я узнал. Вот код: Код:
//Сначала добавить в Uses ActiveX, ShlObj;
//Узнать папку Мои документы
function GetMyDoc : string;
var
SpecialDir: PItemIdList;
begin
SetLength(result, MAX_PATH);
SHGetSpecialFolderLocation(Form1.Handle, CSIDL_PERSONAL, SpecialDir);
SHGetPathFromIDList(SpecialDir, PChar(Result));
SetLength(result, lStrLen(PChar(Result)));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(GetMyDoc);
end;Как теперь можно из папки "Мои документы" удались файлы с расширением *.txt ??????? |
|
#2
|
||||
|
||||
|
FindFirst, FindNext. В справке имеется пример использования.
|
|
#3
|
|||
|
|||
|
А как можно применить их к моему примеру. Не могу никак разобраться. В справке написана общая информация.
|
|
#4
|
||||
|
||||
|
Достаточно простой пример:
Код:
function DeleteFiles(const FileMask : String) : Boolean;
var
SRec : TSearchRec;
Path : String;
begin
Result := FindFirst(FileMask, faAnyFile, SRec) = 0;
if not Result then
exit;
try
Path := ExtractFilePath(FileMask);
Repeat
if (SRec.Name <> '') and (SRec.Name <> '.') and (SRec.Name <> '..') and
(SRec.Attr and (faVolumeID + faDirectory) = 0) then
begin
Result := DeleteFile(Path + SRec.Name);
if not Result then
break;
end;
Until FindNext(SRec) <> 0;
finally
FindClose(SRec);
end;
end; |
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
StudentMarat (21.04.2012)
| ||
|
#5
|
|||
|
|||
|
Я попробовал применить функцию вот так:
Код:
DeleteFiles('D:\Новая папка\*.txt');А как сделать так,чтобы удаляла из папки "Мои документы". В ручеую прописывать не вариант, т.к. папка "Мои документы" может быть настроена по разному. У меня на компе, к примеру, я её настроил на диск D. На других компах она может быть настроена по умолчанию при постановке винды, т.е. c:\Document and Setting\Имя пользователя\Мои документы. |
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
|||
|
|||
|
Цитата:
немножко напряч мозги =) путь к папке документы знаем. теперь Код:
var path:string; begin path:=GetMyDoc; |