Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Вниз

Как получить размер файла? Ессно, винапишной функцией 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]

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.013 c
4-66406           hn                    2001-11-14 19:13  2002.01.21  
ссылка на Edit, как получить текст, если он в веден в него


1-66231           Oleg Fomicheff        2001-12-31 05:26  2002.01.21  
ComboBox: проверка уникальности элементов


1-66228           Vacheslav             2002-01-01 20:30  2002.01.21  
Тоскливо без старых операторов


7-66363           DNT                   2001-10-03 11:54  2002.01.21  
Margin у обычного popup menu.


6-66334           Lamok                 2001-10-24 17:09  2002.01.21  
Tcp/ip