AllNet Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 olá pessoal, como eu faço para fazer download e salvar no computador tudo ao mesmo tempo,ou seja, sem abrir aquela janela para salvar o arquivo. salvar o arquivo em um local onde será definido no delphi mesmo. Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 Alguns exemplos:uses ExtActns, ... type TfrMain = class(TForm) ... private procedure URL_OnDownloadProgress (Sender: TDownLoadURL; Progress, ProgressMax: Cardinal; StatusCode: TURLDownloadStatus; StatusText: String; var Cancel: Boolean); ... implementation ... procedure TfrMain.URL_OnDownloadProgress; begin ProgressBar1.Max:= ProgressMax; ProgressBar1.Position:= Progress; end; function DoDownload; begin with TDownloadURL.Create(self) do try URL:='http://z.about.com/6/g/delphi/b/index.xml'; FileName := 'c:\ADPHealines.xml'; OnDownloadProgress := URL_OnDownloadProgress; ExecuteTarget(nil); finally Free; end; end; { Note: URL property points to Internet FileName is the local file } Outro exemplo: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATHTTPLib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; success: Integer; begin http := TChilkatHttp.Create(Self); // Any string unlocks the component for the 1st 30-days. success := http.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(http.LastErrorText); Exit; end; // Download the Python language install. // Note: This URL may have changed since this example was created. success := http.Download('http://www.python.org/ftp/python/2.5/python-2.5.msi','python-2.5.msi'); if (success <> 1) then begin ShowMessage(http.LastErrorText); end else begin ShowMessage('Python Download Complete!'); end; end; outro exemplo: Download Internet File uses WinInet; function GetInetFile (const fileURL, FileName: 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(fileURL), nil, 0, 0, 0); try AssignFile(f, FileName); 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; Para usar a função procedure TForm1.FormCreate(Sender: TObject); begin var internetFile, localFileName: string; begin internetFile := 'http://z.about.com/6/g/delphi/b/index.xml'; localFileName := 'About Delphi Programming RSS Feed.xml'; if GetInetFile(internetFile, localFileName) then ShowMessage('Download successful.') else ShowMessage('Error in file download.'); end; outro exemplo: function DownloadFile(Source, Dest: string): Boolean; begin try Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0; except Result:= False; end; end; Para usar esta function é preciso declarar Urlmon na seção uses da unit. Depois basta fazer uma chamada padrão: procedure TForm1.FormCreate(Sender: TObject); begin if DownloadFile ('http://www.onde.com/arq.htm','c:\arq.htm') then ShowMessage('Download Concluído.'); end; outro exemplo: uses ExtActns, ... type TfrMain = class(TForm) ... private procedure URL_OnDownloadProgress(Sender: TDownLoadURL; Progress, ProgressMax: Cardinal; StatusCode: TURLDownloadStatus; StatusText: string; var Cancel: Boolean); ... implementation ... procedure TfrMain.URL_OnDownloadProgress; begin ProgressBar1.Max := ProgressMax; ProgressBar1.Position := Progress; end; function DoDownload; begin with TDownloadURL.Create(self) do try URL := 'http://sua url.com.br'; FileName := 'local e o nome que quer salvar'; OnDownloadProgress := URL_OnDownloadProgress; ExecuteTarget(nil); finally Free; end; end; outro exemplo: procedure TForm1.Button1Click(Sender: TObject); var savedlg: TSaveDialog; begin savedlg := TSaveDialog.Create(Self); if savedlg.Execute then if DownloadFile(Edit1.Text, savedlg.FileName) then MessageBox(Application.Handle, 'Download efetuado com sucesso', 'Informação', MB_ICONINFORMATION) else MessageBox(Application.Handle, 'Download falhou', 'Informação', MB_ICONEXCLAMATION); end; function TForm1.DownloadFile(Source, Dest: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0; except Result := False; end; end; outro exemplo: Use o componente NMHTTP da palheta de Internet do Delphi. Coloque o nome com o qual ele vai ser gravado na propriedade Body, Coloque InputFileMode := True, e use NMHTTP1.Get(’http://sitedesejato/pasta/arquivo.extensao’); outro exempo: 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;Outroshttp://singularsistemas.com.br/blog/2008/0...tp-com-synapse/abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AllNet Postado Janeiro 6, 2009 Autor Denunciar Share Postado Janeiro 6, 2009 uses ExtActns, ... type TfrMain = class(TForm) ... private procedure URL_OnDownloadProgress (Sender: TDownLoadURL; Progress, ProgressMax: Cardinal; StatusCode: TURLDownloadStatus; StatusText: String; var Cancel: Boolean); ... implementation ... procedure TfrMain.URL_OnDownloadProgress; begin ProgressBar1.Max:= ProgressMax; ProgressBar1.Position:= Progress; end; function DoDownload; begin with TDownloadURL.Create(self) do try URL:='http://z.about.com/6/g/delphi/b/index.xml'; FileName := 'c:\ADPHealines.xml'; OnDownloadProgress := URL_OnDownloadProgress; ExecuteTarget(nil); finally Free; end; end; { Note: URL property points to Internet FileName is the local file }Obrigado Jhonas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
AllNet
olá pessoal, como eu faço para fazer download e salvar no computador tudo ao mesmo tempo,
ou seja, sem abrir aquela janela para salvar o arquivo. salvar o arquivo em um local onde será definido no delphi mesmo.
Obrigado.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.