当我按button时,数字开始滚动,当按button2的时候,数字停止,请问需要什么控件?

解决方案 »

  1.   

    how to do?I想制作成数据可以滚动变化的,那种
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Timer1: TTimer;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        procedure Timer1Timer(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
        FCurrIndex: Integer;
        FNextIndex: Integer;
        FPrevIndex: Integer;
        FRandList: TStringList;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      if FCurrIndex >= FRandList.Count - 1 then
        FNextIndex := 0
      else FNextIndex := FCurrIndex + 1;
      Label1.Caption := FRandList[FPrevIndex];
      Label2.Caption := FRandList[FCurrIndex];
      Label3.Caption := FRandList[FNextIndex];
      FPrevIndex := FCurrIndex;
      FCurrIndex := FNextIndex;
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      FRandList := TStringList.Create;
      Randomize;  ///////Begin Test
      for I := 1 to 100 do
        FRandList.Add(Format('%.16f', [Random]));
      ///////End Test
      { TODO : 载入数字到FRandList中 }  FPrevIndex := Random(FRandList.Count);
      if FPrevIndex >= FRandList.Count - 1 then
        FCurrIndex := 0
      else FCurrIndex := FPrevIndex + 1;  Timer1Timer(Timer1);
      Timer1.Interval := 100;
      Timer1.Enabled := False;
      Label2.Color := clRed;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Timer1.Enabled := not Timer1.Enabled;
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      FRandList.Free;
    end;end.