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

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

Свободное место в папке [D5, IB6.x]


BorisUK ©   (2002-11-26 14:00:00) 

Очень требуется узнать свободное место в указанной папке!!
Да еще чтоб четевую тоже можно было!
К примеру собираюсь я делать архивирование базы или еще чего...
Чтоб узнать можноли или нет?
В общем помогите если сможете :)


BorisUK   (2002-11-26 16:11:00) [1]

У тебя какая ОС
Может у меня с пермишенами чтонить?
У меня ХР...
Ладно всеравно спасибо - буду разбираться.


exit   (2002-11-26 16:09:00) [2]


procedure TForm1.Button1Click(Sender: TObject);
var
freeaval, totalsp: Int64;
totalfree: PLargeInteger;
begin
if OpenDialog1.Execute then
begin
GetDiskFreeSpaceEx(PChar(OpenDialog1.Directory), freeaval, totalsp, totalfree);
ShowMessage(IntToStr(freeaval)+":"+IntToStr(totalsp));
end;
end;

Все работает без вопросов.


BorisUK   (2002-11-26 16:07:00) [3]

Но не работает же!
Компилится, но при попытку выполнится не работает!
Аксес виалейшн кричит!


exit   (2002-11-26 16:03:00) [4]

Ну, если уж о типах, то TLargeInteger - это Int64, и, стало быть, все верно, как и с TotalFree.


BorisUK   (2002-11-26 15:56:00) [5]

Странно... я то думал что чтото не так делаю :(
Я так кароче и делал только типы другие

procedure TForm1.Button1Click(Sender: TObject);
var
FreeAvailable,
TotalSpace: TLargeInteger;
TotalFree: PLargeInteger;
Begin
GetDiskFreeSpaceEx(PChar(MyDir), FreeAvailable, TotalSpace, TotalFree);
ShowMessage(IntToStr(FreeAvailable));
ShowMessage(IntToStr(TotalSpace));

end;

Ошибку выдает при инициализации самой процедуры...
Какие мысли ?


exit   (2002-11-26 15:46:00) [6]


procedure TForm1.Button1Click(Sender: TObject);
var
freesp, totalsp: Integer;
begin
GetDiskFreeSpaceEx(MyDir, freesp, totalsp, ...);
ShowMessage(IntToStr(freesp));
ShowMessage(IntToStr(totalsp));
end;


RTFM


BorisUK   (2002-11-26 15:44:00) [7]

Я не пойму никак
freesp, totalsp,
мне узнать надо...
Как я их могу передать не зная???

Ситуация такая!
Закидываю путь (сетевой тоже должен работать) показывает сколько места занимает та папка, еще свободно на том диске...


exit   (2002-11-26 15:17:00) [8]


procedure TForm1.Button1Click(Sender: TObject);
var
freesp, totalsp: Integer;
begin
GetDiskFreeSpaceEx(MyDir, freesp, totalsp, ...);
end;


stone   (2002-11-26 15:14:00) [9]

для этого служат

var FreeAvailable,
TotalSpace: TLargeInteger; TotalFree: PLargeInteger


BorisUK   (2002-11-26 14:55:00) [10]

Она возвращяет true или false/
Как мне её использовать чтобы получить размер указанной ДИРЕКТОРИИ?


exit   (2002-11-26 14:05:00) [11]


uses SysUtils;

...

function GetDiskFreeSpaceEx(Directory: PChar; var FreeAvailable,
TotalSpace: TLargeInteger; TotalFree: PLargeInteger): Bool


Наверх

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