Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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; result := true;
end;
end.[/font]Alguém pode me dar uma ajudar?Valeu.
Olá, gente.
Consegui. Segue o código do OnClick do botão:
Obs: Utilizei o PNGComponent para importar uma imagem PNG.
var
begin
if (estaConectado) then // função que verifica se há conexão com a internet.
begin
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