Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Вниз

Как узнать размер файла. 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-59695
Tatiana
2003-05-07 18:55
2003.05.19
Kak StringGrid zapisat v massiv?


1-59714
Дима
2003-05-05 17:49
2003.05.19
Директория запуска программы.


14-59934
Некто2002
2003-04-30 11:41
2003.05.19
Как сбросить установки DBGrid?


14-59949
fighter@str
2003-04-30 19:01
2003.05.19
Реестр


1-59753
dimon1979
2003-05-06 11:25
2003.05.19
Ассемблер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский