Вниз
Скачать: CL | DM;

Свободное место в папке   Найти похожие ветки 

← →
BorisUK ©   (2002-11-26 14:00) [0]

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


← →
exit   (2002-11-26 14:05) [1]


uses SysUtils;

...

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


← →
BorisUK ©   (2002-11-26 14:55) [2]

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


← →
stone ©   (2002-11-26 15:14) [3]

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

var FreeAvailable,
TotalSpace: TLargeInteger; TotalFree: PLargeInteger


← →
exit   (2002-11-26 15:17) [4]


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


← →
BorisUK ©   (2002-11-26 15:44) [5]

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

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



← →
exit   (2002-11-26 15:46) [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:56) [7]

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

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 16:03) [8]

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


← →
BorisUK ©   (2002-11-26 16:07) [9]

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


← →
exit   (2002-11-26 16:09) [10]


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:11) [11]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
14-36397
Anatoly Podgoretsky
2002-11-22 07:56
2002.12.12
Именинники 22 ноября


1-36130
Ник
2002-12-03 14:35
2002.12.12
Динамические массивы


1-36106
Lord
2002-12-03 09:46
2002.12.12
Неполучается.


7-36424
dimazzz
2002-10-04 14:51
2002.12.12
Обмен с шиной ISA


14-36383
AL2002
2002-11-19 15:16
2002.12.12
Здесь есть женатые?




   Наверх