Главная страница
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.034 c
2-1132664750
JTAG
2005-11-22 16:05
2005.12.11
Народ еще вопрос по командной строке


2-1132703705
Дева
2005-11-23 02:55
2005.12.11
Query свойство Active


5-1116936831
P.N.P.
2005-05-24 16:13
2005.12.11
Как определить, что контрол позволяет накладывать на себя другие


11-1084104283
yustas
2004-05-09 16:04
2005.12.11
Хелп


9-1121962924
Conferno
2005-07-21 20:22
2005.12.11
Капризы Shadow Volume (GLScene)