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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2009, 23:35   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Как загрузить файл из интернета

Господа, подскажите как реализовать такую идею, допустим я знаю что по адресу http://myhost.ru/download/files/ лежит файл MyFile.file, как мне по нажатию на кнопку загрузить к себе в указанную директорию?
tarakan1983 вне форума Ответить с цитированием
Старый 24.03.2009, 00:35   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а в чем собственно проблема?
GETом получай файл и все
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.03.2009, 00:41   #3
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а в чем собственно проблема?
GETом получай файл и все
Сделал так
Код:
uses 
  URLMon, ShellApi; 

function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
  try 
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; 
  except 
    Result := False; 
  end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
const 
  // URL Location 
  SourceFile = 'http://www.google.com/intl/de/images/home_title.gif'; 
  // Where to save the file 
  DestFile = 'c:\temp\google-image.gif'; 
begin 
  if DownloadFile(SourceFile, DestFile) then 
  begin 
    ShowMessage('Download succesful!'); 
    // Show downloaded image in your browser 
    ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), 
      PChar(''), nil, SW_NORMAL) 
  end 
  else 
    ShowMessage('Error while downloading ' + SourceFile) 
end;
tarakan1983 вне форума Ответить с цитированием
Старый 24.03.2009, 01:30   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может через Инди...лучше?
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var F:TFileStream;
begin
 F:=TFileStream.Create('c:\temp\google-image.gif', fmCreate);
 idHTTP1.Get('http://www.google.com/intl/de/images/home_title.gif',f);
 F.Free;
end;

end.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.03.2009, 01:40   #5
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Спасибо так проще!
tarakan1983 вне форума Ответить с цитированием
Старый 24.03.2009, 02:30   #6
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
Сообщение от tarakan1983 Посмотреть сообщение
Спасибо так проще!
Он загружается, но почему то у него размер нулевой и не открывается
tarakan1983 вне форума Ответить с цитированием
Старый 24.03.2009, 02:53   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

tarakan1983, сначала положите в сеть что нибудь, потом скачайте.

Код:
idhttp1.get(адрес в сети);
- вполне достаточно
Alar вне форума Ответить с цитированием
Старый 24.03.2009, 02:58   #8
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
tarakan1983, сначала положите в сеть что нибудь, потом скачайте.
Вы хотите сказать, что я качаю файл которого нет в сети?
Почему же тогда функцией приведенной мной выше качается нормально?
tarakan1983 вне форума Ответить с цитированием
Старый 24.03.2009, 02:59   #9
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Я пока ещё не знаю компонента idHTTP1 (а без него никак нельзя?), но всё работает...

Вы компонент-то на форму добавили..?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 24.03.2009, 03:02   #10
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Я пока ещё не знаю компонента idHTTP1 (а без него никак нельзя?), но всё работает...

Вы компонент-то на форму добавили..?
Естественно, еслиб не добавил, проект не компилился бы

Прошу прщение, просто пропадала связь с инетом. Надо добавить проверку связи с интернетом.

Последний раз редактировалось tarakan1983; 24.03.2009 в 03:10.
tarakan1983 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить png файл MAcK Мультимедиа в Delphi 1 22.12.2008 22:23
Как загрузить файл в FileList SeRhy Общие вопросы Delphi 9 19.10.2008 14:24
Как загрузить файл на сервер? fclmhooligan PHP 3 16.05.2008 21:45
из интернета картинку в имедж загрузить? Лёка Работа с сетью в Delphi 4 13.01.2008 14:35
Как загрузить текстовый файл в Delphi? aidyn Помощь студентам 7 30.05.2007 20:56