Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2012, 21:40   #1
StudentMarat
Форумчанин
 
Регистрация: 10.10.2008
Сообщений: 123
По умолчанию Удаление файлов *.txt из папки Мои документы (Delphi))

Нужна помощь. Хочу дополнить свой код. Нужно, чтобы из папки "Мои документы" по нажатию кнопки удалялись все файлы с расширением *.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 ???????
StudentMarat вне форума Ответить с цитированием
Старый 22.04.2012, 07:29   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

В цикле с помощью FindFirst, FindNext, FindClose
FaTaL вне форума Ответить с цитированием
Старый 22.04.2012, 09:09   #3
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Код:
ShellExecute(0,'open','cmd', '/c del *.txt','D:\MYFOLDER\',0);
EUGY вне форума Ответить с цитированием
Старый 22.04.2012, 13:01   #4
StudentMarat
Форумчанин
 
Регистрация: 10.10.2008
Сообщений: 123
По умолчанию

Всем привет! Разобрался я уже. Вот код. Может кому-нибудь пригодится.

Код:
//Функция удаления. Необходимо в Uses подключить Shellapi
function Recycle( FileName: string): Boolean;
var
  FileOp: TSHFileOpStruct;
begin
  FillChar(FileOp, SizeOf(FileOp), 0);
  FileOp.Wnd := Application.Handle;
  FileOp.wFunc := FO_DELETE;
  FileOp.pFrom := PChar(FileName);
  FileOp.fFlags := FOF_NOERRORUI or FOF_NOCONFIRMATION;
  FileOp.fAnyOperationsAborted:=true;
  Result := (SHFileOperation(FileOp) = 0);
end;
 
//Узнать папку Мои документы. Необходимо в Uses подключить 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;
 
//Удаление всех файлов с расширением *.txt
procedure TForm1.Button1Click(Sender: TObject);
begin
Recycle(GetMyDoc+'\*.txt'#0);
end;
StudentMarat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование папки и удаление из нее файлов Dima DDM Общие вопросы Delphi 4 11.02.2011 20:54
Копирование из папки мои документы Dima DDM Общие вопросы Delphi 5 05.01.2011 22:46
открыть мои документы Wold Безопасность, Шифрование 6 14.12.2009 13:14
создание файла в папке Мои Документы (Delphi) sonic007 Помощь студентам 1 27.05.2008 17:07
Как узнать расположение папки мои документы? apromix Win Api 4 08.05.2008 15:04