Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

удаление файла из listview [D7, WinXP]


гость ©   (2004-12-02 11:57:00) 

как удалить файлы из listview (checkboxes=true)в корзину или совсем с диска. нужен 100% рабочий пример.
спасибо.


гость   (2004-12-02 13:57:00) [1]

Все я разобрался Спасибо.


Alex_Petr   (2004-12-02 13:53:00) [2]

>Нет только название файла например 2.txt, а в следующей колонке путь >например C:\proba\
Орех !


гость   (2004-12-02 13:51:00) [3]

Нет только название файла например 2.txt, а в следующей колонке путь например C:\proba\


begin...end   (2004-12-02 13:45:00) [4]

> [4] гость   (02.12.04 13:31)

Ну а имена файлов указаны в ListView.Items[X].Caption ? Там полные имена? Файлы эти вообще существуют? Если да, то, может быть, они заняты.


гость   (2004-12-02 13:31:00) [5]

в смысле компилируется но не работает. не удаляет


begin...end   (2004-12-02 13:20:00) [6]

> [2] гость   (02.12.04 13:08)

Не работает - в смысле "не компилируется" или "компилируется, но не работает"?


гость   (2004-12-02 13:08:00) [7]

Не работает ни один из предложенных примеров.


begin...end   (2004-12-02 12:34:00) [8]

> гость   (02.12.04 11:57)

1. В корзину:

var
 S: String;
 Structure: TSHFileOpStruct;

begin
 with ListView do
   for I := 0 to Items.Count - 1 do
     if Items[I].Checked then
       S := S + Items[I].Caption + #0;
 if S <> '' then
 begin
   S := S + #0;
   ZeroMemory(@Structure, SizeOf(Structure));
   with Structure do
   begin
     pFrom := PChar(S);
     wFunc := FO_DELETE or FOF_ALLOWUNDO;
     fFlags := FOF_NOCONFIRMATION + FOF_SILENT;
   end;
   SHFileOperation(Structure)
 end
end.

2. Не в корзину:

var
 I: Integer;

begin
 with ListView do
   for I := 0 to Items.Count -1 do
     if Items[I].Checked then
       DeleteFile(Items[I].Caption)
end.

P.S. Не проверял.


Наверх

Титульная страница Поиск, карта сайта Написать письмо