onwork
onworkbegin
onworkend
怎么在这3个事件里写  文件是否正在下载中  false true
                     文件是否下载完毕 
procedure TForm1.Button1Click(Sender: TObject);
var
  h:TIdhttp;
  MyStream:TMemoryStream;
begin
  MyStream:=TMemoryStream.Create;
  h:=Tidhttp.Create(nil);
  try
    h.get('http://down.360safe.com/inst.exe',MyStream);  except
    showmessage('网络出错!');
    MyStream.Free;
    exit;
  end;
  MyStream.SaveToFile('c:\1.exe');
  MyStream.Free;
end;请给出源代码判断文件是否正在下载中,文件是否下载完毕

解决方案 »

  1.   

    自己都已经把事件都写出来了,还要问,onwork中表示下载过程中,如果出发了onworkend就表示顺利完成
      

  2.   

    procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    begin
      Memo1.Lines.Add('下载中')
    end;procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
    begin
      Memo1.Lines.Add('下载完毕');
    end;我把这写进事件里  MEMO完全没反映啊
      

  3.   


    http://down.360safe.com/inst.exe  已经下载完毕,成功下载到了C盘.但是WORK事件就是没反映  
      

  4.   

    看了下IDNY的源码, 那三个事件是这么写的.published
        property OnWork;
        property OnWorkBegin;
        property OnWorkEnd;var
      h:TIdhttp;
      MyStream:TMemoryStream;
    begin
      MyStream:=TMemoryStream.Create;
      h:=Tidhttp.Create(nil);
      H.OnWork := IdHTTP1WorkBegin;  
      try
        h.get('http://down.360safe.com/inst.exe',MyStream);  except
        showmessage('网络出错!');
        MyStream.Free;
        exit;
      end;
      MyStream.SaveToFile('c:\1.exe');
      MyStream.Free;
    end;procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    begin
      Memo1.Lines.Add('下载中')
    end;
    这下应该可以看到效果了,其他俩个类同
      

  5.   

    H.OnWork := IdHTTP1WorkBegin;  
    要自己加上去,