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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 13:08   #1
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию менеджер закачек Delphi

Здравствуйте у меня тема курсовой работы по системному программирования менеджер закачек. В курсовой работе запрещенно использовать готовые компоненты delphi. Не могли бы вы мне подсказать как реализовать без компонентов(например winapi) функции закачки,докачки,паузы,многопоточной закачки??
Horus92 вне форума Ответить с цитированием
Старый 16.05.2010, 21:21   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Всё легко и просто
Код:
uses urlmon, wininet
...
//-------------------- Функция загрузки файла --------------------------------//
// SourceFile - источник, DestFile - назначение
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;
//----------------------------------------------------------------------------//
Виталий Желтяков вне форума Ответить с цитированием
Старый 18.05.2010, 08:09   #3
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию

А можно ли с помощью этих библиотек, которые вы написали реализовать паузу при скачивании,докачку,многопоточность?
Horus92 вне форума Ответить с цитированием
Старый 18.05.2010, 21:04   #4
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию

Такой вариант мне не подходит не могли бы вы мне помочь с этим кодом _http://programmersforum.ru/showthread.php?t=96853
это то что мне надо но автор пока не отвечает.
Итак у меня пару вопросов
1.Что записывать в
Цитата:
sockAddr.sin_addr.S_addr
а то функция Resolve которая записана в коде не существует.
2.Где записывать адрес файла который нужно получить?
3.Как мне изменять запрос
Цитата:
GET /111.jpg HTTP/1.1'#13#10 +
'Host: ismily.ru'#13#10+
'User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1'#13#10+
'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'#13#10+
'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13#10+
'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'#13#10+
'Accept-Encoding: deflate, identity, *;q=0'#13#10+
'Connection: Close, TE'#13#10+
'TE: deflate, chunked, identity, trailers'#13#10#13#10
Horus92 вне форума Ответить с цитированием
Старый 19.05.2010, 08:14   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

В Delphi это можно реализовать.
Цитата:
паузу при скачивании,докачку
Сохраняете полученные данные из потока в фаил и "рубите" поток - это пауза. Затем снова создаете соедиение на скачку и подключаете поток - это Вам докачка.
Цитата:
многопоточность
Есть специальные библиотеки для работы с многопоточностью.
У Меня готового кода нет, так что разбирайтесь сами.
Виталий Желтяков вне форума Ответить с цитированием
Старый 19.05.2010, 08:22   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Есть специальные библиотеки для работы с многопоточностью.
а зачем именно их то? простого АПИ никак?

ТС, вам придется немного HTTP протокол посмотреть(первое чтоб узнавать можно ли докачивать, и затем чтоб запрашивать нужную часть файла)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.05.2010, 17:52   #7
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию

Не могли бы вы мне сказать вот этот _http://programmersforum.ru/showthread.php?t=96853 код рабочий а то я ставил его вписывал свой addr и у меня на проверке он равняется invalid_socket мне просто узнать этот код работоспособный или нет а та я попытаюсь разобраться
Horus92 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файловый менеджер Яр|/||< (^_^) Общие вопросы Delphi 4 16.10.2011 00:55
Utorrent статус закачек bondik Свободное общение 2 23.02.2010 02:36
Менеджер памяти Delphi Scabby Помощь студентам 2 05.04.2009 18:53
файловый менеджер greyshadow Общие вопросы Delphi 3 16.09.2007 19:23