Показать сообщение отдельно
  #2  
Старый 16.01.2011, 17:09
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

на форме TButton, TImage, TIdHTTP, TProgressBar. обработчик OnClick для кнопки. события TIdHTTP: OnWorkBegin, OnWork, OnWorkEnd.
Код:
unit Unit1;

interface

uses
  jpeg,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Image1: TImage;
    Button1: TButton;
    ProgressBar1: TProgressBar;
    procedure Button1Click(Sender: TObject);
    procedure IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCountMax: Integer);
    procedure IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  memorystream: TMemoryStream;
  jpeg: TJPEGImage;
begin
  memorystream:=TMemoryStream.Create;
  jpeg:=TJPEGImage.Create;
  try
    IdHTTP1.Get('http://www.ionitcom.ru/images/cam_static_pl_len.jpg', memorystream);
    memorystream.Position:=0;
    jpeg.LoadFromStream(memorystream);
    Image1.Picture.Assign(jpeg);
  finally
    jpeg.Free;
    memorystream.Free;
  end;
end;

procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  ProgressBar1.Position:=0;
  ProgressBar1.Max:=AWorkCountMax;
  ProgressBar1.Visible:=True;
  Application.ProcessMessages;
end;

procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar1.Position:=AWorkCount;
  Application.ProcessMessages;
end;

procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
  ProgressBar1.Visible:=False;
  Application.ProcessMessages;
end;

end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием