Главная страница
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
1-1117722173
Demonix
2005-06-02 18:22
2005.06.29
Обработка сообщений Outloook


4-1114517689
VVV-First
2005-04-26 16:14
2005.06.29
Hooks


1-1117618938
Стас
2005-06-01 13:42
2005.06.29
Что за ошибка


14-1117525220
Cerberus
2005-05-31 11:40
2005.06.29
Слышал в новостях


14-1117516680
КаПиБаРа
2005-05-31 09:18
2005.06.29
Будет ли кризис судебной системы?