本人菜鸟,首先声明,问的问题也比较菜,大家别笑。
点击打开后RICHEDIT会显示我指定路径的文件,我想用progressbar来显示文件的打开进度应该要如何完成,也就是让progressbar与RICHEDIT关联起来并progressbar显示出进度吧?(注:不用十分精确)
请大家教下应该要改修哪些东西,谢谢!

解决方案 »

  1.   

    如果要用progressbar来显示进度,那你打开文件只能每次读几行,根据总的行数来除,显示进度,直接richedit.lines.loadfromfile是不能关联进度的
      

  2.   

    如果只是要显示效果而不是速度的话可以这样写:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        redt1: TRichEdit;
        pb1: TProgressBar;
        btn1: TButton;
        dlgOpen1: TOpenDialog;
        procedure btn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);
    var
      AFile : TStringList;
      i : Integer;
    begin
       if dlgOpen1.Execute then
       begin
         try
           AFile := TStringList.Create;
           AFile.LoadFromFile(dlgOpen1.FileName);
           pb1.Max := AFile.Count;
           pb1.StepBy(1);
           for i:=0 to AFile.Count-1 do
           begin
             Application.ProcessMessages;
             redt1.Lines.Add(AFile[i]);
             pb1.StepIt;
           end;
         finally
           FreeAndNil(AFile);
         end;
       end;
    end;end.
      

  3.   

    musa2008测试已通过,谢谢大家解答!