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

Вниз

размер длинного файла   Найти похожие ветки 

 
Alex_andr   (2005-11-24 21:00) [0]

Как получить размер файла если его длинна 5-10 Гбайт? Функция FileSize имеет тип LongInt т.е. не более 2147483647 Байт.
Может чего не так понимаю, подскажите пожалуйста.


 
qp   (2005-11-24 21:00) [1]

GetFileSize


 
Anatoly Podgoretsky ©   (2005-11-24 21:20) [2]

А надо ли использовать файлы Паскаля?


 
Alex_andr   (2005-11-24 22:53) [3]

Спасибо, но мне это не помогло.
Я понятия не имею как обращаться с API-функциями в моих книгах они только перечислены и всё. Может кто показать пример или адресок, где это описано.


 
Zeqfreed ©   (2005-11-24 23:18) [4]

Alex_andr   (24.11.05 22:53) [3]
А как обращаться с не API-функциями ты знаешь?


 
Джо ©   (2005-11-24 23:36) [5]


>  [3] Alex_andr   (24.11.05 22:53)

Нужно использовать GetFileSizeEx, именно эта функция позволяет получить 64-битное значение.


 
Джо ©   (2005-11-24 23:41) [6]

Если же эта функция не подходит, а не подходить она может по 2 причинам:
 1. Ей нужно передавать хэндл уже открытого файла, что не всегда желательно и
 2. Она существует, начиная с Win2K.

тогда можно получить желаемое использовав функцию FindFirst. С ее помощью можно получить структуру WIN32_FIND_DATA, которая, в свою очередь, содержит поля с 2-мя двойными словами размера файла. Т.е, сделать что-то вроде:

function MakeInt64 (H,L: DWord): Int64;
begin
 Result := H or L shl 32;
end;

function GetLongFileSize (AFileName: string): Int64;
var
 SR: TSearchRec;
begin
 if FindFirst(AFileName,faAnyFile,SR) = 0 then
 begin
   Result := MakeInt64(SR.FindData.nFileSizeHigh,
     SR.FindData.nFileSizeLow);
   FindClose (SR);
 end
 else
   Result := -1;
end;


 
Alex_andr   (2005-11-25 00:08) [7]

Большое спасибо всё понял!



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
2-1132501867
Frozzen
2005-11-20 18:51
2005.12.11
Ошибка при работе с dll!


6-1124963167
ShuRiK_0481
2005-08-25 13:46
2005.12.11
Как получить Location из URL?


2-1132855215
Alex_andr
2005-11-24 21:00
2005.12.11
размер длинного файла


2-1132342808
SerGe@nt
2005-11-18 22:40
2005.12.11
Можно ли скопировать несколко файлов?


2-1132909381
Рафик
2005-11-25 12:03
2005.12.11
SQL