Главная страница
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.03 c
3-1130428514
Apachi
2005-10-27 19:55
2005.12.11
Доступ к данным через интернет ISAPI


3-1129111866
DancerMan
2005-10-12 14:11
2005.12.11
TWebBrowser или ...?


2-1133185128
DancerMan
2005-11-28 16:38
2005.12.11
Три панели и два сплиттера


10-1108936293
GanibalLector
2005-02-21 00:51
2005.12.11
Объектная модель MOffice


2-1132404304
начиннающий
2005-11-19 15:45
2005.12.11
Filter