Вниз
Скачать: CL | DM;

Как получить размер файла? Ессно, винапишной функцией GetFileSize   Найти похожие ветки 

← →
Диман ©   (2001-11-19 10:06) [0]

Указанная функция почему-то возвращает всегда либо 0 либо 65535 (возвращает в WORD, если DWORD - тогда 4 гига - это вроде как размер файла такой!). Ясно что глюк. Залез в СДК там писано такое - в СЛУЧАЕ ОШИБКИ возвращается максимальное значение. Пробовал всяко разно вызывать - результат один. Подскажите кто знает!


← →
wHammer ©   (2001-11-19 11:06) [1]

Можно и без WinApi, с помощью потоков, например так:

var
In : TFileStream;
SizeIn : cardinal;
begin
In := TFileStream.Create(пишу по памяти, посмотри в хелпе пар-ры);
SizeIn := In.что-то вроде Size
In.Free;
end;


← →
paul_shmakov ©   (2001-11-19 11:17) [2]

2 Диман:
покажи, как вызываешь (код, включая открытие файла)


← →
Polevi ©   (2001-11-19 11:36) [3]

var
FileSize,FileSizeHigh:Cardinal;
fHandle:THandle;
begin
fHandle:=CreateFile(PChar(FileName),GENERIC_READ or GENERIC_WRITE,
0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if fHandle<>INVALID_HANDLE_VALUE then
FileSize:=GetFileSize(fHandle,@FileSizeHigh);


← →
Диман ©   (2001-11-20 07:14) [4]

Ура! Заработала! Огромное спасибо что не оставили в беде.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
1-66245
Snake
2002-01-02 17:21
2002.01.21
Запись графики в поток


1-66233
Анатолий
2002-01-01 03:52
2002.01.21
Сhart


1-66296
kay
2002-01-04 22:11
2002.01.21
память


3-66211
Байкер
2001-12-17 13:44
2002.01.21
Печать DBGrid


6-66331
Роллер
2001-10-25 10:51
2002.01.21
Windows SocketError: что за ошибки?




   Наверх