Автор: Nomad
function GetFileSize(FileName: string): Int64;
var F: TMemoryStream;
begin
try
F:=TMemoryStream.Create;
F.LoadFromFile(FileName);
Result:=F.Size;
finally
F.Free;
end;
end;
Функция возвратит размер файла FileName в байтах. Чтобы получить размер в килобайтах, результат нужно поделить на 1024.
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);По нажатию на кнопку выскочит мессаджбокс, с размерами исполняемого файла проекта.
var SizeOfApp: Int64;
begin
SizeOfApp := GetFileSize(ParamStr(0));
ShowMessage('Размер приложения: '+IntToStr(SizeOfApp)+
' байт('+IntToStr(SizeOfApp div 1024)+' кб)');
end;
В качестве параметра для функции GetFileSize было использовано ParamStr(0). Подробнее читаем в статье Определение пути к разрабатываемой программе
Просмотров: 18180
| 
 8. mr.monk
 
WinAPI рулит. не надо изобретать велосипед.  
 var   // результат в переменной fileSize   | 
| 
 6. Сергей
(POGiMplayer)
 
А вообще проще говоря все нормальные люди юзают GetFileSize виндовый. 
 | 
| 
 5. Сергей
(POGiMplayer)
 
Равиль (ZuBy) ну ты ***ц замудрил, даже я ничерта не разобрался 
 | 
| 
 3. Роман Новиков
 
А нафига файл грузить в оперативку? А если он под нескольго гигов весит? К тому же есть поток TFileStream, более целесообразно его использовать нежели TMemoryStream. Связали поток с файлом и пользуем интерфейс.  
 // Если файл не существует, то вместо размера файла функция верн¸т -1   | 
| 
 а не проще так:  
 function GetFileSize(namefile: string): Int64;   function GetNormalSize(Size: Int64): string;   использовать:   | 
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.