Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Imagenes desde una pagina web (https://www.clubdelphi.com/foros/showthread.php?t=42362)

giropau 12-04-2007 14:38:08

Imagenes desde una pagina web
 
Hola. Les explico lo que quiero hacer. Tengo que mostrar imagenes que estan en una pagina web. Estas imagenes las quiero poner en un TImage. ¿Se peude descargar la imagen, gaurdarla en una variable i despues mostrarla sin hacer servir un TWebBrowser?

seoane 12-04-2007 14:45:41

Aquí tienes como hacerlo en delphi, supongo que no te costara mucho traducirlo.
http://www.clubdelphi.com/foros/showthread.php?t=30918

dec 12-04-2007 14:50:44

Hola,

Claro que se puede. En estos mismos Foros encuentras información sobre cómo hacerlo utilizando el API WinInet de Windows. Más sobre WinInet (con C++) en WinInet y HTTP de la Web de JM. También podrías utilizar los componentes Indy, supongo, y más concretamente con el componente IdHTTP de los Indy.

Neftali [Germán.Estévez] 12-04-2007 14:50:50

Yo he realizado una pequeña prueba para despejar la duda de si se podría descargar la imagen sin problemas con UrlDownloadToFile de UrlMon y funciona perfectamente.
Crea una aplicación con un TEdit (url de la imagen) un botón (para el código) y un TImage para la imagen y copia el código siguiente:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


const
  PICNAME = 'logoClub.jpg';

var
  Form1: TForm1;

implementation

{$R *.dfm}


uses
  UrlMon, jpeg, StrUtils;

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


procedure TForm1.Button1Click(Sender: TObject);
var
  b:Boolean;
  path:String;
begin
  path := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName));
  b := DownloadFile(Edit1.Text, path + PICNAME);

  if (b) then begin
    Image1.Picture.LoadFromFile(path + PICNAME);
  end;

  // Eliminar
  DeleteFile(path + PICNAME);
end;

end.

Coloca: "http://www.clubdelphi.com/images/clubdelphi.jpg" en el edit y pulsa el botón. :eek:

giropau 12-04-2007 15:09:37

Gracias por los consejos. La verdad es que de codigo delphi no tengo ni idea, nunca lo habia visto. Intenatre hacer un esfuerzo para poder traducirlo a borland.

seoane 12-04-2007 15:09:58

Ya puestos ...
http://www.clubdelphi.com/foros/show...80&postcount=4

seoane 12-04-2007 15:14:12

Cita:

Empezado por giropau
Intenatre hacer un esfuerzo para poder traducirlo a borland

;) Delphi también es de borland, de hecho, son muy parecidos en cuanto los componentes que se usan.

PD: Si utilizas wininet acuerdate de agregar la librería wininet.lib

dec 12-04-2007 15:16:05

Hola,

Cita:

Gracias por los consejos. La verdad es que de codigo delphi no tengo ni idea, nunca lo habia visto. Intenatre hacer un esfuerzo para poder traducirlo a borland.
Si te decides por usar WinInet revisa la página que enlazo más arriba: WinInet y HTTP en la Web de JM. Ahí se trata de C++ Builder.

giropau 12-04-2007 15:17:26

Ui perdon hay una cosita que me olvide de comentarles que puede que genere algun problemilla. La pagina de donde quiero coger la imagenes tiene contraseña. aunque ponga la dirección de la imagen el el navegador pues me sale una ventanita donde me pide el usuario y la contraseña. No se si esto afetca a las ideas que me habeis dado.

seoane 12-04-2007 15:22:45

Revisa este hilo, en el se habla de como interactuar con una pagina web.

http://www.clubdelphi.com/foros/showthread.php?t=37050

:( Aunque esta en delphi


La franja horaria es GMT +2. Ahora son las 01:33:45.

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