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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2011, 05:13   #1
Excellion
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 26
По умолчанию сравнение размера файла в интернете с размером файла на компьютере

Доброго времени суток!
Ребят выручайте...
Знаю что просьбо ужасная, но плиз помогите...

Нужно сравнить размера файла в интернете (ну на сайте : допустим Http://мой сайт.ру/1.txt) с размером файла на компьютере ( допустим d:\1.txt )
если размеры разные то
ShowMessage('разные файлы');
Excellion вне форума Ответить с цитированием
Старый 09.01.2011, 12:21   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Ну и в чем проблема? Подключаетесь к сайту, берёте размер файла на сайте, потом подключаетесь к файлу на компе и берёте его размер, ну а потом уже и сравниваете.
FaTaL вне форума Ответить с цитированием
Старый 09.01.2011, 12:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А нужно именно через HTTP?
Просто можно через FTP функцией FtpFindFirstFile получить информацию о файле.
А как используя HTTP я тоже не в курсе, самому интересно бы узнать (правда я и не интересовался особо)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2011, 12:55   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Вот так например:
Код:
// Функция возврата размера
function GetSizeUrl (URL : String; TypeOfSize : integer) : string;
var
  HTTP     : TidHTTP;
  Razmer   : int64;
begin
 HTTP := TIdHTTP.Create(nil);
 HTTP.Head(URL);
 Razmer := HTTP.Response.ContentLength; //размер файла
 HTTP.Free;
 case TypeOfSize of
  0 : Result := IntToStr (Razmer); //Байты
  1 : Result := IntToStr (Round (Razmer / 1024)); //Килобайты
  2 : Result := IntToStr (Round (Razmer / 1024 / 1024)); //МегаБайты
 end;
end;
FaTaL вне форума Ответить с цитированием
Старый 09.01.2011, 13:11   #5
Excellion
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 26
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Ну и в чем проблема? Подключаетесь к сайту, берёте размер файла на сайте, потом подключаетесь к файлу на компе и берёте его размер, ну а потом уже и сравниваете.
еслибы проблем небыло, я бы не написал сюда
Excellion вне форума Ответить с цитированием
Старый 09.01.2011, 13:24   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от Excellion Посмотреть сообщение
еслибы проблем небыло, я бы не написал сюда
Ну и какая же у Вас проблема то? Напишите!
FaTaL вне форума Ответить с цитированием
Старый 09.01.2011, 14:34   #7
Excellion
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 26
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Вот так например:
Код:
// Функция возврата размера
function GetSizeUrl (URL : String; TypeOfSize : integer) : string;
var
  HTTP     : TidHTTP;
  Razmer   : int64;
begin
 HTTP := TIdHTTP.Create(nil);
 HTTP.Head(URL);
 Razmer := HTTP.Response.ContentLength; //размер файла
 HTTP.Free;
 case TypeOfSize of
  0 : Result := IntToStr (Razmer); //Байты
  1 : Result := IntToStr (Round (Razmer / 1024)); //Килобайты
  2 : Result := IntToStr (Round (Razmer / 1024 / 1024)); //МегаБайты
 end;
end;
это я получил размер файла на сайте! (спасибо за код)

а как получить размер файла на компе ?
Excellion вне форума Ответить с цитированием
Старый 09.01.2011, 15:15   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
f:File;sz:cardinal;
...
assignfile(f,'файл');reset(f);sz:=FileSize(f);CloseFile(f);
и в sz будет размер.
Либо же через FindFirst - Она тоже даст размер файла, но без открытия (если не ошибаюсь)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2011, 15:17   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
FileSizeByName(<имя файла>)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.01.2011, 15:33   #10
Excellion
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
f:File;sz:cardinal;
...
assignfile(f,'файл');reset(f);sz:=FileSize(f);CloseFile(f);
и в sz будет размер.
Либо же через FindFirst - Она тоже даст размер файла, но без открытия (если не ошибаюсь)


ff:File;
sz:cardinal;

assignfile(ff,'GameGuard\gGuard.des ');
reset(ff);
sz:=FileSize(ff);
CloseFile(ff);
ShowMessage('Ðàçìåð :' + IntToStr(sz));

фалй размер 806 кб
а в сообщении он мне выводит 6452 <- что это ?
Excellion вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличение размера exe файла TrapQ Общие вопросы Delphi 6 27.11.2010 00:28
Неверное определение размера файла? _SERGEYX_ Свободное общение 2 17.11.2010 13:28
определение размера PE файла wmzvov Win Api 2 16.11.2010 13:57
Изменение размера файла в С++ Vladya Помощь студентам 0 08.12.2009 18:21
Получение размера файла Johnson Общие вопросы Delphi 3 27.10.2008 22:19