Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 519

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
пишу программу для самообновления программы столкнулся с проблемкой, ex-e файлы почему то не скачивает, то есть якобы скачал но из 2мб получается 17кб. winrar-ские файлы скачивает

вот код:

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. function ExtractUrlFileName(url: string): string;
  2. var
  3. A: LongInt;
  4. begin
  5.  
  6. result := '';
  7. A := LastDelimiter('/', url);
  8. if (A > 0) and (url[A] = '/') then
  9. result := Copy(url, A + 1, Length(url) - A);
  10. end;
  11.  
  12. function GetInetFileSize(const FileUrl: string): integer;
  13. var
  14. IdHTTP: TIdHTTP;
  15. begin
  16.  
  17. IdHTTP := TIdHTTP.Create(nil);
  18. try
  19.  
  20.  
  21.  
  22. except
  23. IdHTTP.Free;
  24. end;
  25. end;
  26.  
  27. procedure TDownload.Execute;
  28. const
  29. BufferSize = 1024;
  30. var
  31. stream: TMemoryStream;
  32. FName: String;
  33. http: TIdHTTP;
  34. begin
  35. FName := 'C:\' + ExtractUrlFileName(Form13.ed.Text);
  36. http := TIdHTTP.Create(nil);
  37. http.OnWork := OnWork;
  38. http.OnWorkBegin := OnWorkBegin;
  39. http.OnWorkEnd := OnWorkEnd;
  40. stream := TMemoryStream.Create;
  41.  
  42. if size > 0 then
  43. try
  44.  
  45.  
  46.  
  47.  
  48.  
  49. except
  50.  
  51.  
  52. end
  53. else
  54.  
  55. end;
  56.  
  57. procedure TDownload.OnWork(ASender: TObject; AWorkMode: TWorkMode;
  58. AWorkCount: Int64);
  59. begin
  60.  
  61.  
  62. (RoundTo(AWorkCount / (1024 * 1024), -2)) + ' MB.';
  63. end;
  64.  
  65. procedure TDownload.OnWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  66. AWorkCountMax: Int64);
  67. begin
  68.  
  69.  
  70. end;
  71.  
  72. procedure TDownload.OnWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
  73. begin
  74.  
  75.  
  76. end;
  77.  
  78. procedure TForm13.btClick(Sender: TObject);
  79. begin
  80. TDownload.Create(false);
  81. end;


casio Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: casio (статус: Посетитель)
Вопрос отправлен: 9 марта 2014, 12:53
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 26; последнее сообщение — 9 марта 2014, 18:08; участников в обсуждении: 2.

Страницы: [1] [2] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 13:04 [#1]:

Ну, для начала, нужно полностью смоделировать ситуёвину. RAR-архив твой я скачал (браузером). download.rar ~739.5 кб (MD5 = 1E14A5713902005746055D49803F4FC6), внутри него exe-файл download.exe ~2.5 Мб (MD5 = 01D449355196078C2A1590FEF082CCC0).
Теперь выложи на файлопомойку чистый exe и дай ссылку.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 13:47 [#2]:

min@y™ всмысле чистый ехе?
casio

casio (статус: Посетитель), 9 марта 2014, 13:49 [#3]:

http://us.ua/1365705/
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 13:56 [#4]:

Цитата (casio):

всмысле чистый ехе?

Незапакованный exe-файл download.exe ~2.5 Мб (MD5 = 01D449355196078C2A1590FEF082CCC0).
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 14:02 [#5]:

скинул
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 14:06 [#6]:

Цитата (casio):

скинул

Куда? Ссылка где, ёмаё?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 14:14 [#7]:

min@y™: http://us.ua/1365705/
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 14:24 [#8]:

Цитата (casio):

http://us.ua/1365705/

Ты издеваешься? Это ж исходник.


Я ж просил:

Цитата (min@y™):

Незапакованный exe-файл download.exe ~2.5 Мб (MD5 = 01D449355196078C2A1590FEF082CCC0).
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 14:49 [#9]:

min@y™: сори не ту ссылку скопировал, вот http://us.ua/1365736/
casio

casio (статус: Посетитель), 9 марта 2014, 15:12 [#10]:

min@y™: проверил только что на вот этом http://filezilla.ru/download/FileZilla_3.7.4.1_win32-setup.exe

все скачивает, интересно почему не скачивает с файлообенника,и еще интересно загрузил на сайт ucoz через файловый менеджер этот e-шник тоже самая ошибка, нет файла! когда копирую ссылку в браузер выдает сообщение

http://pixs.ru/showimage/ucjpg_6675048_11166049.jpg

rar-файл скачивает нормально
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 15:14 [#11]:

Скачал, посмотрел.
Ну, во-первых, файл в архиве и не запакованный exe отличаются по размеру.
Во-вторых, вот:



Это, блин, чо за порнография, я не понял? Для начала давай-ка вычисти весь триппер со своего компа, а потом посмотрим.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 15:19 [#12]:

Цитата (casio):

все скачивает, интересно почему не скачивает с файлообенника,и еще интересно загрузил на сайт ucoz через файловый менеджер этот e-шник тоже самая ошибка, нет файла! когда копирую ссылку в браузер выдает сообщение

http://pixs.ru/showimage/ucjpg_6675048_11166049.jpg

rar-файл скачивает нормально


Это происки бандеровцев с Майдана! Инфа 146%! :-D Юлю и Клiчко - ГЕТЬ!!! И верни мне мой КРЫМ!!!!!!111111 :) Меняй гривни на рубли!!!111

Скачай нормальный антивирус (очень рекомендую тот, которым пользуюсь я - доволен им, как сытый кот) и проверь все свои носители. У тебя в компе триппер, 100 пудов.

Это Янукович, сцуко, виноват во всём!!! Всем срочно САЛА!!!!1111
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 15:23 [#13]:

min@y™: может заливать в rar или zip а потом распаковывать?
casio

casio (статус: Посетитель), 9 марта 2014, 15:25 [#14]:

min@y™: у меня нет вирусов и никогда небыло!!! ОС Win8.1 антивирус Nod smart security 7
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 15:38 [#15]:

Цитата (casio):

может заливать в rar или zip а потом распаковывать?

А я, чо, против? Твоя прога-то. Да хоть 7z используй, он бесплатный и с исходниками.

Цитата (casio):

у меня нет вирусов и никогда небыло!!! ОС Win8.1 антивирус Nod smart security 7

Бесплатный совет: скачай, хотя бы, вот это, перезагрузись в защищённом режиме по F8 и проверь.

Цитата (casio):

антивирус Nod smart security 7

Ты за него денег заплатил? Он каждый день обновляется, я надеюсь?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 16:04 [#16]:

min@y™: проверяю раз месяц, в начале месяце если быть точнее, именно cureit-om но еще и онлайн проверку с офф.сайта нода! обновляется конечно, это хороший антивирус! я в нем уверен! ну как говорится доверяй но проверяй)
casio

casio (статус: Посетитель), 9 марта 2014, 16:07 [#17]:

min@y™: спасибо за беседу) с распаковкой разобрался) а как теперь при обновлении программы основную закрыть заменить файл а потом открыть уже обновленную, а архив удалить
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 16:08 [#18]:

Цитата (casio):

проверяю раз месяц

А чо так часто?! Раз в год надо! :)

Цитата (casio):

это хороший антивирус

А мне не нравится. Мне вообще платные программы не нравятся.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
casio

casio (статус: Посетитель), 9 марта 2014, 16:13 [#19]:

min@y™: не ну на вкус и цвет товарища нет :-) ключик до 15 года надыбал и все четенько!
min@y™

min@y™ (статус: Доктор наук), 9 марта 2014, 16:16 [#20]:

Цитата (casio):

а как теперь при обновлении программы основную закрыть заменить файл а потом открыть уже обновленную, а архив удалить

Вообще, я бы сделал для закачки обновлений отдельную программу-updater, запускал бы этот updater в фоне, а он:

  1. лезет в инет,
  2. проверяет текущую версию проги,
  3. если есть обновление - скачивает его В ПАМЯТЬ и проверяет по контрольной сумме или ещё как-нибудь,
  4. если скачалось без ошибок - закрывает основную прогу (отсылает ей команду/сообщение на закрытие),
  5. распаковывает из памяти свежие файлы поверх старых,
  6. запускает основную прогу и выгружается, если надо.

Как тебе такой алгоритм?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 февраля 2018, 06:26
Выполнено за 0.03 сек.
Рейтинг@Mail.ru