Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.12;
Скачать: 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 вся ветка

Текущий архив: 2002.12.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
4-36465
BSD
2002-10-29 12:40
2002.12.12
Передача сообщений из одного сервиса другому


1-36101
werty
2002-12-03 05:16
2002.12.12
Bat-файл


7-36451
Valt
2002-10-10 14:09
2002.12.12
Файлы в оперативку


14-36358
Cobalt
2002-11-20 12:56
2002.12.12
Если хочешь добиться чего-либо от человека, то будь с ним


1-36257
Zergling
2002-12-02 11:23
2002.12.12
Динамический массив, поток и High