Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Как определить размер файла?   Найти похожие ветки 

 
pavel_guzhanov ©   (2005-05-05 14:39) [0]

Здравствуйте!
Подскажите, как оперделить размер файла, зная путь к нему?


 
KilkennyCat ©   (2005-05-05 14:50) [1]

filesize


 
xShadow ©   (2005-05-05 15:01) [2]

FindFirst тоже можно


 
Grell ©   (2005-05-05 15:08) [3]

...............
var
F:hFile;
Size:DWORD;
s:PChar;
begin
F:=CreateFile(s,GENERIC_READ,0,NIL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
Size:=GetFileSize(F,nil);
...............


 
pavel_guzhanov ©   (2005-05-05 15:58) [4]

пасиба, работает!


 
xShadow ©   (2005-05-05 17:07) [5]


> Grell ©   (05.05.05 15:08) [3]

Не на всех файлах отработает. Лимит в 4 гб.

Function GetFileSize( const FileName: String ): Int64;
var S: TSearchRec;
Begin
   FindFirst( FileName, faAnyFile, S );
   Result := ( Int64( S.FindData.nFileSizeHigh ) * MAXDWORD ) +
               Int64( S.FindData.nFileSizeLow );
   FindClose( S );
end;


 
begin...end ©   (2005-05-05 17:22) [6]

> xShadow ©   (05.05.05 17:07) [5]
> Не на всех файлах отработает. Лимит в 4 гб.

Почему же? Если использовать ещё и второй параметр в GetFileSize, то лимит в 4 ГБ сразу же исчезает.
Например:

var
 BigSize: Int64;
 H: Cardinal;
begin
 H := CreateFile(...);
 ...
 Int64Rec(BigSize).Lo := GetFileSize(H, @Int64Rec(BigSize).Hi);
 ...
end.


См. также: GetFileSizeEx (но она только в 2000 и выше).


 
xShadow ©   (2005-05-05 17:28) [7]


> begin...end ©   (05.05.05 17:22) [6]

Было сказано к приведённому примеру :)



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

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

Наверх




Память: 0.48 MB
Время: 0.047 c
4-1114770645
Sour Smile
2005-04-29 14:30
2005.06.29
Работа с сетью из-под сервиса


1-1118108863
paule
2005-06-07 05:47
2005.06.29
Передача указателя формы в процедуру dll


4-1114757945
Merlot
2005-04-29 10:59
2005.06.29
Как отловить выключение windows.


1-1117622966
Leonid
2005-06-01 14:49
2005.06.29
Запуск DOS-приложения


9-1111583096
StrangeMan
2005-03-23 16:04
2005.06.29
Игровые конструкторы