Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2007, 22:49   #1
мандарин
Пользователь
 
Регистрация: 22.04.2007
Сообщений: 31
По умолчанию размер файла

я получил от клиенета файл сохранил его как мне можно узнать размер файла
мандарин вне форума Ответить с цитированием
Старый 05.05.2007, 23:15   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

function GetFileSize(namefile: string): Integer;
var
InfoFile: TSearchRec;
AttrFile: Integer;
ErrorReturn: Integer;
begin
AttrFile := $0000003F; {Any file}
ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
if ErrorReturn <> 0 then
Result := -1 {в случае, если файл не найден}
else
Result := InfoFile.Size; {Размер файла в байтах}
FindClose(InfoFile);
end;
Hollander вне форума Ответить с цитированием
Старый 06.05.2007, 10:58   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

господи ))) а нельзя просто его открыть хоть через tfilestream или на чистом паскале assignfile ?
BOBAH13 вне форума Ответить с цитированием
Старый 06.05.2007, 11:14   #4
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Цитата:
господи ))) а нельзя просто его открыть хоть через tfilestream или на чистом паскале assignfile ?
Мне тоже этот метод какжется избыточным.... вот аналог приведённой выше функции!
Код:
Function GetFileSize(FileName: string): Integer;
VAR
  F : File;
Begin
AssignFile(F,FileName);
Result:=FileSize(F);
CloseFile(F);
End;
execom вне форума Ответить с цитированием
Старый 06.05.2007, 17:22   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

если размер больше, чем 4 ГБ то так
чистый API

Код:
function Get_File_Size(FName:string):int64;
var
  fl:THandle;
  size_low,size_high:DWORD;
begin
  fl:=CreateFile(pchar(put),0,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);
  if fl=INVALID_HANDLE_VALUE then
    begin
     Result:=0;
     Exit;
    end;
  size_low:=GetFileSize(fl,@size_high);
  CloseHandle(fl);
  Result:=size_high;
  Result:=Result shl 32;
  Result:=Result+size_low;
end;
данная функция может измерить размер файлов любого размера
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уменьшить размер .ехе файла? D7 dx+ Общие вопросы Delphi 28 16.03.2012 20:38
Как узнать размер файла? photozaz Общие вопросы Delphi 4 01.08.2008 00:29
Размер файла eoln Общие вопросы Delphi 2 13.07.2008 01:44
Как ограничить размер файла geronime PHP 8 20.02.2008 14:26