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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2007, 00:26   #11
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
А как вот такой вариант:
Вложение 424
простой код, это было до indy ? и fastnet ?

Код:
NADO:= TRUE; //Надо качать...
//Открыли сессию
hSession:= InternetOpen('X-Kachalka',PRE_CONFIG_INTERNET_ACCESS,nil,nil,0);
//И наш УРЛ
hURL := InternetOpenURL(hSession,PChar(Edit1.Text),nil,0,0,0);
//Сколько там наш файл весит?
InternetQueryDataAvailable(hURL, SumSize,0,0);
label4.Caption:= IntToStr (SumSize); //Сообщим об этом
if ResumePos>0 then //Если докачиваем,
 begin
 InternetSetFilePointer(hURL,ResumePos,nil,0,0); //То сместимся
 end;

REPEAT //Качаем
 err:= InternetReadFile(hURL, @Buffer,SizeOf(Buffer),BufferLen); //Читаем буфер
 IF err= false then //Ошибка чтения
  begin
  ShowMessage ('Произошел облом :('); //Сообщим и выходим
  exit;
  end;
 BlockWrite(f, Buffer, BufferLen); //Пишем в файл
 Application.Processmessages;
UNTIL (BufferLen= 0) Or (NADO= FALSE); //Качаем, пока не все или надо
ShowMessage ('Успешно загружено!');
Alar вне форума Ответить с цитированием
Старый 21.03.2007, 00:43   #12
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Если использовать Indy то коротко описывая:
используем тот же метод get
Объект idhttp создаем в потоке, execute примерно такой:

var
Response: TFileStream;
IdHTTP1:tidhttp;
begin
try
Response := TFileStream.Create('файл куда пишем', fmCreate);
try
IdHTTP1.Request.Referer := 'любой';
IdHTTP1.Get('адрес файла', Response);
finally
IdHTTP1.Free;
Response.Free;
end;
except
end;
end;

дальше можно развивать с синхронизацией во время работы, но тогда надо определять события beginwork и work
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД Access & ADO Delphi (клиент-сервер) Andre1723 БД в Delphi 14 05.05.2011 15:13
Delphi клиент + БД (MySQL) в инете serg68 БД в Delphi 0 20.02.2008 00:12
посчитать какая доставка для клинта 10-я? Delphi (Клиент-Сервер) Vindigo Помощь студентам 6 27.01.2008 15:28
Создать клиент и сервер. Delphi SPQR Работа с сетью в Delphi 4 12.11.2007 12:48