Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Delphi (http://forum.oszone.net/showthread.php?t=30048)

Surround 09-01-2004 17:36 206988

В ходе усилинного кодинга на делфях возниколо несколько вопросов :)
Помогите, плз.

1)Как можно очистить корзину?
2)Можно ли удалить непустую директорию?
3)Как получить список локальных дисков?

Спасиба :)

Guest 09-01-2004 21:08 206989

начну с последнего.
3)один из способо узнать список дисков это попытаться узнать объем свободного места на диске
вот так это выглядит а билдере

  AnsiString DriveList="";
  for(Byte i=1;i<=26;i++){
    if(DiskFree(i)!=-1){
      char Leter=char(char('A')+i-1);
      DriveList=DriveList+Leter+"\n";
    };
  };

смотри в хелпе про DiskFree

2)можно ... но предварительно из нее нужно все удалить ;)))
1)неправельный метод это удалить на всех дисках папку RECYCLER :biggrin:

Megabizon 09-01-2004 22:59 206990

3. смотри GetLogicalDriveStrings
2. смотри RemoveDirectory
1. смотри SHEmptyRecycleBin

[s]Исправлено: Megabizon, 23:10 9-01-2004[/s]

Surround 09-01-2004 23:35 206991

Megabizon
Но RemoveDirectory удаляет только пустые каталоги. А есть ли альтернативная команда для удаления любого, даже непустого, катлога?


UZER 10-01-2004 09:09 206992

Surround
имхо, чтобы удалить пустую директорию, нужно узнать, что за файлы в ней лежат, удалить их, а затем удалить директорию

Megabizon 10-01-2004 10:46 206993

Surround
Извини не внимательно прочитал, показалось надо пустую директорию удалить. В твоем случае придется рекруссивный обход папки делать и удалять в ней файлы. Примеров в инете масса.

Surround 10-01-2004 11:56 206994

Megabizon
А где их найти, этот
Цитата:

рекруссивный обход папки
?

Это поможет, если папака содержит несколько уровней поддиректорий?
Вроде бы RemoveDirectory даже если в директории есть пустая папка, все равно родительскую диру не удаляет....

Megabizon 10-01-2004 16:20 206995

Вот, например, на *С
http://www.softforum.ru/news.exe?cmd...em=6&utag=
Цитата:

Это поможет, если папака содержит несколько уровней поддиректорий?
Поддиректории надо тоже очищать рекрусией.
Посмотри на
http://www.torry.net
мож есть какие компоненты или классы для этого.



[s]Исправлено: Megabizon, 16:23 10-01-2004[/s]

Surround 10-01-2004 17:48 206996

Megabizon

А еще адресок можешь дать? http://www.softforum.ru/news.exe?cmd...em=6&utag= не работает :(

не а, нет там компонентов. Но все равно спасибо :)

Кстать, а есть где-нить электронные учебники по Delphi?

Prisoner 10-01-2004 19:49 206997

Surround
Погляди в прикрепленную тему.

Megabizon 10-01-2004 22:09 206998

Нашел пример еще проще через Шелл функцию, но сам его не пробовал
смотри здесь
http://www.rsdn.ru/Forum/?mid=434920
Вот еще на этом же ресурсе пример с рекрусией
http://www.rsdn.ru/Forum/?mid=437812
(пройдись по ответам
А ссылка в предыдущем топе работает, я проверял ее.:)

[s]Исправлено: Megabizon, 22:12 10-01-2004[/s]

Surround 10-01-2004 22:13 206999

Megabizon
звыняй, а у меня тогда написал CGI-error...:biggrin:


Время: 11:28.

Время: 11:28.
© OSzone.net 2001-