Автор: 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 |
1. Равиль
(ZuBy)
а не проще так:
function GetFileSize(namefile: string): Int64; function GetNormalSize(Size: Int64): string; использовать: |
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.