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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2010, 14:08   #1
Valecus
 
Регистрация: 04.05.2010
Сообщений: 9
По умолчанию Вопрос о удалении файла

Добрый день дорогие фурумчане.
Вопрос- есть код который ниже приведен, при нажатии клавиши "удалить", сразу удаляется файл с компьютера, мне нужно сделать чтоб при нажатии появилось сообщение "Вы уверены что хотите удалить файл?-да- нет-удалить-... Но и чтоб удалял только в корзину.
Код:
procedure TForm1.DeleteClick(Sender: TObject);
begin
if enableF then begin
if getR(file1.SelectedFolder.PathName)<>'' then begin
assignfile(fromF,file1.SelectedFolder.PathName);
{$I-}
reset(fromF);
{$I+}
if ioresult=0 then begin
closefile(fromF);
erase(fromF);
end
else
showmessage('Не могу удалить файл');
end
else
if not myremovedir(file1.SelectedFolder.PathName) then
showmessage('Не могу удалить каталог');
file1.Refresh;
end
else begin
if getR(file2.SelectedFolder.PathName)<>'' then begin
assignfile(fromF,file2.SelectedFolder.PathName);
{$I-}
reset(fromF);
{$I+}
if ioresult=0 then begin
closefile(fromF);
erase(fromF);
end
else
showmessage('Не могу удалить файл');
end
else
if not myremovedir(file2.SelectedFolder.PathName) then
showmessage('Не могу удалить каталог');
file2.Refresh;
end;
end;

Последний раз редактировалось Stilet; 29.12.2010 в 08:54.
Valecus вне форума Ответить с цитированием
Старый 26.12.2010, 15:08   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Код:
procedure TSDIAppForm.Button3Click(Sender: TObject);
var
  FileName:String;
begin
  if Application.MessageBox('Удалить файл?','Удаление файла',MB_YESNO+MB_ICONQUESTION)=idYES then
    if not(DeleteFile('FileName')) then ShowMessage('Не могу удалить файл!');
end;
А вот про удаление в корзину - даже не задумывался никогда... Да и зачем?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 26.12.2010, 15:33   #3
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Нашел, но не проверял:

Функция удаляет файл, имя которого указаывается в аргументе FileName
в корзину. Второй необязательный параметр указывает на Handle окна,
которое будет родительским для отображаемых системой диалоговых окон

Зависимости: Windows, ShellAPI, Forms
Код:

function Recycle(const FileName: string; Wnd: HWND = 0): Boolean;
var
  FileOp: TSHFileOpStruct;
begin
  FillChar(FileOp, SizeOf(FileOp), 0);
  if Wnd = 0 then
    Wnd := Application.Handle;
  FileOp.Wnd := Wnd;
  FileOp.wFunc := FO_DELETE;
  FileOp.pFrom := PChar(FileName);
  FileOp.fFlags := FOF_ALLOWUNDO or FOF_NOERRORUI or FOF_SILENT;
  Result := (SHFileOperation(FileOp) = 0) and (not
    FileOp.fAnyOperationsAborted);
end;
Пример использования:
Код:
procedure TForm1.Button1Click(Sender: TObject)
begin
  Recycle('d:\folder\filename.ext', Handle);
end;



Если интересно, есть статейка:
http://www.delphimaster.ru/articles/...pst/index.html
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 27.12.2010, 20:42   #4
Valecus
 
Регистрация: 04.05.2010
Сообщений: 9
По умолчанию

спасибо))))) все сделал как нужно мне. Ну единственное в корзину не удаляет)))

Последний раз редактировалось Valecus; 27.12.2010 в 21:12.
Valecus вне форума Ответить с цитированием
Старый 27.12.2010, 21:14   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Программирование означает, что вам нужно сложить вместе несколько кусочков.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 28.12.2010, 10:43   #6
Valecus
 
Регистрация: 04.05.2010
Сообщений: 9
По умолчанию

Вот ещё одна проблема, нужно помимо файла и каталог удалять вместе с его содержимым... Чет не могу понять как это сделать, и что нужно изменить в коде моем...
Valecus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++. Ошибка при удалении последней строки из файла _Dis_ Помощь студентам 12 28.08.2009 21:33
ошибка при удалении символа Virus191288 Общие вопросы Delphi 13 15.08.2009 14:50
Нужна помощь в удалении вируса Анастасия Еремина Безопасность, Шифрование 5 03.03.2009 16:27
Ошибка при удалении... JRcoker Общие вопросы Delphi 8 29.07.2008 22:53
Проблемы при удалении файлов Pavel55 Общие вопросы Delphi 7 10.01.2008 00:45