GARANTIR DESCONTO

Fórum Como baixar arquivos da Internet com Delphi ???? #183958

24/09/2003

0

Bom dia amigos... :oops:

Bem, estou desenvolvendo um sistema onde eu preciso via delphi baixar um arquivo com extensao : *.TXT que se encontra em um provedor de hospedagem e gostaria de saber se alguem poderia me ajudar ou até mesmo se alguem tiver um exemplo basico somente para que eu possa concluir este módulo.

Eu estou tentando com os componentes INDY mas ainda não obtive sucesso...

Neste caso eu terei um botao que ao dispara-lo ele por traz da aplicação vai buscar este TXT na internet e copia-lo para uma pasta parametrizada.

Se alguem puder me ajudar com algum material ficarei muito agradecido.

Obrigado,

Everson


Everson

Everson

Responder

Post mais votado

24/09/2003

implementation

{$R *.dfm}

uses WinInet; //-->>> IMPORTANTE

function DownloadArquivo(const Origem, Destino: String): Boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
 Result   := False;
 sAppName := ExtractFileName(Application.ExeName);
 hSession := InternetOpen(PChar(sAppName),
                INTERNET_OPEN_TYPE_PRECONFIG,
               nil, nil, 0);
 try
  hURL := InternetOpenURL(hSession,
            PChar(Origem),
            nil,0,0,0);
  try
   AssignFile(f, Destino);
   Rewrite(f,1);
   repeat
    InternetReadFile(hURL, @Buffer,
                     SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen)
   until BufferLen = 0;
   CloseFile(f);
   Result:=True;
  finally
   InternetCloseHandle(hURL)
  end
 finally
  InternetCloseHandle(hSession)
 end
end;

procedure TForm1.Button1Click(Sender: TObject);
var Origem, Destino: string;
begin
 Origem  := ´http://www.salesiano.com.br/egama/3OF9.TTF´;
 Destino := ´e:\tmp\3OF9.TTF´;

 if DownloadArquivo(Origem, Destino) then
    ShowMessage(´Download OK´)
 else
    ShowMessage(´Erro no download´)
end;



E_gama

E_gama
Responder

Gostei + 1

Mais Posts

24/09/2003

Mandachuva

//Baixa um arquivo via HTTP

procedure TForm1.Button1Click(Sender: TObject);
var ARQ:TFIleStream;
NomeDoArq:STRING;
begin
NomeDoArq:=´C:\BAU\BancoOO.zip´;
try
ARQ:=TFILESTREAM.Create(NomeDoArq,fmCreate OR fmShareExclusive);
idHTTP1.Get(´http://www.clubedelphi.com.br/apostilas/´+EXTRACTFILENAME(NomeDoArq),ARQ);
finally
ARQ.Free;
end;
end;


Responder

Gostei + 1

24/09/2003

Adriano Santos

[b:8fc4ecb613]uses
UrlMon;[/b:8fc4ecb613]

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

Ex.:

if DownloadFile (´http://www.onde.com/arq.htm´,´c:\arq.htm´) then
ShowMessage(´Download Concluído.´);


Responder

Gostei + 1

04/11/2003

Analyst

[b:33f5b49870]uses UrlMon;[/b:33f5b49870] function DownloadFile(Source, Dest: string): Boolean; begin try Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0; except Result:= False; end; end; Ex.: if DownloadFile (´http://www.onde.com/arq.htm´,´c:\arq.htm´) then ShowMessage(´Download Concluído.´);


[b:33f5b49870][u:33f5b49870]Caro amigo eu fiz o que você sugeriu, mas tem algo estranho!!
Eu mudei o endereço da internet (origem), e não é que a funçào está retornando TRUE....ai eu deletei o arquivo do endereço de origem e ela voltou a retornar True...

O que poderia estar faltando, todas as dicas nesse forum estão assim

Me ajude galera[/u:33f5b49870][/b:33f5b49870]


Responder

Gostei + 1

06/09/2005

Dcpleal

porque esta fazendo isso?

AssignFile(f, Destino);
Rewrite(f,1);


esta dando erro de ´I/O Error 32´

sabe me dizer porque?


Responder

Gostei + 0

06/09/2005

Martins

[quote:0f7174f709=´Skyhawk´][b:0f7174f709]uses UrlMon;[/b:0f7174f709] function DownloadFile(Source, Dest: string): Boolean; begin try Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0; except Result:= False; end; end; Ex.: if DownloadFile (´http://www.onde.com/arq.htm´,´c:\arq.htm´) then ShowMessage(´Download Concluído.´);


[b:0f7174f709][u:0f7174f709]Caro amigo eu fiz o que você sugeriu, mas tem algo estranho!!
Eu mudei o endereço da internet (origem), e não é que a funçào está retornando TRUE....ai eu deletei o arquivo do endereço de origem e ela voltou a retornar True...

O que poderia estar faltando, todas as dicas nesse forum estão assim

Me ajude galera[/u:0f7174f709][/b:0f7174f709][/quote:0f7174f709]

por favor reveja seu código, pode ter algum erro nele, ou então veja o link abaixo:

[url]http://forum.clubedelphi.net/viewtopic.php?t=66880[/url]


Boa Sorte!!!!


Responder

Gostei + 0

06/09/2005

G1b4

Use o componente TIdHttp:
procedure TForm1.Button1Click(Sender: TObject);
var
  vArquivo: TFileStream;
begin
  vArquivo := TFileStream.Create(´c:\arquivo.txt´,fmCreate);
  Try
     Try
       idHTTP1.Get(´http://www.site.com.br/arquivo.txt´,vArquivo);
     Except
       ShowMessage(´Não foi possivel baixar o arquivo !´);
     End;
  Finally
     FreeAndNil(vArquivo);
  End;
end;


Veja se assim funciona...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar