1、怎样实现按下一个按钮后,使第一个listbox里被选中的一行文本复制(或剪切)到第二个listbox里面?
2、怎样实现让ProgressBar像安装程序那样的从0到100显示进度?我设了定时器,但它是在1秒钟内从0一下就到100,不是渐进显示的。初学者,不要见笑,谢谢!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     i:integer;
    begin
     ProgressBar1.Step:=1;//设置步长。
     ProgressBar1.Min:=0;//设置起始值。
     ProgressBar1.Max:=100;//设置结束值。
     ProgressBar1.Smooth:=True;//平滑。
     for i:=0 to 100 do
     begin
      case i of
       0..100:ProgressBar1.FillColor:=clred;
      end;
      ProgressBar1.StepIt;
      sleep(100);
     end;
     form1.Hide;
     form2.show;
    end;或者:
    //for i:=0 to 100 do
    //begin
    //case i of
    //0..25:ProgressBar1.FillColor:=clred;//进度低于25%显示红色。
    //26..50:ProgressBar1.FillColor:=clblack;//进度25%~50%显示黑色。
    //51..75:ProgressBar1.FillColor:=clBlue;//进度51%~75%显示蓝色。
    //76..100:ProgressBar1.FillColor:=clYellow;//进度大于75%显示黄色。
    //end;
      

  2.   

    1、if listbox1.ItemIndex=-1 then
         Exit;
       if listbox2.Items.IndexOf(listbox1.Items.String[listbox1.ItemIndex])=-1 then
         listbox2.Items.Add(listbox1.Items.Strings[listbox1.ItemIndex])
    2、可能是因为操作太简单好时间太短,你可以在定时器ontime事件中添加sleep(1000);  1000为暂停时间