Главная страница
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.044 c
8-1120913917
KyRo
2005-07-09 16:58
2005.12.11
Длинна песни и звук


2-1132854657
Petr
2005-11-24 20:50
2005.12.11
Помогите с dll разобраться!


14-1132641929
Layner
2005-11-22 09:45
2005.12.11
Oracle бесплатно


2-1132683001
DillerXX
2005-11-22 21:10
2005.12.11
RegQueryValueEx


2-1132550083
Alex7
2005-11-21 08:14
2005.12.11
"DBLookupComboBox".