Waldinho 0 Denunciar post Postado Junho 21, 2010 Olá, gente. Preciso carregar uma imagem ou arquivo flash (tipo "banner") de um endereço na web. Já tenho como verificar se o PC está conectado ou não. Só preciso que, em caso positivo, uma imagem seja carregada de um endereço na web. Valeu. Olá, gente. Consegui fazer parte. Mas está me retornando esta mensagem de erro. Bitmap image is not valid. O código está assim: [font="Courier New"]unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, FileCtrl, StdCtrls, CustomContain, ExtCtrls, xTaskPanel, ButtonOffice, TaskButton, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, pngimage, WinInet; const SELDIRHELP = 0; // or SELDIRHELP = 1000 type TForm1 = class(TForm) btn1: TButton; img1: TImage; Label1: TLabel; idhtp1: TIdHTTP; procedure btn1Click(Sender: TObject); function estaConectado: boolean; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); var strm:Tmemorystream; begin if (estaConectado) then begin strm:=Tmemorystream.Create; try idhtp1.Get('http://2.bp.blogspot.com/_esLJAARymfc/SRmn3RSVgPI/AAAAAAAAAMc/IBbF6yddfk4/s320/teste.bmp',strm); strm.Position := 0; try img1.Picture.bitmap.LoadFromStream(strm); except on E: Exception do ShowMessage('Não foi possível carregar a imagem. ' + #13 + E.ClassName + #13 + 'Erro: ' + E.Message); end; finally strm.Free; end; end else begin ShowMessage('Não está conectado.'); end; end; function TForm1.estaConectado: boolean; var flags : DWORD; begin // verifica se está conectado a internet usando a API do Windows, é preciso declarar a uses WinInet. if not InternetGetConnectedState(@flags, 0) then result := false else result := true; end; end.[/font]Alguém pode me dar uma ajudar?Valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Waldinho 0 Denunciar post Postado Junho 28, 2010 Olá, gente. Consegui. Segue o código do OnClick do botão: Obs: Utilizei o PNGComponent para importar uma imagem PNG. var strm:Tmemorystream; bmp:TPNGObject; begin if (estaConectado) then // função que verifica se há conexão com a internet. begin strm:= Tmemorystream.Create; bmp := TPNGObject.Create; try idhtp1.Get('http://upload.wikimedia.org/wikipedia/commons/archive/8/8a/20050801072301!Wikinews-logo.png',strm); strm.Position := 0; bmp.LoadFromStream(strm); try img1.Picture.Bitmap.Assign(bmp); except on E: Exception do begin ShowMessage('Não foi possível carregar a imagem. ' + #13 + E.ClassName + #13 + 'Erro: ' + E.Message); end; end; finally strm.Free; end; end else begin ShowMessage('Não está conectado.'); end; end; function TForm1.estaConectado: boolean; var flags : DWORD; begin // verifica se está conectado a internet usando a API do Windows. É preciso declarar a uses WinInet. if not InternetGetConnectedState(@flags, 0) then result := false else result := true; end; Compartilhar este post Link para o post Compartilhar em outros sites