Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 16-06-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A bote pronto se me ocurre algo como lo siguiente, basado en código fuente del maestro Seoane.

Código Delphi [-]
uses
  SysUtils, Dialogs, WinInet;

function DownloadToStream(Url: string; Stream: TStream): Boolean;
var
  hNet: HINTERNET;
  hUrl: HINTERNET;
  Buffer: PChar;
  BytesRead: DWORD;
begin
  Result := FALSE;
  hNet := InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if (hNet <> nil) then
  begin
    hUrl := InternetOpenUrl(hNet, PChar(Url), nil, 0,
      INTERNET_FLAG_RELOAD, 0);
    if (hUrl <> nil) then
    begin
      GetMem(Buffer,100*1024);
      try
        while (InternetReadFile(hUrl, Buffer, 100*1024, BytesRead)) do
        begin
          if (BytesRead = 0) then
          begin
            Result := TRUE;
            break;
          end;
          Stream.WriteBuffer(Buffer^,BytesRead);
        end;
      finally
        FreeMem(Buffer);
      end;
      InternetCloseHandle(hUrl);
    end;
    InternetCloseHandle(hNet);
  end;
end;

function DownloadImage(actionParam, codeParam, outputDir: string): boolean;
const
  IMG_EXT = '.jpg';
  BASE_URL = 'http://www.infortisa.com/spa/item/extractimg.cgi?action=%s&code=%s';
var
  fStream: TFileStream;
  imgUrl, imgPath: string;
begin
  imgUrl := Format(BASE_URL, [actionParam, codeParam]);
  imgPath := ExtractFilePath(outputDir) + codeParam + IMG_EXT;
  fStream := TFileStream.Create(imgPath, fmCreate);
  try
    result := DownloadToStream(imgUrl, fStream);
  finally
    fStream.Free();
  end;
end;

(* Ejemplo de uso
*)
procedure TForm1.Button1Click(Sender: TObject);
begin
  if DownloadImage('large', '420031', 'C:\') then
    ShowMessage('Imagen descargada')
  else
    ShowMessage('No pudo descargarse la imagen');
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Desde dónde puedo descargar la Jedi Library Gbyte Gráficos 13 28-04-2015 07:11:33
Descargar fichero 25 Mb desde internet fmatias Internet 4 06-07-2007 17:43:59
descargar archivo desde php gulder PHP 2 07-06-2007 08:28:26
Descargar imágenes de internet via http. alfredosg19 Internet 2 08-04-2005 13:02:27
Descargar y ejecutar aplicacion desde el navegador coulthard Linux 0 23-12-2004 18:40:08


La franja horaria es GMT +2. Ahora son las 11:52:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi