Главная страница
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.062 c
3-1116328809
ANB
2005-05-17 15:20
2005.06.29
Агрегирующая функция для строк и дат. (Oracle)


3-1116247658
Manfred8
2005-05-16 16:47
2005.06.29
OnCalcFields как выполнить только для текущей записи?


1-1117708208
nikolas
2005-06-02 14:30
2005.06.29
Приложение, вызвавшая dll


3-1115977356
Лиса
2005-05-13 13:42
2005.06.29
DBGrid+mySQL


4-1115251787
ronyn
2005-05-05 04:09
2005.06.29
Как переташить файл на к.л. компонент программы?