Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 459

/ вопрос открыт /

Всем Привет!
Мне надо с Edit1.Text, это мой выбраный путь
Получить общий размер диска и свободное место на диске.
Вот код:

Приложение:
  1. var
  2. i : Integer;
  3. space : Int64;
  4. begin
  5. for i := 2 to 6 do
  6. begin
  7. space := DiskFree(i);
  8. if space >= 0
  9. then ShowMessage(Chr(i+64)+' Drive free space = '+
  10. FloatToStrF(space, ffNumber, 20, 0))
  11. else ShowMessage(Chr(i+64)+' Drive not present');
  12. end;
  13. end;


Vit2 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Vit2 (статус: Посетитель)
Вопрос отправлен: 7 апреля 2007, 14:41
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Роман

Здравствуйте, Vit2!Тупо открываем delphiworld.narod.ru/base/disk_size_free.html и ctrl-c - имеем(см код).Результатом будет значение в байтах

Приложение:
  1. uses
  2. SysUtils;
  3.  
  4. implementation
  5.  
  6. function GetDiskSize(drive: Char; var free_size, total_size: Int64): Boolean;
  7. var
  8. RootPath: array[0..4] of Char;
  9. RootPtr: PChar;
  10. current_dir: string;
  11. begin
  12. RootPath[0] := Drive;
  13. RootPath[1] := ':';
  14. RootPath[2] := '';
  15. RootPath[3] := #0;
  16. RootPtr := RootPath;
  17. current_dir := GetCurrentDir;
  18. if SetCurrentDir(drive + ':') then
  19. begin
  20. GetDiskFreeSpaceEx(RootPtr, Free_size, Total_size, nil);
  21. // this to turn back to original dir
  22. SetCurrentDir(current_dir);
  23. Result := True;
  24. end
  25. else
  26. begin
  27. Result := False;
  28. Free_size := -1;
  29. Total_size := -1;
  30. end;
  31. end;
  32.  
  33.  
  34. procedure TForm1.Button1Click(Sender: TObject);
  35. var
  36. free_size, total_size: Int64;
  37. begin
  38. if GetDiskSize(DriveComboBox1.Drive, free_size, total_size) then
  39. ShowMessage('free space =' +
  40. IntToStr(free_size) + #13 + 'total size=' +
  41. IntToStr(total_size))
  42. else
  43. ShowMessage('No disk in drive!');
  44. end;


Ответ отправил: Роман (статус: 5-ый класс)
Время отправки: 7 апреля 2007, 16:02

Ответ #2. Отвечает эксперт: min@y™

Скачай Delphi Works. Проблем знать не будешь.
Сцыла вот: http://delphiworks.sourceforge.net/index.htm

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 апреля 2007, 09:02


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 7 апреля 2007, 17:47; участников в обсуждении: 1.
Vit2

Vit2 (статус: Посетитель), 7 апреля 2007, 17:47 [#1]:

А чем не нравится верхний код?

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:43
Выполнено за 0.02 сек.