Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: CL | DM;

Вниз

Как узнать размер файла. FileSize не подходит. :(   Найти похожие ветки 

 
Slavik   (2003-05-06 18:12) [0]

Люди! Помогите. Как узнать размер файла. FileSize не подходит. :(


 
Mikelson   (2003-05-06 18:14) [1]

GetFileSizeEx


 
Anatoly Podgoretsky ©   (2003-05-06 18:15) [2]

Что непоказывает размер?


 
jack128 ©   (2003-05-06 18:51) [3]

GetFileAttributesEx


 
Slavik   (2003-05-06 19:05) [4]

2Anatoly Podgoretsky, размер-то показывает, нокакой-то корявый. Например нада узнать. My.exe (512Kb). Приходиться делать AssignFile, потом ReSet, а уж потом только FileSize.. :( Но всё равно не тот размер. Мне бы функцию, которая непосредственно ввёл путь и выдало размер. Или нет такой.
2Mikelson, jack128, что-то я в WinAPI не нашёл.. или я плохо искал. Не могли бы вы привести примерчик...
Заранее всем спасибо!


 
jack128 ©   (2003-05-06 19:20) [5]

в Delphi набрать GetFileAttributesEx или GetFileSizeEx и нажать F1 некак?


 
Anatoly Podgoretsky ©   (2003-05-06 19:27) [6]

Так напиши, алгоритм ты описал
Любой другой метод, потребует так же более одного действия.

jack128 © (06.05.03 19:20)
GetFileAttributesEx В 95/98 не поддержано
GetFileSizeEx описание отсутствует


 
Романов Р.В. ©   (2003-05-06 19:36) [7]

function GetFileSize(const FileName: string): LongInt;
var
SearchRec: TSearchRec;
begin
try
if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then
Result := SearchRec.Size
else Result := -1;
finally
SysUtils.FindClose(SearchRec);
end;
end;


 
KPP   (2003-05-06 19:44) [8]

var
SearchF:TSearchRec;
FileS:integer;

...
FindFirst(полный путь,faAnyFile,SearchF);
FileS:=SearchF.Size; //- размер файла
FindClose(SearchF);
...
этот способ хорош тем, что файл не "удерживается"


 
jack128 ©   (2003-05-06 19:46) [9]

Anatoly Podgoretsky © (06.05.03 19:27)
Каюсь, был не прав.

В начестве частичного искупления своей вины приведу свой вариант решения

function GetFileSize(Filename : string):integer;
var hFile : THandle;
begin
hFile := CreateFile(PChar(FileName),0,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hFile <> INVALID_HANDLE_VALUE then
begin
Result := Windows.GetFileSize(hFile,nil);
CloseHandle(hFile);
end else Result := -1;
end;




 
Slavik   (2003-05-06 21:08) [10]

Всем огромное спасибо!! Буду пробовать.



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

Текущий архив: 2003.05.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
4-59986
AlexRush
2003-03-18 13:25
2003.05.19
своя GetModuleHandle


1-59787
Ska
2003-05-05 21:01
2003.05.19
Оси Chart


3-59599
Evg12345
2003-04-28 09:02
2003.05.19
Как ускорить Locate?


14-59892
Карлсон
2003-04-24 22:37
2003.05.19
игрушка типа NetWalk или IT95


14-59846
NetBreaker666
2003-04-26 22:53
2003.05.19
Здесь есть автостопщики ?