C:\Program Files\Borland\Delphi5\Help\example\Prgrsbar\pg1.pas
里面不是有使用的例子吗?

解决方案 »

  1.   

    ProgressBar.Min := 0;
    ProgressBar.Max := 100;if ProgressBar.Pregress < 100 then
      ProgressBar.Progress := ProgressBar.Progress + 1
    else
      ProgressBar.Progress := 0;
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      ComCtrls, StdCtrls, Psock, NMHttp, ExtCtrls, jpeg;type
      TForm1 = class(TForm)
        NMHTTP1: TNMHTTP;
        Button1: TButton;
        Label1: TLabel;
        edtURL: TEdit;
        StatusBar1: TStatusBar;
        Label2: TLabel;
        lblTemp: TLabel;
        Label4: TLabel;
        lblFinal: TLabel;
        ProgressBar1: TProgressBar;
        procedure Button1Click(Sender: TObject);
        procedure NMHTTP1Success(Cmd: CmdType);
        procedure NMHTTP1PacketRecvd(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    begin
        NMHTTP1.Get(edtURL.text);
    end;procedure TForm1.NMHTTP1Success(Cmd: CmdType);
    var
        fname:string;
        buf:string;
        pnewfile,poldfile:pchar;
        i:integer;
    begin
    {   Copyright (C) Bowman    }
    {   [email protected]  }
        //retrive the tmp file
        fname:=nmhttp1.body;
        //retrive file name
        for i:=length(edtURL.Text) downto 1 do
            if edtURL.text[i]<>'/' then
                buf:=edtURL.text[i]+buf
            else
                break;
        //assign file name
        Getmem(poldFile,length(fname)+1);
        StrPCopy(poldFile,fname);
        Getmem(pnewfile,length(buf)+1);
        StrPCopy(pnewfile,buf);
        //rename it
        MoveFile(poldfile,pnewfile);
        Freemem(poldfile);
        Freemem(pnewfile);
        //show infomation
        statusbar1.Panels.Items[0].text:='download complete';
        lblTemp.caption:= fname;
        lblFinal.Caption:=buf;
    end;procedure TForm1.NMHTTP1PacketRecvd(Sender: TObject);
    begin
        //show progress
         ProgressBar1.Position :=
            Round( NMHTTP1.BytesRecvd /NMHTTP1.BytesTotal)*100;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
        //init progress
        ProgressBar1.Min:=0;
        ProgressBar1.Max:=100;
        ProgressBar1.Position:=0;
        //NMHTTP property
        //store in file
         NMHTTP1.InputFileMode:= TRUE;
         NMHTTP1.TimeOut:=2000;
         //set temp file name
         NMHTTP1.Body:='Part.tmp';
         NMHTTP1.Header:='Head.tmp'; 
    end;end.