Главная страница
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.051 c
1-36202
TAN_1
2002-12-03 16:22
2002.12.12
Как зашифровать строку


3-35974
Bakch
2002-11-22 15:19
2002.12.12
Работа с ADOTable в цикле


14-36337
Ketmar
2002-11-16 19:15
2002.12.12
господа lj-шники, а кто меня поможет туда попасть?


3-36069
Calm
2002-11-26 11:03
2002.12.12
Как подключиться к БД через ADOConnection?


1-36094
den_777
2002-12-02 01:37
2002.12.12
Как лучше поделить на части большой проект?