Главная страница
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.054 c
4-1113228229
Хинт
2005-04-11 18:03
2005.06.29
Программа не работает в WinNT


1-1117865358
Brain Force
2005-06-04 10:09
2005.06.29
Динамическое изменение обработчика кнопки


1-1118207295
Коля
2005-06-08 09:08
2005.06.29
Создание компонентов Событие OnChange Для TEdit


14-1117175981
redlord
2005-05-27 10:39
2005.06.29
сервер Lineage2


14-1117064673
Просто Джо
2005-05-26 03:44
2005.06.29
Киев Мастак Парти