Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать размер директории??? 
:(
    Опции темы
mspuz
Дата 3.10.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 20.6.2005
Где: Ногинск

Репутация: нет
Всего: нет



Мне нужно в командной строке запустить программку с параметром - путь к директории, а программка выдает размер этой директории. Размер директории с помощью одной функции можно узнать (типа GetSizeDir)?
PM MAIL   Вверх
mspuz
Дата 3.10.2005, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 20.6.2005
Где: Ногинск

Репутация: нет
Всего: нет



А вот что у меня получилось:
Код

program size;

{$APPTYPE CONSOLE}

uses
  Windows,
  Messages,
  SysUtils,
  Variants,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  StdCtrls,
  FileCtrl,
  ExtCtrls;

var
  Put:String;
  SizeFile:Integer;
  SearchRec:TSearchRec;
  InfoFile: TSearchRec;
  FS:Variant;
  My:TStringlist;
  Dir:string;

Procedure ScanDir(Dir:string);
begin
 if Dir<>'' then if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';
 if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then
 repeat
 if (SearchRec.name='.') or (SearchRec.name='..') then continue;
 if (SearchRec.Attr and faDirectory)<>0 then
   ScanDir(Dir+SearchRec.name)
 else
   FS:=FS+SearchRec.Size;
 until FindNext(SearchRec)<>0;
 FindClose(SearchRec);
end;

begin
  { TODO -oUser -cConsole Main : Insert code here }
      Put:='';
      if ParamCount=0 then
           Showmessage('Укажите параметр!!!')
      else
           Put:=ParamStr(1);
      FS:=0;
      ScanDir(Put);
      Writeln(FloatToStr(FS));
      Application.Terminate;
end.


Но почему-то выдается размер только "глубоко-лежащей" директории smile . Но если я использую эту процедуру на форме (Button.Click), то все работает - Так в чем прикол?????

Это сообщение отредактировал(а) Alex - 3.10.2005, 20:21
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.